Hi Amir, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.0-rc1] [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/Amir-Goldstein/fanotify-add-support-for-more-event-types/20190111-090241 config: mips-allmodconfig (attached as .config) compiler: mips-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=mips All warnings (new ones prefixed by >>): In file included from include/linux/kernel.h:14:0, from include/linux/list.h:9, from include/linux/preempt.h:11, from include/linux/spinlock.h:51, from include/linux/fdtable.h:11, from fs/notify/fanotify/fanotify.c:3: fs/notify/fanotify/fanotify.c: In function 'fanotify_encode_fid': include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited' printk(fmt, ##__VA_ARGS__); \ ^~~ include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH' #define KERN_WARNING KERN_SOH "4" /* warning conditions */ ^~~~~~~~ include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING' printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~~ >> fs/notify/fanotify/fanotify.c:196:2: note: in expansion of macro 'pr_warn_ratelimited' pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n", ^~~~~~~~~~~~~~~~~~~ fs/notify/fanotify/fanotify.c:196:61: note: format string is defined here pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n", ~^ %lx In file included from include/linux/kernel.h:14:0, from include/linux/list.h:9, from include/linux/preempt.h:11, from include/linux/spinlock.h:51, from include/linux/fdtable.h:11, from fs/notify/fanotify/fanotify.c:3: include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited' printk(fmt, ##__VA_ARGS__); \ ^~~ include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH' #define KERN_WARNING KERN_SOH "4" /* warning conditions */ ^~~~~~~~ include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING' printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~~ >> fs/notify/fanotify/fanotify.c:196:2: note: in expansion of macro 'pr_warn_ratelimited' pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n", ^~~~~~~~~~~~~~~~~~~ fs/notify/fanotify/fanotify.c:196:64: note: format string is defined here pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n", ~^ %lx vim +/pr_warn_ratelimited +196 fs/notify/fanotify/fanotify.c 154 155 static int fanotify_encode_fid(struct fanotify_event *event, 156 const struct path *path, gfp_t gfp) 157 { 158 struct fanotify_fid *fid = &event->fid; 159 int dwords, bytes = 0; 160 struct kstatfs stat; 161 int err, type; 162 163 stat.f_fsid.val[0] = stat.f_fsid.val[1] = 0; 164 fid->ext_fh = NULL; 165 dwords = 0; 166 err = -ENOENT; 167 type = exportfs_encode_fh(path->dentry, NULL, &dwords, 0); 168 if (!dwords) 169 goto out_err; 170 171 err = vfs_statfs(path, &stat); 172 if (err) 173 goto out_err; 174 175 bytes = dwords << 2; 176 if (bytes > FANOTIFY_INLINE_FH_LEN) { 177 /* Treat failure to allocate fh as failure to allocate event */ 178 err = -ENOMEM; 179 fid->ext_fh = kmalloc(bytes, gfp); 180 if (!fid->ext_fh) 181 goto out_err; 182 } 183 184 type = exportfs_encode_fh(path->dentry, fanotify_fid_fh(fid, bytes), 185 &dwords, 0); 186 err = -EINVAL; 187 if (!type || type == FILEID_INVALID || bytes != dwords << 2) 188 goto out_err; 189 190 fid->fsid = stat.f_fsid; 191 event->fh_len = bytes; 192 193 return type; 194 195 out_err: > 196 pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n", 197 stat.f_fsid.val[0], stat.f_fsid.val[1], 198 type, bytes, err); 199 kfree(fid->ext_fh); 200 fid->ext_fh = NULL; 201 event->fh_len = 0; 202 203 return FILEID_INVALID; 204 } 205 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation