All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Thumshirn <jth@kernel.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH v4 00/22] bio: check return values of bio_add_page
Date: Thu, 20 Apr 2023 12:04:39 +0200	[thread overview]
Message-ID: <20230420100501.32981-1-jth@kernel.org> (raw)

We have two functions for adding a page to a bio, __bio_add_page() which is
used to add a single page to a freshly created bio and bio_add_page() which is
used to add a page to an existing bio.

While __bio_add_page() is expected to succeed, bio_add_page() can fail.

This series converts the callers of bio_add_page() which can easily use
__bio_add_page() to using it and checks the return of bio_add_page() for
callers that don't work on a freshly created bio.

Lastly it marks bio_add_page() as __must_check so we don't have to go again
and audit all callers.

NOTE: David already applied the two btrfs patches to his tree but I've left
them in the series to make the build bot happy.

Changes to v3:
- Added __bio_add_folio and use it in iomap (Willy)
- Mark bio_add_folio must check (Willy)
- s/GFS/GFS2/ (Andreas)

Changes to v2:
- Removed 'wont fail' comments pointed out by Song

Changes to v1:
- Removed pointless comment pointed out by Willy
- Changed commit messages pointed out by Damien
- Colledted Damien's Reviews and Acks

Johannes Thumshirn (22):
  swap: use __bio_add_page to add page to bio
  drbd: use __bio_add_page to add page to bio
  dm: dm-zoned: use __bio_add_page for adding single metadata page
  fs: buffer: use __bio_add_page to add single page to bio
  md: use __bio_add_page to add single page
  md: raid5-log: use __bio_add_page to add single page
  md: raid5: use __bio_add_page to add single page to new bio
  btrfs: repair: use __bio_add_page for adding single page
  btrfs: raid56: use __bio_add_page to add single page
  jfs: logmgr: use __bio_add_page to add single page to bio
  gfs2: use __bio_add_page for adding single page to bio
  zonefs: use __bio_add_page for adding single page to bio
  zram: use __bio_add_page for adding single page to bio
  floppy: use __bio_add_page for adding single page to bio
  md: check for failure when adding pages in alloc_behind_master_bio
  md: raid1: use __bio_add_page for adding single page to bio
  md: raid1: check if adding pages to resync bio fails
  dm-crypt: check if adding pages to clone bio fails
  block: mark bio_add_page as __must_check
  block: add __bio_add_folio
  fs: iomap: use __bio_add_folio where possible
  block: mark bio_add_folio as __must_check

 block/bio.c                      |  8 ++++++++
 drivers/block/drbd/drbd_bitmap.c |  4 +---
 drivers/block/floppy.c           |  2 +-
 drivers/block/zram/zram_drv.c    |  2 +-
 drivers/md/dm-crypt.c            |  9 ++++++++-
 drivers/md/dm-zoned-metadata.c   |  6 +++---
 drivers/md/md.c                  |  4 ++--
 drivers/md/raid1-10.c            | 11 ++++++-----
 drivers/md/raid1.c               |  7 +++++--
 drivers/md/raid10.c              | 20 ++++++++++----------
 drivers/md/raid5-cache.c         |  2 +-
 drivers/md/raid5-ppl.c           |  4 ++--
 fs/btrfs/bio.c                   |  2 +-
 fs/btrfs/raid56.c                |  2 +-
 fs/buffer.c                      |  2 +-
 fs/gfs2/ops_fstype.c             |  2 +-
 fs/iomap/buffered-io.c           |  6 +++---
 fs/jfs/jfs_logmgr.c              |  4 ++--
 fs/zonefs/super.c                |  2 +-
 include/linux/bio.h              |  5 +++--
 mm/page_io.c                     |  8 ++++----
 21 files changed, 65 insertions(+), 47 deletions(-)


base-commit: af67688dca57999fd848f051eeea1d375ba546b2
-- 
2.39.2


