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

From: kbuild test robot
Date: Wed Apr 04 2018 - 09:25:48 EST


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: i386-randconfig-a0-201813 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (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:2: error: unknown field 'release' specified in initializer
.release = sdt_mm_release,
^
kernel//trace/trace_uprobe.c:948:2: warning: excess elements in struct initializer
kernel//trace/trace_uprobe.c:948:2: warning: (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
mn = kzalloc(sizeof(*mn), GFP_KERNEL);
^
kernel//trace/trace_uprobe.c:966:4: error: dereferencing pointer to incomplete type
mn->ops = &sdt_mmu_notifier_ops;
^
>> kernel//trace/trace_uprobe.c:967:2: error: implicit declaration of function '__mmu_notifier_register' [-Werror=implicit-function-declaration]
__mmu_notifier_register(mn, mm);
^
cc1: some warnings being treated as errors

vim +/__mmu_notifier_register +967 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