All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Damien Le Moal <damien.lemoal@wdc.com>,
	Ming Lei <ming.lei@redhat.com>,
	linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, dm-devel@redhat.com,
	Song Liu <song@kernel.org>,
	linux-raid@vger.kernel.org, Mike Snitzer <snitzer@kernel.org>,
	Matthew Wilcox <willy@infradead.org>,
	Dave Kleikamp <shaggy@kernel.org>,
	jfs-discussion@lists.sourceforge.net, cluster-devel@redhat.com,
	Bob Peterson <rpeterso@redhat.com>,
	Andreas Gruenbacher <agruenba@redhat.com>,
	Mikulas Patocka <mpatocka@redhat.com>,
	gouha7@uniontech.com,
	Johannes Thumshirn <johannes.thumshirn@wdc.com>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>
Subject: [PATCH v7 13/20] md: check for failure when adding pages in alloc_behind_master_bio
Date: Wed, 31 May 2023 04:50:36 -0700	[thread overview]
Message-ID: <827aa12d44ebf3f50b41b47f5cedc0f80179f2c1.1685532726.git.johannes.thumshirn@wdc.com> (raw)
In-Reply-To: <cover.1685532726.git.johannes.thumshirn@wdc.com>

alloc_behind_master_bio() can possibly add multiple pages to a bio, but it
is not checking for the return value of bio_add_page() if adding really
succeeded.

Check if the page adding succeeded and if not bail out.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 drivers/md/raid1.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 68a9e2d9985b..8283ef177f6c 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1147,7 +1147,10 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio,
 		if (unlikely(!page))
 			goto free_pages;
 
-		bio_add_page(behind_bio, page, len, 0);
+		if (!bio_add_page(behind_bio, page, len, 0)) {
+			free_page(page);
+			goto free_pages;
+		}
 
 		size -= len;
 		i++;
-- 
2.40.1


WARNING: multiple messages have this Message-ID (diff)
From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Dave Kleikamp <shaggy@kernel.org>,
	jfs-discussion@lists.sourceforge.net, Song Liu <song@kernel.org>,
	dm-devel@redhat.com, Christoph Hellwig <hch@lst.de>,
	Andreas Gruenbacher <agruenba@redhat.com>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Matthew Wilcox <willy@infradead.org>,
	cluster-devel@redhat.com, Chaitanya Kulkarni <kch@nvidia.com>,
	Mike Snitzer <snitzer@kernel.org>, Ming Lei <ming.lei@redhat.com>,
	linux-raid@vger.kernel.org, Bob Peterson <rpeterso@redhat.com>,
	Mikulas Patocka <mpatocka@redhat.com>,
	gouha7@uniontech.com, linux-block@vger.kernel.org,
	Damien Le Moal <damien.lemoal@wdc.com>,
	linux-mm@kvack.org,
	Johannes Thumshirn <johannes.thumshirn@wdc.com>,
	linux-fsdevel@vger.kernel.org
Subject: [dm-devel] [PATCH v7 13/20] md: check for failure when adding pages in alloc_behind_master_bio
Date: Wed, 31 May 2023 04:50:36 -0700	[thread overview]
Message-ID: <827aa12d44ebf3f50b41b47f5cedc0f80179f2c1.1685532726.git.johannes.thumshirn@wdc.com> (raw)
In-Reply-To: <cover.1685532726.git.johannes.thumshirn@wdc.com>

alloc_behind_master_bio() can possibly add multiple pages to a bio, but it
is not checking for the return value of bio_add_page() if adding really
succeeded.

Check if the page adding succeeded and if not bail out.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 drivers/md/raid1.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 68a9e2d9985b..8283ef177f6c 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1147,7 +1147,10 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio,
 		if (unlikely(!page))
 			goto free_pages;
 
-		bio_add_page(behind_bio, page, len, 0);
+		if (!bio_add_page(behind_bio, page, len, 0)) {
+			free_page(page);
+			goto free_pages;
+		}
 
 		size -= len;
 		i++;
-- 
2.40.1

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


WARNING: multiple messages have this Message-ID (diff)
From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH v7 13/20] md: check for failure when adding pages in alloc_behind_master_bio
Date: Wed, 31 May 2023 04:50:36 -0700	[thread overview]
Message-ID: <827aa12d44ebf3f50b41b47f5cedc0f80179f2c1.1685532726.git.johannes.thumshirn@wdc.com> (raw)
In-Reply-To: <cover.1685532726.git.johannes.thumshirn@wdc.com>