WARNING: multiple messages have this Message-ID (diff)
From: Johannes Thumshirn <jth@kernel.org>
To: axboe@kernel.dk
Cc: shaggy@kernel.org, jfs-discussion@lists.sourceforge.net,
	linux-mm@kvack.org, dm-devel@redhat.com, hch@lst.de,
	agruenba@redhat.com, willy@infradead.org,
	cluster-devel@redhat.com, kch@nvidia.com, snitzer@kernel.org,
	ming.lei@redhat.com, linux-block@vger.kernel.org,
	rpeterso@redhat.com, dsterba@suse.com,
	linux-raid@vger.kernel.org, damien.lemoal@wdc.com,
	song@kernel.org, johannes.thumshirn@wdc.com,
	linux-fsdevel@vger.kernel.org,
	Johannes Thumshirn <jth@kernel.org>,
	linux-btrfs@vger.kernel.org
Subject: [dm-devel] [PATCH v4 00/22] bio: check return values of bio_add_page
Date: Thu, 20 Apr 2023 12:04:39 +0200	[thread overview]
Message-ID: <20230420100501.32981-1-jth@kernel.org> (raw)

We have two functions for adding a page to a bio, __bio_add_page() which is
used to add a single page to a freshly created bio and bio_add_page() which is
used to add a page to an existing bio.

While __bio_add_page() is expected to succeed, bio_add_page() can fail.

This series converts the callers of bio_add_page() which can easily use
__bio_add_page() to using it and checks the return of bio_add_page() for
callers that don't work on a freshly created bio.

Lastly it marks bio_add_page() as __must_check so we don't have to go again
and audit all callers.

NOTE: David already applied the two btrfs patches to his tree but I've left
them in the series to make the build bot happy.

Changes to v3:
- Added __bio_add_folio and use it in iomap (Willy)
- Mark bio_add_folio must check (Willy)
- s/GFS/GFS2/ (Andreas)

Changes to v2:
- Removed 'wont fail' comments pointed out by Song

Changes to v1:
- Removed pointless comment pointed out by Willy
- Changed commit messages pointed out by Damien
- Colledted Damien's Reviews and Acks

Johannes Thumshirn (22):
  swap: use __bio_add_page to add page to bio
  drbd: use __bio_add_page to add page to bio
  dm: dm-zoned: use __bio_add_page for adding single metadata page
  fs: buffer: use __bio_add_page to add single page to bio
  md: use __bio_add_page to add single page
  md: raid5-log: use __bio_add_page to add single page
  md: raid5: use __bio_add_page to add single page to new bio
  btrfs: repair: use __bio_add_page for adding single page
  btrfs: raid56: use __bio_add_page to add single page
  jfs: logmgr: use __bio_add_page to add single page to bio
  gfs2: use __bio_add_page for adding single page to bio
  zonefs: use __bio_add_page for adding single page to bio
  zram: use __bio_add_page for adding single page to bio
  floppy: use __bio_add_page for adding single page to bio
  md: check for failure when adding pages in alloc_behind_master_bio
  md: raid1: use __bio_add_page for adding single page to bio
  md: raid1: check if adding pages to resync bio fails
  dm-crypt: check if adding pages to clone bio fails
  block: mark bio_add_page as __must_check
  block: add __bio_add_folio
  fs: iomap: use __bio_add_folio where possible
  block: mark bio_add_folio as __must_check

 block/bio.c                      |  8 ++++++++
 drivers/block/drbd/drbd_bitmap.c |  4 +---
 drivers/block/floppy.c           |  2 +-
 drivers/block/zram/zram_drv.c    |  2 +-
 drivers/md/dm-crypt.c            |  9 ++++++++-
 drivers/md/dm-zoned-metadata.c   |  6 +++---
 drivers/md/md.c                  |  4 ++--
 drivers/md/raid1-10.c            | 11 ++++++-----
 drivers/md/raid1.c               |  7 +++++--
 drivers/md/raid10.c              | 20 ++++++++++----------
 drivers/md/raid5-cache.c         |  2 +-
 drivers/md/raid5-ppl.c           |  4 ++--
 fs/btrfs/bio.c                   |  2 +-
 fs/btrfs/raid56.c                |  2 +-
 fs/buffer.c                      |  2 +-
 fs/gfs2/ops_fstype.c             |  2 +-
 fs/iomap/buffered-io.c           |  6 +++---
 fs/jfs/jfs_logmgr.c              |  4 ++--
 fs/zonefs/super.c                |  2 +-
 include/linux/bio.h              |  5 +++--
 mm/page_io.c                     |  8 ++++----
 21 files changed, 65 insertions(+), 47 deletions(-)


