CC: kbuild-...@lists.01.org
TO: cros-kernel-buildrepo...@googlegroups.com

tree:   https://android.googlesource.com/kernel/common android-5.4
head:   ff2d9520b4aa4a23e2c9e37b6a5ca255d6f5715e
commit: ff2d9520b4aa4a23e2c9e37b6a5ca255d6f5715e [3/3] ANDROID: Add a 
tracepoint for mapping inode to full path
:::::: branch date: 5 months ago
:::::: commit date: 5 months ago
config: x86_64-randconfig-c002-20200602 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>


coccinelle warnings: (new ones prefixed by >>)

>> fs/namei.c:811:17-24: ERROR: reference preceded by free on line 799

git remote add android-common https://android.googlesource.com/kernel/common
git remote update android-common
git checkout ff2d9520b4aa4a23e2c9e37b6a5ca255d6f5715e
vim +811 fs/namei.c

ff2d9520b4aa4a Joel Fernandes 2019-03-14  777  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  778  static void 
success_walk_trace(struct nameidata *nd)
ff2d9520b4aa4a Joel Fernandes 2019-03-14  779  {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  780   struct path *pt = &nd->path;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  781   struct inode *i = nd->inode;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  782   char buf[INIT_PATH_SIZE], 
*try_buf;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  783   int cur_path_size;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  784   char *p;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  785  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  786   /* When eBPF/ tracepoint is 
disabled, keep overhead low. */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  787   if (!trace_inodepath_enabled())
ff2d9520b4aa4a Joel Fernandes 2019-03-14  788           return;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  789  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  790   /* First try stack allocated 
buffer. */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  791   try_buf = buf;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  792   cur_path_size = INIT_PATH_SIZE;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  793  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  794   while (cur_path_size <= 
PATH_MAX) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  795           /* Free previous heap 
allocation if we are now trying
ff2d9520b4aa4a Joel Fernandes 2019-03-14  796            * a second or later 
heap allocation.
ff2d9520b4aa4a Joel Fernandes 2019-03-14  797            */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  798           if (try_buf != buf)
ff2d9520b4aa4a Joel Fernandes 2019-03-14 @799                   kfree(try_buf);
ff2d9520b4aa4a Joel Fernandes 2019-03-14  800  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  801           /* All but the first 
alloc are on the heap. */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  802           if (cur_path_size != 
INIT_PATH_SIZE) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  803                   try_buf = 
kmalloc(cur_path_size, GFP_KERNEL);
ff2d9520b4aa4a Joel Fernandes 2019-03-14  804                   if (!try_buf) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  805                           try_buf 
= buf;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  806                           
sprintf(try_buf, "error:buf_alloc_failed");
ff2d9520b4aa4a Joel Fernandes 2019-03-14  807                           break;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  808                   }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  809           }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  810  
ff2d9520b4aa4a Joel Fernandes 2019-03-14 @811           p = d_path(pt, try_buf, 
cur_path_size);
ff2d9520b4aa4a Joel Fernandes 2019-03-14  812  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  813           if (!IS_ERR(p)) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  814                   char *end = 
mangle_path(try_buf, p, "\n");
ff2d9520b4aa4a Joel Fernandes 2019-03-14  815  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  816                   if (end) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  817                           
try_buf[end - try_buf] = 0;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  818                           break;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  819                   } else {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  820                           /* On 
mangle errors, double path size
ff2d9520b4aa4a Joel Fernandes 2019-03-14  821                            * till 
PATH_MAX.
ff2d9520b4aa4a Joel Fernandes 2019-03-14  822                            */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  823                           
cur_path_size = cur_path_size << 1;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  824                           
continue;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  825                   }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  826           }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  827  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  828           if (PTR_ERR(p) == 
-ENAMETOOLONG) {
ff2d9520b4aa4a Joel Fernandes 2019-03-14  829                   /* If d_path 
complains that name is too long,
ff2d9520b4aa4a Joel Fernandes 2019-03-14  830                    * then double 
path size till PATH_MAX.
ff2d9520b4aa4a Joel Fernandes 2019-03-14  831                    */
ff2d9520b4aa4a Joel Fernandes 2019-03-14  832                   cur_path_size = 
cur_path_size << 1;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  833                   continue;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  834           }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  835  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  836           sprintf(try_buf, 
"error:d_path_failed_%lu",
ff2d9520b4aa4a Joel Fernandes 2019-03-14  837                   -1 * 
PTR_ERR(p));
ff2d9520b4aa4a Joel Fernandes 2019-03-14  838           break;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  839   }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  840  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  841   if (cur_path_size > PATH_MAX)
ff2d9520b4aa4a Joel Fernandes 2019-03-14  842           sprintf(try_buf, 
"error:d_path_name_too_long");
ff2d9520b4aa4a Joel Fernandes 2019-03-14  843  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  844   trace_inodepath(i, try_buf);
ff2d9520b4aa4a Joel Fernandes 2019-03-14  845  
ff2d9520b4aa4a Joel Fernandes 2019-03-14  846   if (try_buf != buf)
ff2d9520b4aa4a Joel Fernandes 2019-03-14  847           kfree(try_buf);
ff2d9520b4aa4a Joel Fernandes 2019-03-14  848   return;
ff2d9520b4aa4a Joel Fernandes 2019-03-14  849  }
ff2d9520b4aa4a Joel Fernandes 2019-03-14  850  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to