Re: [PATCH -next] appletalk: use remove_proc_subtree to simplify procfs code
From: YueHaibing
Date: Wed Feb 27 2019 - 20:32:48 EST
On 2019/2/28 7:28, kbuild test robot wrote:
> Hi YueHaibing,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on next-20190227]
>
> url: https://github.com/0day-ci/linux/commits/Yue-Haibing/appletalk-use-remove_proc_subtree-to-simplify-procfs-code/20190228-014856
> config: i386-randconfig-s3-02271654 (attached as .config)
> compiler: gcc-6 (Debian 6.5.0-2) 6.5.0 20181026
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All warnings (new ones prefixed by >>):
>
> In file included from include/linux/init.h:5:0,
> from net//appletalk/atalk_proc.c:11:
> net//appletalk/atalk_proc.c: In function 'atalk_proc_init':
> include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
> if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
> ^
> include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
> #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
> ^~~~~~~~~~
>>> net//appletalk/atalk_proc.c:218:2: note: in expansion of macro 'if'
> if (!proc_create_seq("atalk/interface", 0444, init_net.proc_net,
> ^~
> net//appletalk/atalk_proc.c:220:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
> goto out;
> ^~~~
> In file included from include/linux/init.h:5:0,
> from net//appletalk/atalk_proc.c:11:
> include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
> if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
> ^
> include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
> #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
> ^~~~~~~~~~
> net//appletalk/atalk_proc.c:222:2: note: in expansion of macro 'if'
> if (!proc_create_seq("atalk/route", 0444, init_net.proc_net,
> ^~
> net//appletalk/atalk_proc.c:224:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
> goto out;
> ^~~~
> In file included from include/linux/init.h:5:0,
> from net//appletalk/atalk_proc.c:11:
> include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
> if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
> ^
> include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
> #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
> ^~~~~~~~~~
> net//appletalk/atalk_proc.c:226:2: note: in expansion of macro 'if'
> if (!proc_create_seq("atalk/socket", 0444, init_net.proc_net,
> ^~
> net//appletalk/atalk_proc.c:228:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
> goto out;
> ^~~~
> In file included from include/linux/init.h:5:0,
> from net//appletalk/atalk_proc.c:11:
> include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
> if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
> ^
> include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
> #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
> ^~~~~~~~~~
> net//appletalk/atalk_proc.c:230:2: note: in expansion of macro 'if'
> if (!proc_create_seq_private("atalk/arp", 0444, init_net.proc_net,
> ^~
> net//appletalk/atalk_proc.c:233:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
> goto out;
> ^~~~
>
Thanks, will fix in v2.
> vim +/if +218 net//appletalk/atalk_proc.c
>
> 212
> 213 int __init atalk_proc_init(void)
> 214 {
> 215 if (!proc_mkdir("atalk", init_net.proc_net))
> 216 return -ENOMEM;
> 217
> > 218 if (!proc_create_seq("atalk/interface", 0444, init_net.proc_net,
> 219 &atalk_seq_interface_ops));
> 220 goto out;
> 221
> 222 if (!proc_create_seq("atalk/route", 0444, init_net.proc_net,
> 223 &atalk_seq_route_ops));
> 224 goto out;
> 225
> 226 if (!proc_create_seq("atalk/socket", 0444, init_net.proc_net,
> 227 &atalk_seq_socket_ops));
> 228 goto out;
> 229
> 230 if (!proc_create_seq_private("atalk/arp", 0444, init_net.proc_net,
> 231 &aarp_seq_ops,
> 232 sizeof(struct aarp_iter_state), NULL));
> 233 goto out;
> 234
> 235 out:
> 236 remove_proc_subtree("atalk", init_net.proc_net);
> 237 return -ENOMEM;
> 238 }
> 239
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>