Hi Amir,
I love your patch! Perhaps something to improve:
[auto build test WARNING on ext3/fsnotify]
[also build test WARNING on nfsd/nfsd-next driver-core/driver-core-testing linus/master
v5.8-rc4 next-20200708]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Amir-Goldstein/fsnotify-Rearrang...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
02946de3802d3bc65bc9f2eb9b8d4969b5a7add8)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> fs/notify/fanotify/fanotify.c:347:24: warning: no previous
prototype for function 'fanotify_alloc_path_event' [-Wmissing-prototypes]
struct fanotify_event *fanotify_alloc_path_event(const struct path *path,
^
fs/notify/fanotify/fanotify.c:347:1: note: declare 'static' if the function is
not intended to be used outside of this translation unit
struct fanotify_event *fanotify_alloc_path_event(const struct path *path,
^
static
> fs/notify/fanotify/fanotify.c:363:24: warning: no previous
prototype for function 'fanotify_alloc_perm_event' [-Wmissing-prototypes]
struct fanotify_event *fanotify_alloc_perm_event(const struct path *path,
^
fs/notify/fanotify/fanotify.c:363:1: note: declare 'static' if the function is
not intended to be used outside of this translation unit
struct fanotify_event *fanotify_alloc_perm_event(const struct path *path,
^
static
> fs/notify/fanotify/fanotify.c:381:24: warning: no previous
prototype for function 'fanotify_alloc_fid_event' [-Wmissing-prototypes]
struct fanotify_event *fanotify_alloc_fid_event(struct inode *id,
^
fs/notify/fanotify/fanotify.c:381:1: note: declare 'static' if the function is
not intended to be used outside of this translation unit
struct fanotify_event *fanotify_alloc_fid_event(struct inode *id,
^
static
> fs/notify/fanotify/fanotify.c:398:24: warning: no previous
prototype for function 'fanotify_alloc_name_event' [-Wmissing-prototypes]
struct fanotify_event *fanotify_alloc_name_event(struct inode *id,
^
fs/notify/fanotify/fanotify.c:398:1: note: declare 'static' if the function is
not intended to be used outside of this translation unit
struct fanotify_event *fanotify_alloc_name_event(struct inode *id,
^
static
4 warnings generated.
vim +/fanotify_alloc_path_event +347 fs/notify/fanotify/fanotify.c
346
347 struct fanotify_event *fanotify_alloc_path_event(const struct
path *path,
348 gfp_t gfp)
349 {
350 struct fanotify_path_event *pevent;
351
352 pevent = kmem_cache_alloc(fanotify_path_event_cachep, gfp);
353 if (!pevent)
354 return NULL;
355
356 pevent->fae.type = FANOTIFY_EVENT_TYPE_PATH;
357 pevent->path = *path;
358 path_get(path);
359
360 return &pevent->fae;
361 }
362
363 struct fanotify_event *fanotify_alloc_perm_event(const struct
path *path,
364 gfp_t gfp)
365 {
366 struct fanotify_perm_event *pevent;
367
368 pevent = kmem_cache_alloc(fanotify_perm_event_cachep, gfp);
369 if (!pevent)
370 return NULL;
371
372 pevent->fae.type = FANOTIFY_EVENT_TYPE_PATH_PERM;
373 pevent->response = 0;
374 pevent->state = FAN_EVENT_INIT;
375 pevent->path = *path;
376 path_get(path);
377
378 return &pevent->fae;
379 }
380
381 struct fanotify_event *fanotify_alloc_fid_event(struct inode *id,
382 __kernel_fsid_t *fsid,
383 gfp_t gfp)
384 {
385 struct fanotify_fid_event *ffe;
386
387 ffe = kmem_cache_alloc(fanotify_fid_event_cachep, gfp);
388 if (!ffe)
389 return NULL;
390
391 ffe->fae.type = FANOTIFY_EVENT_TYPE_FID;
392 ffe->fsid = *fsid;
393 fanotify_encode_fh(&ffe->object_fh, id, gfp);
394
395 return &ffe->fae;
396 }
397
398 struct fanotify_event *fanotify_alloc_name_event(struct inode
*id,
399 __kernel_fsid_t *fsid,
400 const struct qstr *file_name,
401 gfp_t gfp)
402 {
403 struct fanotify_name_event *fne;
404
405 fne = kmalloc(sizeof(*fne) + file_name->len + 1, gfp);
406 if (!fne)
407 return NULL;
408
409 fne->fae.type = FANOTIFY_EVENT_TYPE_FID_NAME;
410 fne->fsid = *fsid;
411 fanotify_encode_fh(&fne->dir_fh, id, gfp);
412 fne->name_len = file_name->len;
413 strcpy(fne->name, file_name->name);
414
415 return &fne->fae;
416 }
417
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org