base-commit: af67688dca57999fd848f051eeea1d375ba546b2
-- 
2.39.2

--
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 <jth@kernel.org>
To: axboe@kernel.dk
Cc: johannes.thumshirn@wdc.com, agruenba@redhat.com,
	cluster-devel@redhat.com, damien.lemoal@wdc.com,
	dm-devel@redhat.com, dsterba@suse.com, hare@suse.de, hch@lst.de,
	jfs-discussion@lists.sourceforge.net, kch@nvidia.com,
	linux-block@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	linux-raid@vger.kernel.org, ming.lei@redhat.com,
	rpeterso@redhat.com, shaggy@kernel.org, snitzer@kernel.org,
	song@kernel.org, willy@infradead.org,
	Johannes Thumshirn <jth@kernel.org>
Subject: [PATCH v4 00/22] bio: check return values of bio_add_page
Date: Thu, 20 Apr 2023 12:04:39 +0200	[thread overview]
Message-ID: <20230420100501.32981-1-jth@kernel.org> (raw)

We have two functions for adding a page to a bio, __bio_add_page() which is
used to add a single page to a freshly created bio and bio_add_page() which is
used to add a page to an existing bio.

While __bio_add_page() is expected to succeed, bio_add_page() can fail.

This series converts the callers of bio_add_page() which can easily use
__bio_add_page() to using it and checks the return of bio_add_page() for
callers that don't work on a freshly created bio.

Lastly it marks bio_add_page() as __must_check so we don't have to go again
and audit all callers.

NOTE: David already applied the two btrfs patches to his tree but I've left
them in the series to make the build bot happy.

Changes to v3:
- Added __bio_add_folio and use it in iomap (Willy)
- Mark bio_add_folio must check (Willy)
- s/GFS/GFS2/ (Andreas)

Changes to v2:
- Removed 'wont fail' comments pointed out by Song

Changes to v1:
- Removed pointless comment pointed out by Willy
- Changed commit messages pointed out by Damien
- Colledted Damien's Reviews and Acks

