It was reported that some perf event setup can make fork failed on
ARM64. It was the case of a group of mixed hw and sw events and it
failed in perf_event_init_task() due to armpmu_event_init().
The ARM PMU code checks if all the events in a group belong to the
same PMU except for software events. But it didn't set the event_caps
of inherited events and no longer identify them as software events.
Therefore the test failed in a child process.
A simple reproducer is:
$ perf stat -e '{cycles,cs,instructions}' perf bench sched messaging
# Running 'sched/messaging' benchmark:
perf: fork(): Invalid argument
The perf stat was fine but the perf bench failed in fork(). Let's
inherit the event caps from the parent.
Cc: Will Deacon <will(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Marco Elver <elver(a)google.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Namhyung Kim <namhyung(a)kernel.org>
---
kernel/events/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index afbf388a5176..5baf7f981f23 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -11622,6 +11622,9 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
event->state = PERF_EVENT_STATE_INACTIVE;
+ if (parent_event)
+ event->event_caps = parent_event->event_caps;
+
if (event->attr.sigtrap)
atomic_set(&event->event_limit, 1);
--
2.35.1.1021.g381101b075-goog
From: Kan Liang <kan.liang(a)linux.intel.com>
The INST_RETIRED.PREC_DIST event (0x0100) doesn't count on SPR.
perf stat -e cpu/event=0xc0,umask=0x0/,cpu/event=0x0,umask=0x1/ -C0
Performance counter stats for 'CPU(s) 0':
607,246 cpu/event=0xc0,umask=0x0/
0 cpu/event=0x0,umask=0x1/
The encoding for INST_RETIRED.PREC_DIST is pseudo-encoding, which
doesn't work on the generic counters. However, current perf extends its
mask to the generic counters.
The pseudo event-code for a fixed counter must be 0x00. Check and avoid
extending the mask for the fixed counter event which using the
pseudo-encoding, e.g., ref-cycles and PREC_DIST event.
With the patch,
perf stat -e cpu/event=0xc0,umask=0x0/,cpu/event=0x0,umask=0x1/ -C0
Performance counter stats for 'CPU(s) 0':
583,184 cpu/event=0xc0,umask=0x0/
583,048 cpu/event=0x0,umask=0x1/
Fixes: 2de71ee153ef ("perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings")
Signed-off-by: Kan Liang <kan.liang(a)linux.intel.com>
Cc: stable(a)vger.kernel.org
---
arch/x86/events/intel/core.c | 6 +++++-
arch/x86/include/asm/perf_event.h | 5 +++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index db32ef6..1d2e49d 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -5668,7 +5668,11 @@ static void intel_pmu_check_event_constraints(struct event_constraint *event_con
/* Disabled fixed counters which are not in CPUID */
c->idxmsk64 &= intel_ctrl;
- if (c->idxmsk64 != INTEL_PMC_MSK_FIXED_REF_CYCLES)
+ /*
+ * Don't extend the pseudo-encoding to the
+ * generic counters
+ */
+ if (!use_fixed_pseudo_encoding(c->code))
c->idxmsk64 |= (1ULL << num_counters) - 1;
}
c->idxmsk64 &=
diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h
index 48e6ef56..cd85f03 100644
--- a/arch/x86/include/asm/perf_event.h
+++ b/arch/x86/include/asm/perf_event.h
@@ -242,6 +242,11 @@ struct x86_pmu_capability {
#define INTEL_PMC_IDX_FIXED_SLOTS (INTEL_PMC_IDX_FIXED + 3)
#define INTEL_PMC_MSK_FIXED_SLOTS (1ULL << INTEL_PMC_IDX_FIXED_SLOTS)
+static inline bool use_fixed_pseudo_encoding(u64 code)
+{
+ return !(code & 0xff);
+}
+
/*
* We model BTS tracing as another fixed-mode PMC.
*
--
2.7.4
stable-rc/queue/4.19 build: 204 builds: 20 failed, 184 passed, 576 errors, 56 warnings (v4.19.237-256-g0886c3c931bb)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/queue%2F4.19/kernel/v4.19.237-2…
Tree: stable-rc
Branch: queue/4.19
Git Describe: v4.19.237-256-g0886c3c931bb
Git Commit: 0886c3c931bb98ce9cc0eb841c6f234b4f29459d
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 7 unique architectures
Build Failures Detected:
arc:
allnoconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
arm64:
allnoconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
arm:
allnoconfig: (gcc-10) FAIL
mps2_defconfig: (gcc-10) FAIL
rpc_defconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
xcep_defconfig: (gcc-10) FAIL
i386:
allnoconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
mips:
allnoconfig: (gcc-10) FAIL
ip27_defconfig: (gcc-10) FAIL
ip28_defconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
riscv:
allnoconfig: (gcc-10) FAIL
defconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
x86_64:
allnoconfig: (gcc-10) FAIL
tinyconfig: (gcc-10) FAIL
Errors and Warnings Detected:
arc:
allnoconfig (gcc-10): 18 errors
tinyconfig (gcc-10): 27 errors
arm64:
allnoconfig (gcc-10): 22 errors
defconfig (gcc-10): 3 warnings
defconfig+arm64-chromebook (gcc-10): 3 warnings
tinyconfig (gcc-10): 34 errors
arm:
allnoconfig (gcc-10): 26 errors
mps2_defconfig (gcc-10): 40 errors
omap1_defconfig (gcc-10): 1 warning
rpc_defconfig (gcc-10): 2 errors
tinyconfig (gcc-10): 40 errors
xcep_defconfig (gcc-10): 20 errors
i386:
allnoconfig (gcc-10): 44 errors, 3 warnings
i386_defconfig (gcc-10): 2 warnings
tinyconfig (gcc-10): 57 errors, 4 warnings
mips:
allnoconfig (gcc-10): 39 errors
lemote2f_defconfig (gcc-10): 1 warning
loongson3_defconfig (gcc-10): 1 warning
malta_qemu_32r6_defconfig (gcc-10): 1 warning
mtx1_defconfig (gcc-10): 3 warnings
nlm_xlp_defconfig (gcc-10): 1 warning
tinyconfig (gcc-10): 26 errors
riscv:
allnoconfig (gcc-10): 54 errors
tinyconfig (gcc-10): 54 errors
x86_64:
allnoconfig (gcc-10): 29 errors, 11 warnings
tinyconfig (gcc-10): 44 errors, 16 warnings
x86_64_defconfig (gcc-10): 3 warnings
x86_64_defconfig+x86-chromebook (gcc-10): 3 warnings
Errors summary:
182 include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
38 include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
38 include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
38 include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
38 include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
38 include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
38 include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
37 include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
12 include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
12 arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
12 arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
12 arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
12 arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
10 include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
9 include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
6 arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
6 arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
5 include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
5 include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
5 include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
5 include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
5 include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
5 include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
5 include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
1 include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function); did you mean ‘COMPACT_COMPLETE’?
1 arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv3
1 arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
Warnings summary:
12 include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
6 aarch64-linux-gnu-ld: warning: -z norelro ignored
5 arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
5 arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
5 arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
5 arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
4 arch/x86/entry/entry_64.S:1738: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
3 ld: warning: creating DT_TEXTREL in a PIE
2 sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
2 net/core/rtnetlink.c:3199:1: warning: the frame size of 1328 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2 ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
1 {standard input}:132: Warning: macro instruction expanded into multiple instructions
1 sound/pci/echoaudio/echoaudio_dsp.c:658:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
1 net/core/rtnetlink.c:3199:1: warning: the frame size of 1344 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
1 drivers/gpio/gpio-omap.c:1233:34: warning: array ‘omap_gpio_match’ assumed to have one element
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
32r2el_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
acs5k_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (mips, gcc-10) — FAIL, 39 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
allnoconfig (riscv, gcc-10) — FAIL, 54 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
allnoconfig (arm64, gcc-10) — FAIL, 22 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
allnoconfig (arm, gcc-10) — FAIL, 26 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
allnoconfig (x86_64, gcc-10) — FAIL, 29 errors, 11 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
Warnings:
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/entry/entry_64.S:1738: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
--------------------------------------------------------------------------------
allnoconfig (i386, gcc-10) — FAIL, 44 errors, 3 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
Warnings:
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
--------------------------------------------------------------------------------
allnoconfig (arc, gcc-10) — FAIL, 18 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ar7_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
aspeed_g4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
aspeed_g5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
assabet_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
at91_dt_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ath25_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ath79_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axm55xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axs103_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axs103_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
badge4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm2835_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bigsur_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bmips_be_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bmips_stb_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
capcella_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cerfcube_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ci20_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cm_x300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cobalt_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
collie_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
corgi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
davinci_all_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
db1xxx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
decstation_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (riscv, gcc-10) — FAIL, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (arm64, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: warning: -z norelro ignored
--------------------------------------------------------------------------------
defconfig+arm64-chromebook (arm64, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: warning: -z norelro ignored
--------------------------------------------------------------------------------
dove_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
e55_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
efm32_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
em_x270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ep93xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
exynos_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ezx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
footbridge_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gcw0_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gemini_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gpr_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h3600_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h5000_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
hackkit_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
haps_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
haps_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
hisi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
hsdk_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
i386_defconfig (i386, gcc-10) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
ld: arch/x86/boot/compressed/head_32.o: warning: relocation in read-only section `.head.text'
ld: warning: creating DT_TEXTREL in a PIE
--------------------------------------------------------------------------------
imote2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
integrator_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop13xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop32x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop33x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip22_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip27_defconfig (mips, gcc-10) — FAIL, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip28_defconfig (mips, gcc-10) — FAIL, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip32_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jazz_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jmr3927_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jornada720_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
keystone_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ks8695_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lart_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lasat_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lemote2f_defconfig (mips, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/core/rtnetlink.c:3199:1: warning: the frame size of 1328 bytes is larger than 1024 bytes [-Wframe-larger-than=]
--------------------------------------------------------------------------------
loongson1b_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson1c_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson3_defconfig (mips, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/core/rtnetlink.c:3199:1: warning: the frame size of 1328 bytes is larger than 1024 bytes [-Wframe-larger-than=]
--------------------------------------------------------------------------------
lpc18xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpd270_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
magician_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mainstone_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_qemu_32r6_defconfig (mips, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
{standard input}:132: Warning: macro instruction expanded into multiple instructions
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaup_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaup_xpa_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
markeins_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mini2440_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mmp2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
moxart_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mpc30x_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mps2_defconfig (arm, gcc-10) — FAIL, 40 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
msp71xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mtx1_defconfig (mips, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
sound/pci/echoaudio/echoaudio_dsp.c:658:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
sound/pci/echoaudio/echoaudio_dsp.c:647:9: warning: iteration 1073741824 invokes undefined behavior [-Waggressive-loop-optimizations]
--------------------------------------------------------------------------------
multi_v4t_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mxs_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
neponset_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
netwinder_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
netx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nhk8815_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/core/rtnetlink.c:3199:1: warning: the frame size of 1344 bytes is larger than 1024 bytes [-Wframe-larger-than=]
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nsim_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nsim_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nsimosci_hs_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nsimosci_hs_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc910_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc950_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc960_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
omap1_defconfig (arm, gcc-10) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
drivers/gpio/gpio-omap.c:1233:34: warning: array ‘omap_gpio_match’ assumed to have one element
--------------------------------------------------------------------------------
omap2plus_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
omega2p_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
orion5x_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
oxnas_v6_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
palmz72_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pcm027_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pic32mzda_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pistachio_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pleb_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
prima2_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa168_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa910_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
qcom_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
raumfeld_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rb532_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
realview_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rm200_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rpc_defconfig (arm, gcc-10) — FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv3
arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
--------------------------------------------------------------------------------
rt305x_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c2410_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c6400_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s5pv210_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sama5_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shannon_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shmobile_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
simpad_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
socfpga_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear13xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear3xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear6xx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spitz_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
stm32_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sunxi_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tango4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0219_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0226_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0287_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tegra_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (arc, gcc-10) — FAIL, 27 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:145:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:20: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:309:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function)
include/linux/blk-mq.h:319:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
include/linux/blk-mq.h:323:12: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:336:8: error: invalid use of undefined type 'struct request'
include/linux/blk-mq.h:337:5: error: invalid use of undefined type 'struct request'
--------------------------------------------------------------------------------
tinyconfig (i386, gcc-10) — FAIL, 57 errors, 4 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function); did you mean ‘COMPACT_COMPLETE’?
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
Warnings:
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
--------------------------------------------------------------------------------
tinyconfig (arm64, gcc-10) — FAIL, 34 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
tinyconfig (arm, gcc-10) — FAIL, 40 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
tinyconfig (riscv, gcc-10) — FAIL, 54 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
arch/riscv/include/asm/cmpxchg.h:326:41: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/riscv/include/asm/cmpxchg.h:338:41: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
tinyconfig (mips, gcc-10) — FAIL, 26 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
tinyconfig (x86_64, gcc-10) — FAIL, 44 errors, 16 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:62:18: error: field ‘kobj’ has incomplete type
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/asm-generic/atomic-instrumented.h:421:37: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:87:13: error: invalid type argument of unary ‘*’ (have ‘int’)
arch/x86/include/asm/cmpxchg.h:88:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:89:13: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
arch/x86/include/asm/cmpxchg.h:149:34: error: invalid type argument of unary ‘*’ (have ‘int’)
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
Warnings:
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/entry/entry_64.S:1738: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
include/asm-generic/atomic-instrumented.h:421:20: warning: passing argument 1 of ‘kasan_check_write’ makes pointer from integer without a cast [-Wint-conversion]
arch/x86/include/asm/cmpxchg.h:93:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:102:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:111:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/include/asm/cmpxchg.h:120:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
--------------------------------------------------------------------------------
trizeps4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
u300_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
u8500_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vdk_hs38_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vdk_hs38_smp_defconfig (arc, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
versatile_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vexpress_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vf610m4_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
viper_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vocore2_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
workpad_defconfig (mips, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
x86_64_defconfig (x86_64, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/entry/entry_64.S:1738: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
ld: warning: creating DT_TEXTREL in a PIE
--------------------------------------------------------------------------------
x86_64_defconfig+x86-chromebook (x86_64, gcc-10) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/entry/entry_64.S:1738: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret'
ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
ld: warning: creating DT_TEXTREL in a PIE
--------------------------------------------------------------------------------
xcep_defconfig (arm, gcc-10) — FAIL, 20 errors, 0 warnings, 0 section mismatches
Errors:
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:145:2: error: unknown type name ‘softirq_done_fn’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:309:29: error: ‘MQ_RQ_IN_FLIGHT’ undeclared (first use in this function)
include/linux/blk-mq.h:309:46: error: ‘MQ_RQ_COMPLETE’ undeclared (first use in this function)
include/linux/blk-mq.h:309:20: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:319:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct request’
include/linux/blk-mq.h:323:12: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:336:8: error: invalid use of undefined type ‘struct request’
include/linux/blk-mq.h:337:5: error: invalid use of undefined type ‘struct request’
--------------------------------------------------------------------------------
zeus_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zx_defconfig (arm, gcc-10) — PASS, 0 errors, 0 warnings, 0 section mismatches
---
For more info write to <info(a)kernelci.org>
commit 031495635b4668f94e964e037ca93d0d38bfde58 upstream.
The following patches resulted in deferring crash kernel reservation to
mem_init(), mainly aimed at platforms with DMA memory zones (no IOMMU),
in particular Raspberry Pi 4.
commit 1a8e1cef7603 ("arm64: use both ZONE_DMA and ZONE_DMA32")
commit 8424ecdde7df ("arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges")
commit 0a30c53573b0 ("arm64: mm: Move reserve_crashkernel() into mem_init()")
commit 2687275a5843 ("arm64: Force NO_BLOCK_MAPPINGS if crashkernel reservation is required")
Above changes introduced boot slowdown due to linear map creation for
all the memory banks with NO_BLOCK_MAPPINGS, see discussion[1]. The proposed
changes restore crash kernel reservation to earlier behavior thus avoids
slow boot, particularly for platforms with IOMMU (no DMA memory zones).
Tested changes to confirm no ~150ms boot slowdown on our SoC with IOMMU
and 8GB memory. Also tested with ZONE_DMA and/or ZONE_DMA32 configs to confirm
no regression to deferring scheme of crash kernel memory reservation.
In both cases successfully collected kernel crash dump.
[1] https://lore.kernel.org/all/9436d033-579b-55fa-9b00-6f4b661c2dd7@linux.micr…
Signed-off-by: Vijay Balakrishna <vijayb(a)linux.microsoft.com>
Cc: stable(a)vger.kernel.org
Reviewed-by: Pasha Tatashin <pasha.tatashin(a)soleen.com>
Link: https://lore.kernel.org/r/1646242689-20744-1-git-send-email-vijayb@linux.mi…
[will: Add #ifdef CONFIG_KEXEC_CORE guards to fix 'crashk_res' references in allnoconfig build]
Signed-off-by: Will Deacon <will(a)kernel.org>
---
arch/arm64/mm/init.c | 36 ++++++++++++++++++++++++++++++++----
arch/arm64/mm/mmu.c | 32 +++++++++++++++++++++++++++++++-
2 files changed, 63 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index c0a7f0d90b39..80cc79760e8e 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -58,8 +58,34 @@ EXPORT_SYMBOL(memstart_addr);
* unless restricted on specific platforms (e.g. 30-bit on Raspberry Pi 4).
* In such case, ZONE_DMA32 covers the rest of the 32-bit addressable memory,
* otherwise it is empty.
+ *
+ * Memory reservation for crash kernel either done early or deferred
+ * depending on DMA memory zones configs (ZONE_DMA) --
+ *
+ * In absence of ZONE_DMA configs arm64_dma_phys_limit initialized
+ * here instead of max_zone_phys(). This lets early reservation of
+ * crash kernel memory which has a dependency on arm64_dma_phys_limit.
+ * Reserving memory early for crash kernel allows linear creation of block
+ * mappings (greater than page-granularity) for all the memory bank rangs.
+ * In this scheme a comparatively quicker boot is observed.
+ *
+ * If ZONE_DMA configs are defined, crash kernel memory reservation
+ * is delayed until DMA zone memory range size initilazation performed in
+ * zone_sizes_init(). The defer is necessary to steer clear of DMA zone
+ * memory range to avoid overlap allocation. So crash kernel memory boundaries
+ * are not known when mapping all bank memory ranges, which otherwise means
+ * not possible to exclude crash kernel range from creating block mappings
+ * so page-granularity mappings are created for the entire memory range.
+ * Hence a slightly slower boot is observed.
+ *
+ * Note: Page-granularity mapppings are necessary for crash kernel memory
+ * range for shrinking its size via /sys/kernel/kexec_crash_size interface.
*/
-phys_addr_t arm64_dma_phys_limit __ro_after_init;
+#if IS_ENABLED(CONFIG_ZONE_DMA) || IS_ENABLED(CONFIG_ZONE_DMA32)
+phys_addr_t __ro_after_init arm64_dma_phys_limit;
+#else
+phys_addr_t __ro_after_init arm64_dma_phys_limit = PHYS_MASK + 1;
+#endif
#ifdef CONFIG_KEXEC_CORE
/*
@@ -210,8 +236,6 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
if (!arm64_dma_phys_limit)
arm64_dma_phys_limit = dma32_phys_limit;
#endif
- if (!arm64_dma_phys_limit)
- arm64_dma_phys_limit = PHYS_MASK + 1;
max_zone_pfns[ZONE_NORMAL] = max;
free_area_init(max_zone_pfns);
@@ -407,6 +431,9 @@ void __init arm64_memblock_init(void)
reserve_elfcorehdr();
+ if (!IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32))
+ reserve_crashkernel();
+
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
}
@@ -451,7 +478,8 @@ void __init bootmem_init(void)
* request_standard_resources() depends on crashkernel's memory being
* reserved, so do it here.
*/
- reserve_crashkernel();
+ if (IS_ENABLED(CONFIG_ZONE_DMA) || IS_ENABLED(CONFIG_ZONE_DMA32))
+ reserve_crashkernel();
memblock_dump_all();
}
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 991e599f7057..993be1e31c49 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -492,7 +492,7 @@ static void __init map_mem(pgd_t *pgdp)
int flags = 0;
u64 i;
- if (rodata_full || crash_mem_map || debug_pagealloc_enabled())
+ if (rodata_full || debug_pagealloc_enabled())
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
/*
@@ -503,6 +503,17 @@ static void __init map_mem(pgd_t *pgdp)
*/
memblock_mark_nomap(kernel_start, kernel_end - kernel_start);
+#ifdef CONFIG_KEXEC_CORE
+ if (crash_mem_map) {
+ if (IS_ENABLED(CONFIG_ZONE_DMA) ||
+ IS_ENABLED(CONFIG_ZONE_DMA32))
+ flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
+ else if (crashk_res.end)
+ memblock_mark_nomap(crashk_res.start,
+ resource_size(&crashk_res));
+ }
+#endif
+
/* map all the memory banks */
for_each_mem_range(i, &start, &end) {
if (start >= end)
@@ -529,6 +540,25 @@ static void __init map_mem(pgd_t *pgdp)
__map_memblock(pgdp, kernel_start, kernel_end,
PAGE_KERNEL, NO_CONT_MAPPINGS);
memblock_clear_nomap(kernel_start, kernel_end - kernel_start);
+
+ /*
+ * Use page-level mappings here so that we can shrink the region
+ * in page granularity and put back unused memory to buddy system
+ * through /sys/kernel/kexec_crash_size interface.
+ */
+#ifdef CONFIG_KEXEC_CORE
+ if (crash_mem_map &&
+ !IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32)) {
+ if (crashk_res.end) {
+ __map_memblock(pgdp, crashk_res.start,
+ crashk_res.end + 1,
+ PAGE_KERNEL,
+ NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS);
+ memblock_clear_nomap(crashk_res.start,
+ resource_size(&crashk_res));
+ }
+ }
+#endif
}
void mark_rodata_ro(void)
--
2.35.1
commit 2a8859f373b0a86f0ece8ec8312607eacf12485d upstream.
FNAME(cmpxchg_gpte) is an inefficient mess. It is at least decent if it
can go through get_user_pages_fast(), but if it cannot then it tries to
use memremap(); that is not just terribly slow, it is also wrong because
it assumes that the VM_PFNMAP VMA is contiguous.
The right way to do it would be to do the same thing as
hva_to_pfn_remapped() does since commit add6a0cd1c5b ("KVM: MMU: try to
fix up page faults before giving up", 2016-07-05), using follow_pte()
and fixup_user_fault() to determine the correct address to use for
memremap(). To do this, one could for example extract hva_to_pfn()
for use outside virt/kvm/kvm_main.c. But really there is no reason to
do that either, because there is already a perfectly valid address to
do the cmpxchg() on, only it is a userspace address. That means doing
user_access_begin()/user_access_end() and writing the code in assembly
to handle any exception correctly. Worse, the guest PTE can be 8-byte
even on i686 so there is the extra complication of using cmpxchg8b to
account for. But at least it is an efficient mess.
Reported-by: Qiuhao Li <qiuhao(a)sysec.org>
Reported-by: Gaoning Pan <pgn(a)zju.edu.cn>
Reported-by: Yongkang Jia <kangel(a)zju.edu.cn>
Reported-by: syzbot+6cde2282daa792c49ab8(a)syzkaller.appspotmail.com
Debugged-by: Tadeusz Struk <tadeusz.struk(a)linaro.org>
Tested-by: Maxim Levitsky <mlevitsk(a)redhat.com>
Cc: stable(a)vger.kernel.org
Fixes: bd53cb35a3e9 ("X86/KVM: Handle PFNs outside of kernel reach when touching GPTEs")
Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
---
arch/x86/kvm/paging_tmpl.h | 77 ++++++++++++++++++--------------------
1 file changed, 37 insertions(+), 40 deletions(-)
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 97b21e7fd013..13b5c424adb2 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -34,9 +34,8 @@
#define PT_HAVE_ACCESSED_DIRTY(mmu) true
#ifdef CONFIG_X86_64
#define PT_MAX_FULL_LEVELS PT64_ROOT_MAX_LEVEL
- #define CMPXCHG cmpxchg
+ #define CMPXCHG "cmpxchgq"
#else
- #define CMPXCHG cmpxchg64
#define PT_MAX_FULL_LEVELS 2
#endif
#elif PTTYPE == 32
@@ -52,7 +51,7 @@
#define PT_GUEST_DIRTY_SHIFT PT_DIRTY_SHIFT
#define PT_GUEST_ACCESSED_SHIFT PT_ACCESSED_SHIFT
#define PT_HAVE_ACCESSED_DIRTY(mmu) true
- #define CMPXCHG cmpxchg
+ #define CMPXCHG "cmpxchgl"
#elif PTTYPE == PTTYPE_EPT
#define pt_element_t u64
#define guest_walker guest_walkerEPT
@@ -65,8 +64,10 @@
#define PT_GUEST_DIRTY_SHIFT 9
#define PT_GUEST_ACCESSED_SHIFT 8
#define PT_HAVE_ACCESSED_DIRTY(mmu) ((mmu)->ept_ad)
- #define CMPXCHG cmpxchg64
#define PT_MAX_FULL_LEVELS 4
+ #ifdef CONFIG_X86_64
+ #define CMPXCHG "cmpxchgq"
+ #endif
#else
#error Invalid PTTYPE value
#endif
@@ -132,43 +133,39 @@ static int FNAME(cmpxchg_gpte)(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
pt_element_t __user *ptep_user, unsigned index,
pt_element_t orig_pte, pt_element_t new_pte)
{
- int npages;
- pt_element_t ret;
- pt_element_t *table;
- struct page *page;
-
- npages = get_user_pages_fast((unsigned long)ptep_user, 1, FOLL_WRITE, &page);
- if (likely(npages == 1)) {
- table = kmap_atomic(page);
- ret = CMPXCHG(&table[index], orig_pte, new_pte);
- kunmap_atomic(table);
-
- kvm_release_page_dirty(page);
- } else {
- struct vm_area_struct *vma;
- unsigned long vaddr = (unsigned long)ptep_user & PAGE_MASK;
- unsigned long pfn;
- unsigned long paddr;
-
- down_read(¤t->mm->mmap_sem);
- vma = find_vma_intersection(current->mm, vaddr, vaddr + PAGE_SIZE);
- if (!vma || !(vma->vm_flags & VM_PFNMAP)) {
- up_read(¤t->mm->mmap_sem);
- return -EFAULT;
- }
- pfn = ((vaddr - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
- paddr = pfn << PAGE_SHIFT;
- table = memremap(paddr, PAGE_SIZE, MEMREMAP_WB);
- if (!table) {
- up_read(¤t->mm->mmap_sem);
- return -EFAULT;
- }
- ret = CMPXCHG(&table[index], orig_pte, new_pte);
- memunmap(table);
- up_read(¤t->mm->mmap_sem);
- }
+ int r = -EFAULT;
+
+ if (!user_access_begin(ptep_user, sizeof(pt_element_t)))
+ return -EFAULT;
+
+#ifdef CMPXCHG
+ asm volatile("1:" LOCK_PREFIX CMPXCHG " %[new], %[ptr]\n"
+ "mov $0, %[r]\n"
+ "setnz %b[r]\n"
+ "2:"
+ _ASM_EXTABLE_UA(1b, 2b)
+ : [ptr] "+m" (*ptep_user),
+ [old] "+a" (orig_pte),
+ [r] "+q" (r)
+ : [new] "r" (new_pte)
+ : "memory");
+#else
+ asm volatile("1:" LOCK_PREFIX "cmpxchg8b %[ptr]\n"
+ "movl $0, %[r]\n"
+ "jz 2f\n"
+ "incl %[r]\n"
+ "2:"
+ _ASM_EXTABLE_UA(1b, 2b)
+ : [ptr] "+m" (*ptep_user),
+ [old] "+A" (orig_pte),
+ [r] "+rm" (r)
+ : [new_lo] "b" ((u32)new_pte),
+ [new_hi] "c" ((u32)(new_pte >> 32))
+ : "memory");
+#endif
- return (ret != orig_pte);
+ user_access_end();
+ return r;
}
static bool FNAME(prefetch_invalid_gpte)(struct kvm_vcpu *vcpu,
--
2.31.1