Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1631339

[PATCH] drbd:fix null pointer deref in _drbd_md_sync_page_io

Path csiph.com!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Heloise <os@iscas.ac.cn>
Newsgroups linux.kernel
Subject [PATCH] drbd:fix null pointer deref in _drbd_md_sync_page_io
Date Wed, 26 Apr 2017 12:10:01 +0200
Message-ID <tAs3v-Rc-15@gated-at.bofh.it> (permalink)
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=1Pml8ExUhPK31bFuZc 0ngJgc+c5kPisJmGH+wRrEPms=; b=qJ/Q7M82NzynHMnZnJy8CIno9nZtCxmMty dtjhHlApKBW4vGwjrr0Yj3FCEhDP1wrnSYVwQ9pP94L2eQMSwcD4NFtsmOev4F9f moLXt/hc4ZePGZEOmXlNoIE0cbyRBBcZ7g5SDkwMPaEvPx6VPSwt+nh3TYc/IkX9 Pxcudwj6s=
X-Mailer git-send-email 2.1.0
X-Cm-Transid EsCowAC3g72qbwBZJtXRAg--.37502S2
X-Coremail-Antispam 1Uf129KBjvdXoWrKryfKw45Cw45AF47Gr1xZrb_yoW3XrgEkF 4xXrnrXr1kKr1Skr1j9345Zr9Yka18XFyxZr43tFn3Ca47XF42qrnrurn8Aws8W348Ga1v k3ZIqr1Igrn2gjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUnGsjUUUUUU==
X-Originating-IP [124.16.139.198]
X-Cm-Senderinfo xnhu0vxosd3uhkbx1vxdwhqiywtou0bp/xtbBSQrFglaDtqfZ9gAAsv
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 25
Organization linux.* mail to news gateway
X-Original-Cc drbd-dev@lists.linbit.com, linux-kernel@vger.kernel.org, Heloise <os@iscas.ac.cn>
X-Original-Date Wed, 26 Apr 2017 02:49:37 -0700
X-Original-Message-ID <1493200177-10699-1-git-send-email-os@iscas.ac.cn>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1631339

Show key headers only | View raw


The return value of bio_alloc_drbd can be NULL and is used without
validation, which may cause null-pointer dereference, fix it.

Signed-off-by: Heloise <os@iscas.ac.cn>
---
 drivers/block/drbd/drbd_actlog.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c
index 8d7bcfa..d6bb30e 100644
--- a/drivers/block/drbd/drbd_actlog.c
+++ b/drivers/block/drbd/drbd_actlog.c
@@ -151,6 +151,10 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
 	op_flags |= REQ_SYNC;
 
 	bio = bio_alloc_drbd(GFP_NOIO);
+	if (!bio) {
+		err = -ENOMEM;
+		return err;
+	}
 	bio->bi_bdev = bdev->md_bdev;
 	bio->bi_iter.bi_sector = sector;
 	err = -EIO;
-- 
2.1.0

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] drbd:fix null pointer deref in _drbd_md_sync_page_io  Heloise <os@iscas.ac.cn> - 2017-04-26 12:10 +0200
  Re: [PATCH] drbd:fix null pointer deref in _drbd_md_sync_page_io Lars Ellenberg <lars.ellenberg@linbit.com> - 2017-04-26 15:30 +0200

csiph-web