Re: [PATCH] bpf: put file handler if no storage found
Hello: This patch was applied to bpf/bpf.git (refs/heads/master): On Wed, 20 Jan 2021 18:08:56 -0800 you wrote: > Put file f if inode_storage_ptr() returns NULL. > > Fixes: 8ea636848aca ("bpf: Implement bpf_local_storage for inodes") > Acked-by: KP Singh > Signed-off-by: Pan Bian > --- > kernel/bpf/bpf_inode_storage.c | 6 +- > 1 file changed, 5 insertions(+), 1 deletion(-) Here is the summary with links: - bpf: put file handler if no storage found https://git.kernel.org/bpf/bpf/c/524db191d2f5 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
[PATCH] bpf: put file handler if no storage found
Put file f if inode_storage_ptr() returns NULL. Fixes: 8ea636848aca ("bpf: Implement bpf_local_storage for inodes") Acked-by: KP Singh Signed-off-by: Pan Bian --- kernel/bpf/bpf_inode_storage.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/bpf/bpf_inode_storage.c b/kernel/bpf/bpf_inode_storage.c index 6edff97ad594..089d5071d4fc 100644 --- a/kernel/bpf/bpf_inode_storage.c +++ b/kernel/bpf/bpf_inode_storage.c @@ -125,8 +125,12 @@ static int bpf_fd_inode_storage_update_elem(struct bpf_map *map, void *key, fd = *(int *)key; f = fget_raw(fd); - if (!f || !inode_storage_ptr(f->f_inode)) + if (!f) + return -EBADF; + if (!inode_storage_ptr(f->f_inode)) { + fput(f); return -EBADF; + } sdata = bpf_local_storage_update(f->f_inode, (struct bpf_local_storage_map *)map, -- 2.17.1
Re: [PATCH] bpf: put file handler if no storage found
On Wed, Jan 20, 2021 at 8:23 PM Alexei Starovoitov wrote: > > On Tue, Jan 19, 2021 at 4:03 AM Pan Bian wrote: > > > > Put file f if inode_storage_ptr() returns NULL. > > > > Signed-off-by: Pan Bian Thanks for fixing this! (You can add my ack with the fixes tag when you resubmit) Fixes: 8ea636848aca ("bpf: Implement bpf_local_storage for inodes") Acked-by: KP Singh > > --- > > kernel/bpf/bpf_inode_storage.c | 6 +- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/kernel/bpf/bpf_inode_storage.c b/kernel/bpf/bpf_inode_storage.c > > index 6edff97ad594..089d5071d4fc 100644 > > --- a/kernel/bpf/bpf_inode_storage.c > > +++ b/kernel/bpf/bpf_inode_storage.c > > @@ -125,8 +125,12 @@ static int bpf_fd_inode_storage_update_elem(struct > > bpf_map *map, void *key, > > > > fd = *(int *)key; > > f = fget_raw(fd); > > - if (!f || !inode_storage_ptr(f->f_inode)) > > + if (!f) > > + return -EBADF; > > + if (!inode_storage_ptr(f->f_inode)) { > > + fput(f); > > return -EBADF; > > + } > > Good catch. > Somehow the patch is not in patchwork. > Could you please resubmit with Fixes tag and reduce cc list? > I guess it's hitting some spam filters in vger.
Re: [PATCH] bpf: put file handler if no storage found
On Tue, Jan 19, 2021 at 4:03 AM Pan Bian wrote: > > Put file f if inode_storage_ptr() returns NULL. > > Signed-off-by: Pan Bian > --- > kernel/bpf/bpf_inode_storage.c | 6 +- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/kernel/bpf/bpf_inode_storage.c b/kernel/bpf/bpf_inode_storage.c > index 6edff97ad594..089d5071d4fc 100644 > --- a/kernel/bpf/bpf_inode_storage.c > +++ b/kernel/bpf/bpf_inode_storage.c > @@ -125,8 +125,12 @@ static int bpf_fd_inode_storage_update_elem(struct > bpf_map *map, void *key, > > fd = *(int *)key; > f = fget_raw(fd); > - if (!f || !inode_storage_ptr(f->f_inode)) > + if (!f) > + return -EBADF; > + if (!inode_storage_ptr(f->f_inode)) { > + fput(f); > return -EBADF; > + } Good catch. Somehow the patch is not in patchwork. Could you please resubmit with Fixes tag and reduce cc list? I guess it's hitting some spam filters in vger.