lkml.org 
[lkml]   [2022]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 2/2] module: Introduce module unload taint tracking
Hi Aaron,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on eeaec7801c421e17edda6e45a32d4a5596b633da]

url: https://github.com/intel-lab-lkp/linux/commits/Aaron-Tomlin/module-Introduce-module-unload-taint-tracking/20220420-195459
base: eeaec7801c421e17edda6e45a32d4a5596b633da
config: hexagon-randconfig-r045-20220420 (https://download.01.org/0day-ci/archive/20220421/202204210819.DQQP836u-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
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://github.com/intel-lab-lkp/linux/commit/523ff1f52de42049b9cc5a4db0495a5f21a7ee7c
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Aaron-Tomlin/module-Introduce-module-unload-taint-tracking/20220420-195459
git checkout 523ff1f52de42049b9cc5a4db0495a5f21a7ee7c
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> kernel/module/main.c:3204:2: error: meaningless 'volatile' on asm outside function
preempt_enable();
^
include/linux/preempt.h:277:28: note: expanded from macro 'preempt_enable'
#define preempt_enable() barrier()
^
include/linux/compiler.h:86:28: note: expanded from macro 'barrier'
# define barrier() __asm__ __volatile__("": : :"memory")
^
kernel/module/main.c:3204:2: error: expected ')'
include/linux/preempt.h:277:28: note: expanded from macro 'preempt_enable'
#define preempt_enable() barrier()
^
include/linux/compiler.h:86:43: note: expanded from macro 'barrier'
# define barrier() __asm__ __volatile__("": : :"memory")
^
kernel/module/main.c:3204:2: note: to match this '('
include/linux/preempt.h:277:28: note: expanded from macro 'preempt_enable'
#define preempt_enable() barrier()
^
include/linux/compiler.h:86:40: note: expanded from macro 'barrier'
# define barrier() __asm__ __volatile__("": : :"memory")
^
kernel/module/main.c:3205:2: error: expected identifier or '('
if (last_unloaded_module[0])
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
kernel/module/main.c:3207:2: error: expected identifier or '('
pr_cont("\n");
^
include/linux/printk.h:531:2: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:416:3: note: expanded from macro 'printk_index_wrap'
({ \
^
kernel/module/main.c:3207:2: error: expected ')'
include/linux/printk.h:531:2: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:416:3: note: expanded from macro 'printk_index_wrap'
({ \
^
kernel/module/main.c:3207:2: note: to match this '('
include/linux/printk.h:531:2: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:416:2: note: expanded from macro 'printk_index_wrap'
({ \
^
kernel/module/main.c:3208:1: error: extraneous closing brace ('}')
}
^
6 errors generated.


vim +/volatile +3204 kernel/module/main.c

e610499e2656e61 kernel/module.c Rusty Russell 2009-03-31 3172
^1da177e4c3f415 kernel/module.c Linus Torvalds 2005-04-16 3173 /* Don't grab lock, we're oopsing. */
^1da177e4c3f415 kernel/module.c Linus Torvalds 2005-04-16 3174 void print_modules(void)
^1da177e4c3f415 kernel/module.c Linus Torvalds 2005-04-16 3175 {
^1da177e4c3f415 kernel/module.c Linus Torvalds 2005-04-16 3176 struct module *mod;
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3177 #ifdef CONFIG_MODULE_UNLOAD_TAINT_TRACKING
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3178 struct mod_unload_taint *mod_taint;
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3179 #endif
7fd8329ba502ef7 kernel/module.c Petr Mladek 2016-09-21 3180 char buf[MODULE_FLAGS_BUF_SIZE];
^1da177e4c3f415 kernel/module.c Linus Torvalds 2005-04-16 3181
b231125af7811a2 kernel/module.c Linus Torvalds 2009-06-16 3182 printk(KERN_DEFAULT "Modules linked in:");
d72b37513cdfbd3 kernel/module.c Andi Kleen 2008-08-30 3183 /* Most callers should already have preempt disabled, but make sure */
d72b37513cdfbd3 kernel/module.c Andi Kleen 2008-08-30 3184 preempt_disable();
0d21b0e3477395e kernel/module.c Rusty Russell 2013-01-12 3185 list_for_each_entry_rcu(mod, &modules, list) {
0d21b0e3477395e kernel/module.c Rusty Russell 2013-01-12 3186 if (mod->state == MODULE_STATE_UNFORMED)
0d21b0e3477395e kernel/module.c Rusty Russell 2013-01-12 3187 continue;
27bba4d6bb3779a kernel/module.c Jiri Slaby 2014-02-03 3188 pr_cont(" %s%s", mod->name, module_flags(mod, buf));
0d21b0e3477395e kernel/module.c Rusty Russell 2013-01-12 3189 }
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3190 #ifdef CONFIG_MODULE_UNLOAD_TAINT_TRACKING
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3191 if (!list_empty(&unloaded_tainted_modules)) {
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3192 printk(KERN_DEFAULT "Unloaded tainted modules:");
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3193 list_for_each_entry_rcu(mod_taint, &unloaded_tainted_modules,
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3194 list) {
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3195 size_t l;
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3196
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3197 l = module_flags_taint(mod_taint->taints, buf);
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3198 buf[l++] = '\0';
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3199 pr_cont(" %s(%s):%llu", mod_taint->name, buf,
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3200 mod_taint->count);
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3201 }
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3202 #endif
523ff1f52de4204 kernel/module/main.c Aaron Tomlin 2022-04-20 3203 }
d72b37513cdfbd3 kernel/module.c Andi Kleen 2008-08-30 @3204 preempt_enable();

--
0-DAY CI Kernel Test Service
https://01.org/lkp

\
 
 \ /
  Last update: 2022-04-21 08:47    [W:0.110 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site