[mhiramat:kprobes/fixes 2/3] include/asm-generic/bug.h:99:17: error: too few arguments to function '__warn_printk'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git kprobes/fixes
head: dfa160b26549af888185cb9d3001b577ce755dd3
commit: 9eb569267490d4537bd3ea1819f6cdfc03e986be [2/3] powerpc/kprobes: Fix alloc_optinsn_page() to use all area of optinsn_slot
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20220114/202201141214.4SkSLX9S-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git/commit...
git remote add mhiramat https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git
git fetch --no-tags mhiramat kprobes/fixes
git checkout 9eb569267490d4537bd3ea1819f6cdfc03e986be
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/bug.h:149,
from include/linux/bug.h:5,
from arch/powerpc/include/asm/cmpxchg.h:8,
from arch/powerpc/include/asm/atomic.h:11,
from include/linux/atomic.h:7,
from include/linux/cpumask.h:13,
from include/linux/smp.h:13,
from include/linux/lockdep.h:14,
from include/linux/mutex.h:17,
from include/linux/notifier.h:14,
from include/linux/kprobes.h:21,
from arch/powerpc/kernel/optprobes.c:8:
arch/powerpc/kernel/optprobes.c: In function 'free_optinsn_page':
>> include/asm-generic/bug.h:99:17: error: too few arguments to function '__warn_printk'
99 | __warn_printk(arg); \
| ^~~~~~~~~~~~~
include/asm-generic/bug.h:132:17: note: in expansion of macro '__WARN_printf'
132 | __WARN_printf(TAINT_WARN, format); \
| ^~~~~~~~~~~~~
include/linux/once_lite.h:19:25: note: in expansion of macro 'WARN'
19 | func(__VA_ARGS__); \
| ^~~~
include/asm-generic/bug.h:150:9: note: in expansion of macro 'DO_ONCE_LITE_IF'
150 | DO_ONCE_LITE_IF(condition, WARN, 1, format)
| ^~~~~~~~~~~~~~~
arch/powerpc/kernel/optprobes.c:49:9: note: in expansion of macro 'WARN_ONCE'
49 | WARN_ONCE(idx & (PAGE_SIZE - 1));
| ^~~~~~~~~
include/asm-generic/bug.h:95:28: note: declared here
95 | extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
| ^~~~~~~~~~~~~
>> include/asm-generic/bug.h:99:17: error: too few arguments to function '__warn_printk'
99 | __warn_printk(arg); \
| ^~~~~~~~~~~~~
include/asm-generic/bug.h:132:17: note: in expansion of macro '__WARN_printf'
132 | __WARN_printf(TAINT_WARN, format); \
| ^~~~~~~~~~~~~
include/linux/once_lite.h:19:25: note: in expansion of macro 'WARN'
19 | func(__VA_ARGS__); \
| ^~~~
include/asm-generic/bug.h:150:9: note: in expansion of macro 'DO_ONCE_LITE_IF'
150 | DO_ONCE_LITE_IF(condition, WARN, 1, format)
| ^~~~~~~~~~~~~~~
arch/powerpc/kernel/optprobes.c:51:13: note: in expansion of macro 'WARN_ONCE'
51 | if (WARN_ONCE(idx >= OPTINSN_SLOT_PAGES))
| ^~~~~~~~~
include/asm-generic/bug.h:95:28: note: declared here
95 | extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
| ^~~~~~~~~~~~~
vim +/__warn_printk +99 include/asm-generic/bug.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 67
af9379c7121d55 David Brownell 2009-01-06 68 /*
af9379c7121d55 David Brownell 2009-01-06 69 * WARN(), WARN_ON(), WARN_ON_ONCE, and so on can be used to report
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 70 * significant kernel issues that need prompt attention if they should ever
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 71 * appear at runtime.
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 72 *
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 73 * Do not use these macros when checking for invalid external inputs
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 74 * (e.g. invalid system call arguments, or invalid data coming from
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 75 * network/devices), and on transient conditions like ENOMEM or EAGAIN.
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 76 * These macros should be used for recoverable kernel issues only.
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 77 * For invalid external inputs, transient conditions, etc use
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 78 * pr_err[_once/_ratelimited]() followed by dump_stack(), if necessary.
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 79 * Do not include "BUG"/"WARNING" in format strings manually to make these
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 80 * conditions distinguishable from kernel issues.
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 81 *
96c6a32ccb55a3 Dmitry Vyukov 2018-08-21 82 * Use the versions with printk format strings to provide better diagnostics.
af9379c7121d55 David Brownell 2009-01-06 83 */
d4bce140b4e739 Kees Cook 2019-09-25 84 #ifndef __WARN_FLAGS
b9075fa968a0a4 Joe Perches 2011-10-31 85 extern __printf(4, 5)
ee8711336c5170 Kees Cook 2019-09-25 86 void warn_slowpath_fmt(const char *file, const int line, unsigned taint,
b9075fa968a0a4 Joe Perches 2011-10-31 87 const char *fmt, ...);
f2f84b05e02b77 Kees Cook 2019-09-25 88 #define __WARN() __WARN_printf(TAINT_WARN, NULL)
5916d5f9b33473 Thomas Gleixner 2020-03-13 89 #define __WARN_printf(taint, arg...) do { \
5916d5f9b33473 Thomas Gleixner 2020-03-13 90 instrumentation_begin(); \
5916d5f9b33473 Thomas Gleixner 2020-03-13 91 warn_slowpath_fmt(__FILE__, __LINE__, taint, arg); \
5916d5f9b33473 Thomas Gleixner 2020-03-13 92 instrumentation_end(); \
5916d5f9b33473 Thomas Gleixner 2020-03-13 93 } while (0)
a8f18b909c0a3f Arjan van de Ven 2008-07-25 94 #else
a7bed27af194aa Kees Cook 2017-11-17 95 extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
a44f71a9ab99b5 Kees Cook 2019-09-25 96 #define __WARN() __WARN_FLAGS(BUGFLAG_TAINT(TAINT_WARN))
d4bce140b4e739 Kees Cook 2019-09-25 97 #define __WARN_printf(taint, arg...) do { \
5916d5f9b33473 Thomas Gleixner 2020-03-13 98 instrumentation_begin(); \
d4bce140b4e739 Kees Cook 2019-09-25 @99 __warn_printk(arg); \
a44f71a9ab99b5 Kees Cook 2019-09-25 100 __WARN_FLAGS(BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\
5916d5f9b33473 Thomas Gleixner 2020-03-13 101 instrumentation_end(); \
6b15f678fb7d5e Drew Davenport 2019-07-16 102 } while (0)
2da1ead4d5f7fa Kees Cook 2019-09-25 103 #define WARN_ON_ONCE(condition) ({ \
2da1ead4d5f7fa Kees Cook 2019-09-25 104 int __ret_warn_on = !!(condition); \
2da1ead4d5f7fa Kees Cook 2019-09-25 105 if (unlikely(__ret_warn_on)) \
2da1ead4d5f7fa Kees Cook 2019-09-25 106 __WARN_FLAGS(BUGFLAG_ONCE | \
2da1ead4d5f7fa Kees Cook 2019-09-25 107 BUGFLAG_TAINT(TAINT_WARN)); \
2da1ead4d5f7fa Kees Cook 2019-09-25 108 unlikely(__ret_warn_on); \
2da1ead4d5f7fa Kees Cook 2019-09-25 109 })
3a6a62f96f168d Olof Johansson 2008-01-30 110 #endif
3a6a62f96f168d Olof Johansson 2008-01-30 111
:::::: The code at line 99 was first introduced by commit
:::::: d4bce140b4e739bceb4e239d4842cf8f346c1e0f bug: clean up helper macros to remove __WARN_TAINT()
:::::: TO: Kees Cook <keescook(a)chromium.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[deller-parisc:5.16-vdso-6 3/3] arch/parisc/kernel/vdso32/sigtramp.S:25: Error: unknown pseudo-op: `.proc'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git 5.16-vdso-6
head: 02c272b17a2b655236f64f3ccb4931e3cb99b29c
commit: 02c272b17a2b655236f64f3ccb4931e3cb99b29c [3/3] p2-vdso patch by Dave Anglin
config: parisc-randconfig-r013-20220113 (https://download.01.org/0day-ci/archive/20220114/202201141151.powsGgZN-lk...)
compiler: hppa64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git/c...
git remote add deller-parisc https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
git fetch --no-tags deller-parisc 5.16-vdso-6
git checkout 02c272b17a2b655236f64f3ccb4931e3cb99b29c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc prepare
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/parisc/kernel/vdso64/Makefile:30: FORCE prerequisite is missing
arch/parisc/kernel/vdso32/restart_syscall.S: Assembler messages:
arch/parisc/kernel/vdso32/restart_syscall.S:15: Error: bad or irreducible absolute expression
arch/parisc/kernel/vdso32/restart_syscall.S:15: Error: junk at end of line, first unrecognized character is `:'
arch/parisc/kernel/vdso32/restart_syscall.S:25: Error: no such instruction: `ldw 0(%sp),%r31'
arch/parisc/kernel/vdso32/restart_syscall.S:28: Error: no such instruction: `be 0x100(%sr2,%r0)'
arch/parisc/kernel/vdso32/restart_syscall.S:29: Error: no such instruction: `ldi 0,%r20'
arch/parisc/kernel/vdso32/restart_syscall.S:31: Error: .cfi_endproc without corresponding .cfi_startproc
gcc: error: unrecognized command-line option '-mno-space-regs'
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:36: arch/parisc/kernel/vdso32/restart_syscall.o] Error 1
gcc: error: unrecognized command-line option '-mdisable-fpregs'
arch/parisc/kernel/vdso32/sigtramp.S: Assembler messages:
>> arch/parisc/kernel/vdso32/sigtramp.S:25: Error: unknown pseudo-op: `.proc'
>> arch/parisc/kernel/vdso32/sigtramp.S:26: Error: unknown pseudo-op: `.callinfo'
>> arch/parisc/kernel/vdso32/sigtramp.S:27: Error: unknown pseudo-op: `.entry'
arch/parisc/kernel/vdso32/sigtramp.S:30: Error: no such instruction: `ldi 0,%r25'
>> arch/parisc/kernel/vdso32/sigtramp.S:31: Error: no such instruction: `ble 0x100(%sr2,%r0)'
arch/parisc/kernel/vdso32/datapage.S: Assembler messages:
arch/parisc/kernel/vdso32/datapage.S:18: Error: bad or irreducible absolute expression
arch/parisc/kernel/vdso32/datapage.S:18: Error: junk at end of line, first unrecognized character is `:'
arch/parisc/kernel/vdso32/datapage.S:23: Error: no such instruction: `bl 1f,%r1'
arch/parisc/kernel/vdso32/datapage.S:24: Error: no such instruction: `depi 0,31,12,%r1'
arch/parisc/kernel/vdso32/datapage.S:25: Error: no such instruction: `bv %r0(%r2)'
arch/parisc/kernel/vdso32/datapage.S:26: Error: no such instruction: `ldw 0(%r1),%r28'
arch/parisc/kernel/vdso32/datapage.S:28: Error: .cfi_endproc without corresponding .cfi_startproc
arch/parisc/kernel/vdso32/sigtramp.S:32: Error: no such instruction: `ldi 173,%r20'
arch/parisc/kernel/vdso32/sigtramp.S:34: Error: no such instruction: `ldi 1,%r25'
arch/parisc/kernel/vdso32/sigtramp.S:35: Error: no such instruction: `ble 0x100(%sr2,%r0)'
arch/parisc/kernel/vdso32/sigtramp.S:36: Error: no such instruction: `ldi 173,%r20'
>> arch/parisc/kernel/vdso32/sigtramp.S:38: Error: unknown pseudo-op: `.exit'
>> arch/parisc/kernel/vdso32/sigtramp.S:39: Error: unknown pseudo-op: `.procend'
>> arch/parisc/kernel/vdso32/sigtramp.S:85: Error: unknown pseudo-op: `.stringz'
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:36: arch/parisc/kernel/vdso32/sigtramp.o] Error 1
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:36: arch/parisc/kernel/vdso32/datapage.o] Error 1
gcc: error: unrecognized command-line option '-mschedule=8000'
gcc: error: unrecognized command-line option '-fzero-call-used-regs=used-gpr'
gcc: error: unrecognized command-line option '-mno-fast-indirect-calls'; did you mean '-mno-force-indirect-call'?
gcc: error: unrecognized command-line option '-mno-long-calls'
gcc: error: unrecognized command-line option '-mlong-calls'
gcc: error: unrecognized command-line option '-mno-fast-indirect-calls'; did you mean '-mno-force-indirect-call'?
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:39: arch/parisc/kernel/vdso32/vdso32_generic.o] Error 1
make[2]: Target 'include/generated/vdso32-offsets.h' not remade because of errors.
make[1]: *** [arch/parisc/Makefile:188: vdso_prepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +25 arch/parisc/kernel/vdso32/sigtramp.S
11
12 .text
13
14 /* The nop here is a hack. The dwarf2 unwind routines subtract 1 from
15 the return address to get an address in the middle of the presumed
16 call instruction. Since we don't have a call here, we artifically
17 extend the range covered by the unwind info by adding a nop before
18 the real start. */
19 nop
20
21 // ENTRY_CFI(__kernel_sigtramp_rt)
22 .globl __kernel_sigtramp_rt // 32/64 anhängen
23 .type __kernel_sigtramp_rt, @function
24 __kernel_sigtramp_rt:
> 25 .proc
> 26 .callinfo NO_CALLS
> 27 .entry
28
29 .Lsigrt_start = . - 4
30 0: ldi 0, %r25 /* (in_syscall=0) */
> 31 ble 0x100(%sr2, %r0)
32 ldi __NR_rt_sigreturn, %r20
33
34 1: ldi 1, %r25 /* (in_syscall=1) */
35 ble 0x100(%sr2, %r0)
36 ldi __NR_rt_sigreturn, %r20
37 .Lsigrt_end:
> 38 .exit
> 39 .procend
40 .size __kernel_sigtramp_rt,.-__kernel_sigtramp_rt
41
42 // ENDPROC_CFI(__kernel_sigtramp_rt)
43
44 .section .eh_frame,"a",@progbits
45
46 /* This is where the mcontext_t struct can be found on the stack. */
47 #define PTREGS -0x2a0
48
49 /* Size of regs. */
50 #define RSIZE 4
51
52 /* Register sp can be found at offset 0x7c in mcontext_t structure. */
53 .macro cfa_save
54 .byte 0x0f /* DW_CFA_def_cfa_expression */
55 .uleb128 9f - 1f /* length */
56 1:
57 .byte 0x8e /* DW_OP_breg30 */
58 .sleb128 PTREGS
59 .byte 0x23 /* DW_OP_plus_uconst */
60 .uleb128 0x7c
61 .byte 0x06 /* DW_OP_deref */
62 9:
63 .endm
64
65 /* Register REGNO can be found at offset OFS of the mcontext_t structure. */
66 .macro rsave regno,ofs
67 .byte 0x10 /* DW_CFA_expression */
68 .uleb128 \regno; /* regno */
69 .uleb128 9f - 1f /* length */
70 1:
71 .byte 0x8e /* DW_OP_breg30 */
72 .sleb128 PTREGS
73 .ifne \ofs
74 .byte 0x23 /* DW_OP_plus_uconst */
75 .uleb128 \ofs
76 .endif
77 9:
78 .endm
79
80 .Lcie:
81 .long .Lcie_end - .Lcie_start
82 .Lcie_start:
83 .long 0 /* CIE ID */
84 .byte 1 /* Version number */
> 85 .stringz "zRS" /* NUL-terminated augmentation string */
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[mingo-tip:master 2232/2382] arch/x86/kernel/cpu/mtrr/mtrr.c:570:5: warning: no previous prototype for 'arch_phys_wc_add'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git master
head: 1a880941a087613ed42f77001229edfcf75ea8a5
commit: a097e96997f0e6b9c840e1de19af68c01be7b12e [2232/2382] headers/deps: mm: Optimize <linux/dmapool.h> dependencies, remove <linux/scatterlist.h> and <asm/io.h> inclusion
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220114/202201141011.xY2EpZxX-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=...
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip master
git checkout a097e96997f0e6b9c840e1de19af68c01be7b12e
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/entry/vdso/ arch/x86/kernel/cpu/mtrr/ net/ipv6/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/x86/kernel/cpu/mtrr/mtrr.c:570:5: warning: no previous prototype for 'arch_phys_wc_add' [-Wmissing-prototypes]
570 | int arch_phys_wc_add(unsigned long base, unsigned long size)
| ^~~~~~~~~~~~~~~~
>> arch/x86/kernel/cpu/mtrr/mtrr.c:596:6: warning: no previous prototype for 'arch_phys_wc_del' [-Wmissing-prototypes]
596 | void arch_phys_wc_del(int handle)
| ^~~~~~~~~~~~~~~~
>> arch/x86/kernel/cpu/mtrr/mtrr.c:616:5: warning: no previous prototype for 'arch_phys_wc_index' [-Wmissing-prototypes]
616 | int arch_phys_wc_index(int handle)
| ^~~~~~~~~~~~~~~~~~
vim +/arch_phys_wc_add +570 arch/x86/kernel/cpu/mtrr/mtrr.c
^1da177e4c3f41 arch/i386/kernel/cpu/mtrr/main.c Linus Torvalds 2005-04-16 554
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 555 /**
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 556 * arch_phys_wc_add - add a WC MTRR and handle errors if PAT is unavailable
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 557 * @base: Physical base address
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 558 * @size: Size of region
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 559 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 560 * If PAT is available, this does nothing. If PAT is unavailable, it
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 561 * attempts to add a WC MTRR covering size bytes starting at base and
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 562 * logs an error if this fails.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 563 *
2f9e897353fcb9 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 564 * The called should provide a power of two size on an equivalent
2f9e897353fcb9 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 565 * power of two boundary.
2f9e897353fcb9 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 566 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 567 * Drivers must store the return value to pass to mtrr_del_wc_if_needed,
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 568 * but drivers should not try to interpret that return value.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 569 */
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 @570 int arch_phys_wc_add(unsigned long base, unsigned long size)
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 571 {
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 572 int ret;
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 573
cb32edf65bf219 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 574 if (pat_enabled() || !mtrr_enabled())
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 575 return 0; /* Success! (We don't need to do anything.) */
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 576
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 577 ret = mtrr_add(base, size, MTRR_TYPE_WRCOMB, true);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 578 if (ret < 0) {
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 579 pr_warn("Failed to add WC MTRR for [%p-%p]; performance may suffer.",
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 580 (void *)base, (void *)(base + size - 1));
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 581 return ret;
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 582 }
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 583 return ret + MTRR_TO_PHYS_WC_OFFSET;
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 584 }
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 585 EXPORT_SYMBOL(arch_phys_wc_add);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 586
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 587 /*
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 588 * arch_phys_wc_del - undoes arch_phys_wc_add
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 589 * @handle: Return value from arch_phys_wc_add
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 590 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 591 * This cleans up after mtrr_add_wc_if_needed.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 592 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 593 * The API guarantees that mtrr_del_wc_if_needed(error code) and
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 594 * mtrr_del_wc_if_needed(0) do nothing.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 595 */
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 @596 void arch_phys_wc_del(int handle)
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 597 {
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 598 if (handle >= 1) {
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 599 WARN_ON(handle < MTRR_TO_PHYS_WC_OFFSET);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 600 mtrr_del(handle - MTRR_TO_PHYS_WC_OFFSET, 0, 0);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 601 }
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 602 }
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 603 EXPORT_SYMBOL(arch_phys_wc_del);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 604
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 605 /*
7d010fdf299929 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 606 * arch_phys_wc_index - translates arch_phys_wc_add's return value
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 607 * @handle: Return value from arch_phys_wc_add
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 608 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 609 * This will turn the return value from arch_phys_wc_add into an mtrr
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 610 * index suitable for debugging.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 611 *
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 612 * Note: There is no legitimate use for this function, except possibly
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 613 * in printk line. Alas there is an illegitimate use in some ancient
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 614 * drm ioctls.
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 615 */
7d010fdf299929 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 @616 int arch_phys_wc_index(int handle)
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 617 {
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 618 if (handle < MTRR_TO_PHYS_WC_OFFSET)
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 619 return -1;
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 620 else
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 621 return handle - MTRR_TO_PHYS_WC_OFFSET;
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 622 }
7d010fdf299929 arch/x86/kernel/cpu/mtrr/main.c Luis R. Rodriguez 2015-05-26 623 EXPORT_SYMBOL_GPL(arch_phys_wc_index);
d0d98eedee2178 arch/x86/kernel/cpu/mtrr/main.c Andy Lutomirski 2013-05-13 624
:::::: The code at line 570 was first introduced by commit
:::::: d0d98eedee2178c803dd824bb09f52b0e2ac1811 Add arch_phys_wc_{add, del} to manipulate WC MTRRs if needed
:::::: TO: Andy Lutomirski <luto(a)amacapital.net>
:::::: CC: Dave Airlie <airlied(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[mingo-tip:master 1471/2382] include/linux/rcupdate.h:380:9: error: dereferencing pointer to incomplete type 'struct task_struct'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git master
head: 1a880941a087613ed42f77001229edfcf75ea8a5
commit: 2343c4a8035421263b16ea777e945cc1b0cbd22f [1471/2382] headers/deps: rcu/wait: Remove <linux/sched/task_flags.h> from <linux/rcuwait.h>
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220114/202201140915.k0d5wA8g-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=...
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip master
git checkout 2343c4a8035421263b16ea777e945cc1b0cbd22f
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/workqueue.h:16,
from include/linux/workqueue_api.h:2,
from arch/x86/kvm/lapic.c:19:
include/linux/rcuwait.h: In function 'rcuwait_active':
>> include/linux/rcupdate.h:380:9: error: dereferencing pointer to incomplete type 'struct task_struct'
380 | typeof(*p) *_________p1 = (typeof(*p) *__force)READ_ONCE(p); \
| ^
include/linux/rcupdate.h:490:31: note: in expansion of macro '__rcu_access_pointer'
490 | #define rcu_access_pointer(p) __rcu_access_pointer((p), __rcu)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/rcuwait.h:33:11: note: in expansion of macro 'rcu_access_pointer'
33 | return !!rcu_access_pointer(w->task);
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/rcuwait_api.h:1,
from arch/x86/kvm/lapic.c:20:
include/linux/rcuwait.h:34:1: error: control reaches end of non-void function [-Werror=return-type]
34 | }
| ^
cc1: some warnings being treated as errors
--
In file included from include/linux/rcuwait.h:5,
from include/linux/irq_work.h:7,
from arch/x86/include/asm/nmi.h:5,
from arch/x86/kernel/cpu/perfctr-watchdog.c:20:
include/linux/rcuwait.h: In function 'rcuwait_active':
>> include/linux/rcupdate.h:380:9: error: dereferencing pointer to incomplete type 'struct task_struct'
380 | typeof(*p) *_________p1 = (typeof(*p) *__force)READ_ONCE(p); \
| ^
include/linux/rcupdate.h:490:31: note: in expansion of macro '__rcu_access_pointer'
490 | #define rcu_access_pointer(p) __rcu_access_pointer((p), __rcu)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/rcuwait.h:33:11: note: in expansion of macro 'rcu_access_pointer'
33 | return !!rcu_access_pointer(w->task);
| ^~~~~~~~~~~~~~~~~~
vim +380 include/linux/rcupdate.h
76c8eaafe4f061f Paul E. McKenney 2021-04-21 377
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 378 #define __rcu_access_pointer(p, space) \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 379 ({ \
7d0ae8086b82831 Paul E. McKenney 2015-03-03 @380 typeof(*p) *_________p1 = (typeof(*p) *__force)READ_ONCE(p); \
423a86a610cad12 Joel Fernandes (Google 2018-12-12 381) rcu_check_sparse(p, space); \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 382 ((typeof(*p) __force __kernel *)(_________p1)); \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 383 })
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 384 #define __rcu_dereference_check(p, c, space) \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 385 ({ \
ac59853c06993a4 Pranith Kumar 2014-11-13 386 /* Dependency order vs. p above. */ \
506458efaf153c1 Will Deacon 2017-10-24 387 typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
f78f5b90c4ffa55 Paul E. McKenney 2015-06-18 388 RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_check() usage"); \
423a86a610cad12 Joel Fernandes (Google 2018-12-12 389) rcu_check_sparse(p, space); \
ac59853c06993a4 Pranith Kumar 2014-11-13 390 ((typeof(*p) __force __kernel *)(________p1)); \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 391 })
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 392 #define __rcu_dereference_protected(p, c, space) \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 393 ({ \
f78f5b90c4ffa55 Paul E. McKenney 2015-06-18 394 RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
423a86a610cad12 Joel Fernandes (Google 2018-12-12 395) rcu_check_sparse(p, space); \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 396 ((typeof(*p) __force __kernel *)(p)); \
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 397 })
995f1405610bd84 Paul E. McKenney 2016-07-01 398 #define rcu_dereference_raw(p) \
995f1405610bd84 Paul E. McKenney 2016-07-01 399 ({ \
995f1405610bd84 Paul E. McKenney 2016-07-01 400 /* Dependency order vs. p above. */ \
506458efaf153c1 Will Deacon 2017-10-24 401 typeof(p) ________p1 = READ_ONCE(p); \
995f1405610bd84 Paul E. McKenney 2016-07-01 402 ((typeof(*p) __force __kernel *)(________p1)); \
995f1405610bd84 Paul E. McKenney 2016-07-01 403 })
ca5ecddfa8fcbd9 Paul E. McKenney 2010-04-28 404
:::::: The code at line 380 was first introduced by commit
:::::: 7d0ae8086b828311250c6afdf800b568ac9bd693 rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()
:::::: TO: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
:::::: CC: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[intel-tdx:tdx/guest-rebased 105/133] kernel/dma/swiotlb.c:320:16: error: implicit declaration of function 'kzalloc'
by kernel test robot
tree: https://github.com/intel/tdx.git tdx/guest-rebased
head: e3995864d37c56f431c93fc3dc454d9c65f5e9ea
commit: 64f46677f0bd4db290a0c6be857c6fd8db39324b [105/133] swiotlb: use bitmap to track free slots
config: s390-randconfig-r033-20220113 (https://download.01.org/0day-ci/archive/20220114/202201140844.HLn72YTB-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d1021978b8e7e35dcc30201ca1731d64b5a602a8)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/intel/tdx/commit/64f46677f0bd4db290a0c6be857c6fd8db39324b
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx tdx/guest-rebased
git checkout 64f46677f0bd4db290a0c6be857c6fd8db39324b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from kernel/dma/swiotlb.c:24:
In file included from include/linux/dma-direct.h:9:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from kernel/dma/swiotlb.c:24:
In file included from include/linux/dma-direct.h:9:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from kernel/dma/swiotlb.c:24:
In file included from include/linux/dma-direct.h:9:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> kernel/dma/swiotlb.c:320:16: error: implicit declaration of function 'kzalloc' [-Werror,-Wimplicit-function-declaration]
mem->bitmap = kzalloc(DIV_ROUND_UP(nslabs, BITS_PER_BYTE), GFP_KERNEL);
^
kernel/dma/swiotlb.c:320:16: note: did you mean 'vzalloc'?
include/linux/vmalloc.h:140:14: note: 'vzalloc' declared here
extern void *vzalloc(unsigned long size) __alloc_size(1);
^
kernel/dma/swiotlb.c:320:14: warning: incompatible integer to pointer conversion assigning to 'unsigned long *' from 'int' [-Wint-conversion]
mem->bitmap = kzalloc(DIV_ROUND_UP(nslabs, BITS_PER_BYTE), GFP_KERNEL);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/dma/swiotlb.c:324:3: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
kfree(mem->bitmap);
^
kernel/dma/swiotlb.c:324:3: note: did you mean 'vfree'?
include/linux/vmalloc.h:155:13: note: 'vfree' declared here
extern void vfree(const void *addr);
^
13 warnings and 2 errors generated.
vim +/kzalloc +320 kernel/dma/swiotlb.c
306
307 int
308 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
309 {
310 struct io_tlb_mem *mem = &io_tlb_default_mem;
311 unsigned long bytes = nslabs << IO_TLB_SHIFT;
312
313 if (swiotlb_force == SWIOTLB_NO_FORCE)
314 return 0;
315
316 /* protect against double initialization */
317 if (WARN_ON_ONCE(mem->nslabs))
318 return -ENOMEM;
319
> 320 mem->bitmap = kzalloc(DIV_ROUND_UP(nslabs, BITS_PER_BYTE), GFP_KERNEL);
321 mem->slots = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
322 get_order(array_size(sizeof(*mem->slots), nslabs)));
323 if (!mem->slots || !mem->bitmap) {
> 324 kfree(mem->bitmap);
325 kfree(mem->slots);
326 return -ENOMEM;
327 }
328
329 set_memory_decrypted((unsigned long)tlb, bytes >> PAGE_SHIFT);
330 swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
331
332 swiotlb_print_info();
333 swiotlb_set_max_segment(mem->nslabs << IO_TLB_SHIFT);
334 return 0;
335 }
336
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week