From: Sage Weil Date: Tue, 16 Mar 2010 05:20:39 +0000 (-0700) Subject: ceph: fix null pointer deref of r_osd in debug output X-Git-Tag: v2.6.34-rc3~6^2~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12eadc190038e68b5884a4aa313b6ab89ba60f5e;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git ceph: fix null pointer deref of r_osd in debug output This causes an oops when debug output is enabled and we kick an osd request with no current r_osd (sometime after an osd failure). Check the pointer before dereferencing. Signed-off-by: Sage Weil --- diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c index dbe63db9..2210382 100644 --- a/fs/ceph/osd_client.c +++ b/fs/ceph/osd_client.c @@ -913,7 +913,7 @@ static int __kick_requests(struct ceph_osd_client *osdc, kick: dout("kicking %p tid %llu osd%d\n", req, req->r_tid, - req->r_osd->o_osd); + req->r_osd ? req->r_osd->o_osd : -1); req->r_flags |= CEPH_OSD_FLAG_RETRY; err = __send_request(osdc, req); if (err) {