alloc_behind_master_bio() can possibly add multiple pages to a bio, but it
is not checking for the return value of bio_add_page() if adding really
succeeded.

Check if the page adding succeeded and if not bail out.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 drivers/md/raid1.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 68a9e2d9985b..8283ef177f6c 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1147,7 +1147,10 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio,
 		if (unlikely(!page))
 			goto free_pages;
 
-		bio_add_page(behind_bio, page, len, 0);
+		if (!bio_add_page(behind_bio, page, len, 0)) {
+			free_page(page);
+			goto free_pages;
+		}
 
 		size -= len;
 		i++;
-- 
2.40.1


  parent reply	other threads:[~2023-05-31 11:53 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-31 11:50 [PATCH v7 00/20] bio: check return values of bio_add_page Johannes Thumshirn
2023-05-31 11:50 ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 01/20] swap: use __bio_add_page to add page to bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 02/20] drbd: " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 03/20] dm: dm-zoned: use __bio_add_page for adding single metadata page Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 04/20] fs: buffer: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 05/20] md: use __bio_add_page to add single page Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 06/20] md: raid5-log: " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 07/20] md: raid5: use __bio_add_page to add single page to new bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 08/20] jfs: logmgr: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 09/20] gfs2: use __bio_add_page for adding " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 10/20] zonefs: " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 11/20] zram: " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 12/20] floppy: " Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` Johannes Thumshirn [this message]
2023-05-31 11:50   ` [Cluster-devel] [PATCH v7 13/20] md: check for failure when adding pages in alloc_behind_master_bio Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 14/20] md: raid1: use __bio_add_page for adding single page to bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 15/20] md: raid1: check if adding pages to resync bio fails Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 16/20] dm-crypt: use __bio_add_page to add single page to clone bio Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:50 ` [PATCH v7 17/20] block: mark bio_add_page as __must_check Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 12:32   ` Christoph Hellwig
2023-05-31 12:32     ` [Cluster-devel] " Christoph Hellwig
2023-05-31 12:32     ` [dm-devel] " Christoph Hellwig
2023-05-31 11:50 ` [PATCH v7 18/20] block: add bio_add_folio_nofail Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 12:32   ` Christoph Hellwig
2023-05-31 12:32     ` [Cluster-devel] " Christoph Hellwig
2023-05-31 12:32     ` [dm-devel] " Christoph Hellwig
2023-05-31 11:50 ` [PATCH v7 19/20] fs: iomap: use bio_add_folio_nofail where possible Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 22:36   ` Dave Chinner
2023-05-31 22:36     ` [Cluster-devel] " Dave Chinner
2023-05-31 22:36     ` [dm-devel] " Dave Chinner
2023-06-01  4:20     ` Christoph Hellwig
2023-06-01  4:20       ` [Cluster-devel] " Christoph Hellwig
2023-06-01  4:20       ` [dm-devel] " Christoph Hellwig
2023-06-01  4:26       ` Dave Chinner
2023-06-01  4:26         ` [Cluster-devel] " Dave Chinner
2023-06-01  4:26         ` [dm-devel] " Dave Chinner
2023-05-31 11:50 ` [PATCH v7 20/20] block: mark bio_add_folio as __must_check Johannes Thumshirn
2023-05-31 11:50   ` [Cluster-devel] " Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn
2023-05-31 12:34   ` Christoph Hellwig
2023-05-31 12:34     ` [Cluster-devel] " Christoph Hellwig
2023-05-31 12:34     ` [dm-devel] " Christoph Hellwig
2023-05-31 15:50 ` [PATCH v7 00/20] bio: check return values of bio_add_page Jens Axboe
2023-05-31 15:50   ` [Cluster-devel] " Jens Axboe
2023-05-31 15:50   ` [dm-devel] " Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=827aa12d44ebf3f50b41b47f5cedc0f80179f2c1.1685532726.git.johannes.thumshirn@wdc.com \
    --to=johannes.thumshirn@wdc.com \
    --cc=agruenba@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=cluster-devel@redhat.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=damien.lemoal@wdc.com \
    --cc=dm-devel@redhat.com \
    --cc=gouha7@uniontech.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jfs-discussion@lists.sourceforge.net \
    --cc=kch@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=mpatocka@redhat.com \
    --cc=rpeterso@redhat.com \
    --cc=shaggy@kernel.org \
    --cc=snitzer@kernel.org \
    --cc=song@kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.