# git rev-parse -q --verify d5226fa6dbae0569ee43ecfc08bdcd6770fc4755^{commit} d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 already have revision, skipping fetch # git checkout -q -f -B kisskb d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 # git clean -qxdf # < git log -1 # commit d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 # Author: Linus Torvalds # Date: Sun Jan 26 16:23:03 2020 -0800 # # Linux 5.5 # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux-ld --version # < git log --format=%s --max-count=1 d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 # make -s -j 32 ARCH=parisc O=/kisskb/build/mpe_allnoconfig_parisc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux- allnoconfig # < make -s -j 32 ARCH=parisc O=/kisskb/build/mpe_allnoconfig_parisc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux- help # make -s -j 32 ARCH=parisc O=/kisskb/build/mpe_allnoconfig_parisc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux- olddefconfig # make -s -j 32 ARCH=parisc O=/kisskb/build/mpe_allnoconfig_parisc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa-linux- In function 'setup_bootmem', inlined from 'paging_init' at /kisskb/src/arch/parisc/mm/init.c:729:2: /kisskb/src/arch/parisc/mm/init.c:295:46: warning: array subscript -269484032 is outside array bounds of 'char[2147483647]' [-Warray-bounds=] 295 | (unsigned long)(_end - KERNEL_BINARY_TEXT_START)); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/parisc/include/asm/sections.h:6, from /kisskb/src/include/linux/interrupt.h:20, from /kisskb/src/include/linux/kernel_stat.h:9, from /kisskb/src/include/linux/cgroup.h:26, from /kisskb/src/include/linux/memcontrol.h:13, from /kisskb/src/include/linux/swap.h:9, from /kisskb/src/arch/parisc/mm/init.c:22: /kisskb/src/include/asm-generic/sections.h: In function 'paging_init': /kisskb/src/include/asm-generic/sections.h:41:13: note: at offset -269484032 into object '_end' of size [0, 2147483647] 41 | extern char _end[]; | ^~~~ In function 'unwind_table_init', inlined from 'unwind_init' at /kisskb/src/arch/parisc/kernel/unwind.c:189:2: /kisskb/src/arch/parisc/kernel/unwind.c:111:37: warning: array subscript -1 is outside array bounds of 'struct unwind_table_entry[134217727]' [-Warray-bounds=] 111 | table->end = base_addr + end->region_end; | ~~~^~~~~~~~~~~~ /kisskb/src/arch/parisc/kernel/unwind.c: In function 'unwind_init': /kisskb/src/arch/parisc/kernel/unwind.c:35:34: note: at offset -16 into object '__stop___unwind' of size [0, 2147483647] 35 | extern struct unwind_table_entry __stop___unwind[]; | ^~~~~~~~~~~~~~~ In function 'unwind_table_init', inlined from 'unwind_init' at /kisskb/src/arch/parisc/kernel/unwind.c:189:2: /kisskb/src/arch/parisc/kernel/unwind.c:104:36: warning: array subscript -1 is outside array bounds of 'struct unwind_table_entry[134217727]' [-Warray-bounds=] 104 | struct unwind_table_entry *end = | ^~~ /kisskb/src/arch/parisc/kernel/unwind.c: In function 'unwind_init': /kisskb/src/arch/parisc/kernel/unwind.c:35:34: note: at offset -16 into object '__stop___unwind' of size [0, 2147483647] 35 | extern struct unwind_table_entry __stop___unwind[]; | ^~~~~~~~~~~~~~~ In function 'unwind_table_init', inlined from 'unwind_init' at /kisskb/src/arch/parisc/kernel/unwind.c:189:2: /kisskb/src/arch/parisc/kernel/unwind.c:104:36: warning: array subscript -1 is outside array bounds of 'struct unwind_table_entry[134217727]' [-Warray-bounds=] 104 | struct unwind_table_entry *end = | ^~~ /kisskb/src/arch/parisc/kernel/unwind.c: In function 'unwind_init': /kisskb/src/arch/parisc/kernel/unwind.c:35:34: note: at offset -16 into object '__stop___unwind' of size [0, 2147483647] 35 | extern struct unwind_table_entry __stop___unwind[]; | ^~~~~~~~~~~~~~~ /kisskb/src/arch/parisc/kernel/pci-dma.c:339:12: warning: 'proc_pcxl_dma_show' defined but not used [-Wunused-function] 339 | static int proc_pcxl_dma_show(struct seq_file *m, void *v) | ^~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/rculist.h:10, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/kernel/locking/semaphore.c:30: In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__down_common' at /kisskb/src/kernel/locking/semaphore.c:209:2, inlined from '__down_killable' at /kisskb/src/kernel/locking/semaphore.c:247:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/semaphore.c: In function '__down_killable': /kisskb/src/kernel/locking/semaphore.c:207:33: note: 'waiter' declared here 207 | struct semaphore_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/semaphore.c:245:63: note: 'sem' declared here 245 | static noinline int __sched __down_killable(struct semaphore *sem) | ~~~~~~~~~~~~~~~~~~^~~ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__down_common' at /kisskb/src/kernel/locking/semaphore.c:209:2, inlined from '__down_timeout' at /kisskb/src/kernel/locking/semaphore.c:252:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/semaphore.c: In function '__down_timeout': /kisskb/src/kernel/locking/semaphore.c:207:33: note: 'waiter' declared here 207 | struct semaphore_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/semaphore.c:250:62: note: 'sem' declared here 250 | static noinline int __sched __down_timeout(struct semaphore *sem, long timeout) | ~~~~~~~~~~~~~~~~~~^~~ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__down_common' at /kisskb/src/kernel/locking/semaphore.c:209:2, inlined from '__down' at /kisskb/src/kernel/locking/semaphore.c:237:2: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/semaphore.c: In function '__down': /kisskb/src/kernel/locking/semaphore.c:207:33: note: 'waiter' declared here 207 | struct semaphore_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/semaphore.c:235:55: note: 'sem' declared here 235 | static noinline void __sched __down(struct semaphore *sem) | ~~~~~~~~~~~~~~~~~~^~~ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__down_common' at /kisskb/src/kernel/locking/semaphore.c:209:2, inlined from '__down_interruptible' at /kisskb/src/kernel/locking/semaphore.c:242:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/semaphore.c: In function '__down_interruptible': /kisskb/src/kernel/locking/semaphore.c:207:33: note: 'waiter' declared here 207 | struct semaphore_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/semaphore.c:240:68: note: 'sem' declared here 240 | static noinline int __sched __down_interruptible(struct semaphore *sem) | ~~~~~~~~~~~~~~~~~~^~~ In file included from /kisskb/src/include/linux/mutex.h:15, from /kisskb/src/kernel/locking/mutex.c:21: In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__mutex_add_waiter' at /kisskb/src/kernel/locking/mutex.c:213:2, inlined from '__mutex_lock_common' at /kisskb/src/kernel/locking/mutex.c:985:3, inlined from '__mutex_lock.constprop' at /kisskb/src/kernel/locking/mutex.c:1103:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)lock + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/mutex.c: In function '__mutex_lock.constprop': /kisskb/src/kernel/locking/mutex.c:930:29: note: 'waiter' declared here 930 | struct mutex_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/mutex.c:1100:28: note: 'lock' declared here 1100 | __mutex_lock(struct mutex *lock, long state, unsigned int subclass, | ~~~~~~~~~~~~~~^~~~ In file included from /kisskb/src/include/linux/rculist.h:10, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/kernel/locking/rwsem.c:20: In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from 'rwsem_down_write_slowpath' at /kisskb/src/kernel/locking/rwsem.c:1175:2: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '((struct list_head *)sem)[1].prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/locking/rwsem.c: In function 'rwsem_down_write_slowpath': /kisskb/src/kernel/locking/rwsem.c:1144:29: note: 'waiter' declared here 1144 | struct rwsem_waiter waiter; | ^~~~~~ /kisskb/src/kernel/locking/rwsem.c:1139:48: note: 'sem' declared here 1139 | rwsem_down_write_slowpath(struct rw_semaphore *sem, int state) | ~~~~~~~~~~~~~~~~~~~~~^~~ /kisskb/src/fs/fs-writeback.c: In function 'wb_writeback.isra': /kisskb/src/fs/fs-writeback.c:1848:31: warning: storing the address of local variable 'oldest_jif' in '*work.older_than_this' [-Wdangling-pointer=] 1848 | work->older_than_this = &oldest_jif; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ /kisskb/src/fs/fs-writeback.c:1842:23: note: 'oldest_jif' declared here 1842 | unsigned long oldest_jif; | ^~~~~~~~~~ /kisskb/src/fs/fs-writeback.c:1838:52: note: 'work' declared here 1838 | struct wb_writeback_work *work) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /kisskb/src/kernel/workqueue.c: In function 'get_work_pwq': /kisskb/src/kernel/workqueue.c:685:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 685 | return (void *)(data & WORK_STRUCT_WQ_DATA_MASK); | ^ /kisskb/src/kernel/workqueue.c: In function 'get_work_pool': /kisskb/src/kernel/workqueue.c:713:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 713 | return ((struct pool_workqueue *) | ^ /kisskb/src/kernel/workqueue.c: In function 'get_work_pool_id': /kisskb/src/kernel/workqueue.c:735:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 735 | return ((struct pool_workqueue *) | ^ /kisskb/src/kernel/extable.c: In function 'sort_main_extable': /kisskb/src/kernel/extable.c:37:59: warning: comparison between two arrays [-Warray-compare] 37 | if (main_extable_sort_needed && __stop___ex_table > __start___ex_table) { | ^ /kisskb/src/kernel/extable.c:37:59: note: use '&__stop___ex_table[0] > &__start___ex_table[0]' to compare the addresses In file included from /kisskb/src/drivers/tty/tty_ldsem.c:28: In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from 'down_write_failed' at /kisskb/src/drivers/tty/tty_ldsem.c:253:2, inlined from '__ldsem_down_write_nested' at /kisskb/src/drivers/tty/tty_ldsem.c:324:8, inlined from 'ldsem_down_write' at /kisskb/src/drivers/tty/tty_ldsem.c:366:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '((struct list_head *)sem)[2].prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/drivers/tty/tty_ldsem.c: In function 'ldsem_down_write': /kisskb/src/drivers/tty/tty_ldsem.c:232:29: note: 'waiter' declared here 232 | struct ldsem_waiter waiter; | ^~~~~~ /kisskb/src/drivers/tty/tty_ldsem.c:363:51: note: 'sem' declared here 363 | int __sched ldsem_down_write(struct ld_semaphore *sem, long timeout) | ~~~~~~~~~~~~~~~~~~~~~^~~ /kisskb/src/mm/page_alloc.c: In function 'mem_init_print_info': /kisskb/src/mm/page_alloc.c:7527:27: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7531:9: note: in expansion of macro 'adj_init_size' 7531 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: note: use '&__init_begin[0] <= &_sinittext[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7531:9: note: in expansion of macro 'adj_init_size' 7531 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7531:9: note: in expansion of macro 'adj_init_size' 7531 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: note: use '&_sinittext[0] < &__init_end[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7531:9: note: in expansion of macro 'adj_init_size' 7531 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7533:9: note: in expansion of macro 'adj_init_size' 7533 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: note: use '&_stext[0] <= &_sinittext[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7533:9: note: in expansion of macro 'adj_init_size' 7533 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7533:9: note: in expansion of macro 'adj_init_size' 7533 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: note: use '&_sinittext[0] < &_etext[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7533:9: note: in expansion of macro 'adj_init_size' 7533 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7534:9: note: in expansion of macro 'adj_init_size' 7534 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: note: use '&_sdata[0] <= &__init_begin[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7534:9: note: in expansion of macro 'adj_init_size' 7534 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7534:9: note: in expansion of macro 'adj_init_size' 7534 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: note: use '&__init_begin[0] < &_edata[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7534:9: note: in expansion of macro 'adj_init_size' 7534 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7535:9: note: in expansion of macro 'adj_init_size' 7535 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: note: use '&_stext[0] <= &__start_rodata[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7535:9: note: in expansion of macro 'adj_init_size' 7535 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7535:9: note: in expansion of macro 'adj_init_size' 7535 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: note: use '&__start_rodata[0] < &_etext[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7535:9: note: in expansion of macro 'adj_init_size' 7535 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7536:9: note: in expansion of macro 'adj_init_size' 7536 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:27: note: use '&_sdata[0] <= &__start_rodata[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^~ /kisskb/src/mm/page_alloc.c:7536:9: note: in expansion of macro 'adj_init_size' 7536 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: warning: comparison between two arrays [-Warray-compare] 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7536:9: note: in expansion of macro 'adj_init_size' 7536 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ /kisskb/src/mm/page_alloc.c:7527:41: note: use '&__start_rodata[0] < &_edata[0]' to compare the addresses 7527 | if (start <= pos && pos < end && size > adj) \ | ^ /kisskb/src/mm/page_alloc.c:7536:9: note: in expansion of macro 'adj_init_size' 7536 | adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize); | ^~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/rculist.h:10, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/kernel/sched/sched.h:5, from /kisskb/src/kernel/sched/completion.c:14: In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__add_wait_queue_entry_tail' at /kisskb/src/include/linux/wait.h:184:2, inlined from '__add_wait_queue_entry_tail_exclusive' at /kisskb/src/include/linux/wait.h:191:2, inlined from 'do_wait_for_common' at /kisskb/src/kernel/sched/completion.c:75:3, inlined from '__wait_for_common' at /kisskb/src/kernel/sched/completion.c:104:12, inlined from 'wait_for_common' at /kisskb/src/kernel/sched/completion.c:115:9, inlined from 'wait_for_completion_interruptible' at /kisskb/src/kernel/sched/completion.c:204:11: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '*(struct list_head *)((char *)x + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ In file included from /kisskb/src/include/linux/pid.h:6: /kisskb/src/kernel/sched/completion.c: In function 'wait_for_completion_interruptible': /kisskb/src/kernel/sched/completion.c:73:35: note: 'wait' declared here 73 | DECLARE_WAITQUEUE(wait, current); | ^~~~ /kisskb/src/include/linux/wait.h:52:33: note: in definition of macro 'DECLARE_WAITQUEUE' 52 | struct wait_queue_entry name = __WAITQUEUE_INITIALIZER(name, tsk) | ^~~~ /kisskb/src/kernel/sched/completion.c:202:66: note: 'x' declared here 202 | int __sched wait_for_completion_interruptible(struct completion *x) | ~~~~~~~~~~~~~~~~~~~^ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__add_wait_queue_entry_tail' at /kisskb/src/include/linux/wait.h:184:2, inlined from '__add_wait_queue_entry_tail_exclusive' at /kisskb/src/include/linux/wait.h:191:2, inlined from 'do_wait_for_common' at /kisskb/src/kernel/sched/completion.c:75:3, inlined from '__wait_for_common' at /kisskb/src/kernel/sched/completion.c:104:12, inlined from 'wait_for_common' at /kisskb/src/kernel/sched/completion.c:115:9, inlined from 'wait_for_completion_interruptible_timeout' at /kisskb/src/kernel/sched/completion.c:226:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '*(struct list_head *)((char *)x + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/sched/completion.c: In function 'wait_for_completion_interruptible_timeout': /kisskb/src/kernel/sched/completion.c:73:35: note: 'wait' declared here 73 | DECLARE_WAITQUEUE(wait, current); | ^~~~ /kisskb/src/include/linux/wait.h:52:33: note: in definition of macro 'DECLARE_WAITQUEUE' 52 | struct wait_queue_entry name = __WAITQUEUE_INITIALIZER(name, tsk) | ^~~~ /kisskb/src/kernel/sched/completion.c:223:62: note: 'x' declared here 223 | wait_for_completion_interruptible_timeout(struct completion *x, | ~~~~~~~~~~~~~~~~~~~^ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__add_wait_queue_entry_tail' at /kisskb/src/include/linux/wait.h:184:2, inlined from '__add_wait_queue_entry_tail_exclusive' at /kisskb/src/include/linux/wait.h:191:2, inlined from 'do_wait_for_common' at /kisskb/src/kernel/sched/completion.c:75:3, inlined from '__wait_for_common' at /kisskb/src/kernel/sched/completion.c:104:12, inlined from 'wait_for_common' at /kisskb/src/kernel/sched/completion.c:115:9, inlined from 'wait_for_completion_killable' at /kisskb/src/kernel/sched/completion.c:241:11: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '*(struct list_head *)((char *)x + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/sched/completion.c: In function 'wait_for_completion_killable': /kisskb/src/kernel/sched/completion.c:73:35: note: 'wait' declared here 73 | DECLARE_WAITQUEUE(wait, current); | ^~~~ /kisskb/src/include/linux/wait.h:52:33: note: in definition of macro 'DECLARE_WAITQUEUE' 52 | struct wait_queue_entry name = __WAITQUEUE_INITIALIZER(name, tsk) | ^~~~ /kisskb/src/kernel/sched/completion.c:239:61: note: 'x' declared here 239 | int __sched wait_for_completion_killable(struct completion *x) | ~~~~~~~~~~~~~~~~~~~^ In function '__list_add', inlined from 'list_add_tail' at /kisskb/src/include/linux/list.h:93:2, inlined from '__add_wait_queue_entry_tail' at /kisskb/src/include/linux/wait.h:184:2, inlined from '__add_wait_queue_entry_tail_exclusive' at /kisskb/src/include/linux/wait.h:191:2, inlined from 'do_wait_for_common' at /kisskb/src/kernel/sched/completion.c:75:3, inlined from '__wait_for_common' at /kisskb/src/kernel/sched/completion.c:104:12, inlined from 'wait_for_common' at /kisskb/src/kernel/sched/completion.c:115:9, inlined from 'wait_for_completion_killable_timeout' at /kisskb/src/kernel/sched/completion.c:264:9: /kisskb/src/include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '*(struct list_head *)((char *)x + 4).prev' [-Wdangling-pointer=] 63 | next->prev = new; | ~~~~~~~~~~~^~~~~ /kisskb/src/kernel/sched/completion.c: In function 'wait_for_completion_killable_timeout': /kisskb/src/kernel/sched/completion.c:73:35: note: 'wait' declared here 73 | DECLARE_WAITQUEUE(wait, current); | ^~~~ /kisskb/src/include/linux/wait.h:52:33: note: in definition of macro 'DECLARE_WAITQUEUE' 52 | struct wait_queue_entry name = __WAITQUEUE_INITIALIZER(name, tsk) | ^~~~ /kisskb/src/kernel/sched/completion.c:261:57: note: 'x' declared here 261 | wait_for_completion_killable_timeout(struct completion *x, | ~~~~~~~~~~~~~~~~~~~^ Completed OK # rm -rf /kisskb/build/mpe_allnoconfig_parisc-gcc13 # Build took: 0:00:16.703142