Thread (2 messages) 2 messages, 2 authors, 2021-08-30

Re: [PATCH][next] ceph: Fix dereference of null pointer cf

From: Ilya Dryomov <idryomov@gmail.com>
Date: 2021-08-30 10:14:50
Also in: ceph-devel, lkml

On Sun, Aug 29, 2021 at 8:18 PM Colin King [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Colin Ian King <redacted>

Currently in the case where kmem_cache_alloc fails the null pointer
cf is dereferenced when assigning cf->is_capsnap = false. Fix this
by adding a null pointer check and return path.

Addresses-Coverity: ("Dereference null return")
Fixes: b2f9fa1f3bd8 ("ceph: correctly handle releasing an embedded cap flush")
Signed-off-by: Colin Ian King <redacted>
---
 fs/ceph/caps.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 39db97f149b9..eceb3ceaac48 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -1746,6 +1746,8 @@ struct ceph_cap_flush *ceph_alloc_cap_flush(void)
        struct ceph_cap_flush *cf;

        cf = kmem_cache_alloc(ceph_cap_flush_cachep, GFP_KERNEL);
+       if (!cf)
+               return NULL;
        cf->is_capsnap = false;
        return cf;
 }
--
2.32.0
Hi Colin,

I guess we were too focused on the details of b2f9fa1f3bd8 to spot the
obvious...  It sat in next for a few days but apparently not enough to
be included in the Coverity run.  What is the frequency of these runs?

Applied and added an explicit stable tag since b2f9fa1f3bd8 is already
on its way to stable kernels.

Thanks,

                Ilya
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help