diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 3ee4a1da02cd0a8b5812635c45f511d51bae7727..6a59fb8fc999a3660ce9add800dcec8c6b7e345d 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -1793,6 +1793,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);