Re: [PATCH v2 7/9] trace_uprobe/sdt: Fix multiple update of same reference counter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ravi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on v4.16 next-20180403]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Ravi-Bangoria/trace_uprobe-Support-SDT-markers-having-reference-count-semaphore/20180404-201900
config: x86_64-randconfig-x019-201813 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

>> kernel/trace/trace_uprobe.c:947:21: error: variable 'sdt_mmu_notifier_ops' has initializer but incomplete type
    static const struct mmu_notifier_ops sdt_mmu_notifier_ops = {
                        ^~~~~~~~~~~~~~~~
>> kernel/trace/trace_uprobe.c:948:3: error: 'const struct mmu_notifier_ops' has no member named 'release'
     .release = sdt_mm_release,
      ^~~~~~~
>> kernel/trace/trace_uprobe.c:948:13: warning: excess elements in struct initializer
     .release = sdt_mm_release,
                ^~~~~~~~~~~~~~
   kernel/trace/trace_uprobe.c:948:13: note: (near initialization for 'sdt_mmu_notifier_ops')
   kernel/trace/trace_uprobe.c: In function 'sdt_add_mm_list':
>> kernel/trace/trace_uprobe.c:962:22: error: dereferencing pointer to incomplete type 'struct mmu_notifier'
     mn = kzalloc(sizeof(*mn), GFP_KERNEL);
                         ^~~
>> kernel/trace/trace_uprobe.c:967:2: error: implicit declaration of function '__mmu_notifier_register'; did you mean 'mmu_notifier_release'? [-Werror=implicit-function-declaration]
     __mmu_notifier_register(mn, mm);
     ^~~~~~~~~~~~~~~~~~~~~~~
     mmu_notifier_release
   kernel/trace/trace_uprobe.c: At top level:
>> kernel/trace/trace_uprobe.c:947:38: error: storage size of 'sdt_mmu_notifier_ops' isn't known
    static const struct mmu_notifier_ops sdt_mmu_notifier_ops = {
                                         ^~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/sdt_mmu_notifier_ops +947 kernel/trace/trace_uprobe.c

   946	
 > 947	static const struct mmu_notifier_ops sdt_mmu_notifier_ops = {
 > 948		.release = sdt_mm_release,
   949	};
   950	
   951	static void sdt_add_mm_list(struct trace_uprobe *tu, struct mm_struct *mm)
   952	{
   953		struct mmu_notifier *mn;
   954		struct sdt_mm_list *sml = kzalloc(sizeof(*sml), GFP_KERNEL);
   955	
   956		if (!sml)
   957			return;
   958		sml->mm = mm;
   959		list_add(&(sml->list), &(tu->sml.list));
   960	
   961		/* Register mmu_notifier for this mm. */
 > 962		mn = kzalloc(sizeof(*mn), GFP_KERNEL);
   963		if (!mn)
   964			return;
   965	
   966		mn->ops = &sdt_mmu_notifier_ops;
 > 967		__mmu_notifier_register(mn, mm);
   968	}
   969	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux