Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH] libceph, ceph: potential dereference of null pointer | From | Jeff Layton <> | Date | Thu, 09 Dec 2021 06:20:40 -0500 |
| |
On Thu, 2021-12-09 at 10:50 +0800, Jiasheng Jiang wrote: > The return value of kzalloc() needs to be checked. > To avoid use of null pointer in case of the failure of alloc. > > Fixes: 3d14c5d2b6e1 ("ceph: factor out libceph from Ceph file system") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > net/ceph/osd_client.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c > index ff8624a7c964..3203e8a34370 100644 > --- a/net/ceph/osd_client.c > +++ b/net/ceph/osd_client.c > @@ -1234,6 +1234,8 @@ static struct ceph_osd *create_osd(struct ceph_osd_client *osdc, int onum) > WARN_ON(onum == CEPH_HOMELESS_OSD); > > osd = kzalloc(sizeof(*osd), GFP_NOIO | __GFP_NOFAIL); > + if (!osd) > + return NULL; > osd_init(osd); > osd->o_osdc = osdc; > osd->o_osd = onum;
__GFP_NOFAIL should ensure that it never returns NULL, right?
Also, if you're going to fix this up to handle that error then you probably also need to fix lookup_create_osd to handle a NULL return from create_osd as well. -- Jeff Layton <jlayton@kernel.org>
| ![\](/images/icornerr.gif) |