All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next] bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF.
@ 2021-03-07 10:32 Tal Lossos
  2021-03-07 11:53 ` kernel test robot
  0 siblings, 1 reply; 2+ messages in thread
From: Tal Lossos @ 2021-03-07 10:32 UTC (permalink / raw)
  To: bpf; +Cc: yhs, kpsingh, gilad.reti, Tal Lossos

bpf_fd_inode_storage_lookup_elem returned NULL when getting a bad FD which caused -ENOENT in bpf_map_copy_value.
EBADF is better than ENOENT for a bad FD behaviour.

The patch was partially contributed by CyberArk Software, Inc.

Signed-off-by: Tal Lossos <tallossos@gmail.com>
---
 kernel/bpf/bpf_inode_storage.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/bpf/bpf_inode_storage.c b/kernel/bpf/bpf_inode_storage.c
index da753721457c..0ca25e9549d8 100644
--- a/kernel/bpf/bpf_inode_storage.c
+++ b/kernel/bpf/bpf_inode_storage.c
@@ -109,7 +109,7 @@ static void *bpf_fd_inode_storage_lookup_elem(struct bpf_map *map, void *key)
 	fd = *(int *)key;
 	f = fget_raw(fd);
 	if (!f)
-		return NULL;
+		return -EBADF;
 
 	sdata = inode_storage_lookup(f->f_inode, map, true);
 	fput(f);
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH bpf-next] bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF.
  2021-03-07 10:32 [PATCH bpf-next] bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF Tal Lossos
@ 2021-03-07 11:53 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-03-07 11:53 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2208 bytes --]

Hi Tal,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Tal-Lossos/bpf-Change-inode_storage-s-lookup_elem-return-value-from-NULL-to-EBADF/20210307-183448
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
        # https://github.com/0day-ci/linux/commit/62784457408977140aecb9d1cadbb13e281e7932
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Tal-Lossos/bpf-Change-inode_storage-s-lookup_elem-return-value-from-NULL-to-EBADF/20210307-183448
        git checkout 62784457408977140aecb9d1cadbb13e281e7932
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   kernel/bpf/bpf_inode_storage.c: In function 'bpf_fd_inode_storage_lookup_elem':
>> kernel/bpf/bpf_inode_storage.c:112:10: warning: returning 'int' from a function with return type 'void *' makes pointer from integer without a cast [-Wint-conversion]
     112 |   return -EBADF;
         |          ^


vim +112 kernel/bpf/bpf_inode_storage.c

   102	
   103	static void *bpf_fd_inode_storage_lookup_elem(struct bpf_map *map, void *key)
   104	{
   105		struct bpf_local_storage_data *sdata;
   106		struct file *f;
   107		int fd;
   108	
   109		fd = *(int *)key;
   110		f = fget_raw(fd);
   111		if (!f)
 > 112			return -EBADF;
   113	
   114		sdata = inode_storage_lookup(f->f_inode, map, true);
   115		fput(f);
   116		return sdata ? sdata->data : NULL;
   117	}
   118	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 72572 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-07 11:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-07 10:32 [PATCH bpf-next] bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF Tal Lossos
2021-03-07 11:53 ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.