lkrg-org / lkrg

Linux Kernel Runtime Guard
https://lkrg.org
Other
402 stars 72 forks source link

Please avoid flushing system-wide workqueues warning #261

Closed wladmis closed 1 year ago

wladmis commented 1 year ago

I made a brief look into the build logs and just noticed that when LKRG is compiling against a recent stable kernel the following warnings appear:

Build log ``` In file included from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:15, from ./include/linux/buildid.h:5, from ./include/linux/module.h:14, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/../../p_lkrg_main.h:26, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c:18: /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c: In function 'p_offload_cache_delete': ./include/linux/workqueue.h:641:17: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning] 641 | __warn_flushing_systemwide_wq(); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c:54:4: note: in expansion of macro 'flush_workqueue' 54 | flush_workqueue(system_unbound_wq); | ^~~~~~~~~~~~~~~ In file included from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:15, from ./include/linux/buildid.h:5, from ./include/linux/module.h:14, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/../../p_lkrg_main.h:26, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:18: In function 'p_ed_wq_valid_cache_delete', inlined from 'p_exploit_detection_exit' at /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:2062:4: ./include/linux/workqueue.h:641:17: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning] 641 | __warn_flushing_systemwide_wq(); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:382:4: note: in expansion of macro 'flush_workqueue' 382 | flush_workqueue(system_unbound_wq); | ^~~~~~~~~~~~~~~ Skipping BTF generation for /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/lkrg.ko due to unavailability of vmlinux + for V in $(ls /lib/modules) + make -s -j4 KERNELRELEASE=6.1.10-un-def-alt1 In file included from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:16, from ./include/linux/buildid.h:5, from ./include/linux/module.h:14, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/../../p_lkrg_main.h:26, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c:18: /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c: In function 'p_offload_cache_delete': ./include/linux/workqueue.h:640:17: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning] 640 | __warn_flushing_systemwide_wq(); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/integrity_timer/p_integrity_timer.c:54:4: note: in expansion of macro 'flush_workqueue' 54 | flush_workqueue(system_unbound_wq); | ^~~~~~~~~~~~~~~ In file included from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:16, from ./include/linux/buildid.h:5, from ./include/linux/module.h:14, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/../../p_lkrg_main.h:26, from /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:18: In function 'p_ed_wq_valid_cache_delete', inlined from 'p_exploit_detection_exit' at /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:2062:4: ./include/linux/workqueue.h:640:17: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning] 640 | __warn_flushing_systemwide_wq(); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/RPM/BUILD/kernel-source-lkrg-0.9.6/lkrg-0.9.6/src/modules/exploit_detection/p_exploit_detection.c:382:4: note: in expansion of macro 'flush_workqueue' 382 | flush_workqueue(system_unbound_wq); | ^~~~~~~~~~~~~~~ ```
solardiz commented 1 year ago

@wladmis Thanks, but this is a dupe of #232.

wladmis commented 1 year ago

On Thu, Feb 09, 2023 at 05:24:39PM -0800, Solar Designer wrote:

@wladmis Thanks, but this is a dupe of #232.

Oh, I missed that. Sorry for the noise.

-- WBR, Vladimir D. Seleznev