Johannes Thumshirn (22):
  swap: use __bio_add_page to add page to bio
  drbd: use __bio_add_page to add page to bio
  dm: dm-zoned: use __bio_add_page for adding single metadata page
  fs: buffer: use __bio_add_page to add single page to bio
  md: use __bio_add_page to add single page
  md: raid5-log: use __bio_add_page to add single page
  md: raid5: use __bio_add_page to add single page to new bio
  btrfs: repair: use __bio_add_page for adding single page
  btrfs: raid56: use __bio_add_page to add single page
  jfs: logmgr: use __bio_add_page to add single page to bio
  gfs2: use __bio_add_page for adding single page to bio
  zonefs: use __bio_add_page for adding single page to bio
  zram: use __bio_add_page for adding single page to bio
  floppy: use __bio_add_page for adding single page to bio
  md: check for failure when adding pages in alloc_behind_master_bio
  md: raid1: use __bio_add_page for adding single page to bio
  md: raid1: check if adding pages to resync bio fails
  dm-crypt: check if adding pages to clone bio fails
  block: mark bio_add_page as __must_check
  block: add __bio_add_folio
  fs: iomap: use __bio_add_folio where possible
  block: mark bio_add_folio as __must_check

 block/bio.c                      |  8 ++++++++
 drivers/block/drbd/drbd_bitmap.c |  4 +---
 drivers/block/floppy.c           |  2 +-
 drivers/block/zram/zram_drv.c    |  2 +-
 drivers/md/dm-crypt.c            |  9 ++++++++-
 drivers/md/dm-zoned-metadata.c   |  6 +++---
 drivers/md/md.c                  |  4 ++--
 drivers/md/raid1-10.c            | 11 ++++++-----
 drivers/md/raid1.c               |  7 +++++--
 drivers/md/raid10.c              | 20 ++++++++++----------
 drivers/md/raid5-cache.c         |  2 +-
 drivers/md/raid5-ppl.c           |  4 ++--
 fs/btrfs/bio.c                   |  2 +-
 fs/btrfs/raid56.c                |  2 +-
 fs/buffer.c                      |  2 +-
 fs/gfs2/ops_fstype.c             |  2 +-
 fs/iomap/buffered-io.c           |  6 +++---
 fs/jfs/jfs_logmgr.c              |  4 ++--
 fs/zonefs/super.c                |  2 +-
 include/linux/bio.h              |  5 +++--
 mm/page_io.c                     |  8 ++++----
 21 files changed, 65 insertions(+), 47 deletions(-)


base-commit: af67688dca57999fd848f051eeea1d375ba546b2
-- 
2.39.2


             reply	other threads:[~2023-04-20 10:04 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-20 10:04 Johannes Thumshirn [this message]
2023-04-20 10:04 ` [PATCH v4 00/22] bio: check return values of bio_add_page Johannes Thumshirn
2023-04-20 10:04 ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 01/22] swap: use __bio_add_page to add page to bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 02/22] drbd: " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 03/22] dm: dm-zoned: use __bio_add_page for adding single metadata page Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 04/22] fs: buffer: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 05/22] md: use __bio_add_page to add single page Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 06/22] md: raid5-log: " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 07/22] md: raid5: use __bio_add_page to add single page to new bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 08/22] btrfs: repair: use __bio_add_page for adding single page Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 09/22] btrfs: raid56: use __bio_add_page to add " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 10/22] jfs: logmgr: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 11/22] gfs2: use __bio_add_page for adding " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 12/22] zonefs: " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 13/22] zram: " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-21  6:57   ` [Cluster-devel] " Sergey Senozhatsky
2023-04-21  6:57     ` Sergey Senozhatsky
2023-04-21  6:57     ` [dm-devel] " Sergey Senozhatsky
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 14/22] floppy: " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 15/22] md: check for failure when adding pages in alloc_behind_master_bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 16/22] md: raid1: use __bio_add_page for adding single page to bio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 17/22] md: raid1: check if adding pages to resync bio fails Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 18/22] dm-crypt: check if adding pages to clone " Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 19/22] block: mark bio_add_page as __must_check Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:04 ` [Cluster-devel] [PATCH v4 20/22] block: add __bio_add_folio Johannes Thumshirn
2023-04-20 10:04   ` Johannes Thumshirn
2023-04-20 10:04   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:05 ` [Cluster-devel] [PATCH v4 21/22] fs: iomap: use __bio_add_folio where possible Johannes Thumshirn
2023-04-20 10:05   ` Johannes Thumshirn
2023-04-20 10:05   ` [dm-devel] " Johannes Thumshirn
2023-04-20 10:05 ` [Cluster-devel] [PATCH v4 22/22] block: mark bio_add_folio as __must_check Johannes Thumshirn
2023-04-20 10:05   ` Johannes Thumshirn
2023-04-20 10:05   ` [dm-devel] " Johannes Thumshirn

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=20230420100501.32981-1-jth@kernel.org \
    --to=jth@kernel.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.