From: Dan Carpenter Date: Thu, 15 Aug 2013 05:52:48 +0000 (+0300) Subject: libceph: potential NULL dereference in ceph_osdc_handle_map() X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=53341d7de3f013cc39a3692bdfd02032ce722dff;p=linux-edison.git libceph: potential NULL dereference in ceph_osdc_handle_map() commit b72e19b9225d4297a18715b0998093d843d170fa upstream. There are two places where we read "nr_maps" if both of them are set to zero then we would hit a NULL dereference here. Signed-off-by: Dan Carpenter Reviewed-by: Sage Weil Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 65d8c3b7df9..311161eac5c 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -1786,6 +1786,8 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg) nr_maps--; } + if (!osdc->osdmap) + goto bad; done: downgrade_write(&osdc->map_sem); ceph_monc_got_osdmap(&osdc->client->monc, osdc->osdmap->epoch);