diff options
| author | Andrea Parri <parri.andrea@gmail.com> | 2026-09-28 10:48:09 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-10-13 16:58:07 +0200 |
| commit | a9fd24bcbe690ed4a5b8ea6a7516fa297fae9360 (patch) | |
| tree | c7cab65ce9f73b5e9979c59b48b72bbca55727de /tools/lib/python | |
| parent | 0d0104adc2c8316433b660cdf6d182a09881864f (diff) | |
| download | linux-next-a9fd24bcbe690ed4a5b8ea6a7516fa297fae9360.tar.gz linux-next-a9fd24bcbe690ed4a5b8ea6a7516fa297fae9360.zip | |
iomap: don't lose a failed direct I/O bio's error when zeroing the tail
iomap_dio_bio_iter() falls through to the sub-block tail zeroing when
the data bio submission fails, so that the rest of the block is still
zeroed and stale data is not exposed. The zeroing result was assigned
to ret, which overwrote the submission error with the successful
zeroing result (zero) and the failed write was reported as success.
iomap_dio_zero() can only return an error from a can't-happen
WARN_ON_ONCE() (nr_vecs exceeding BIO_MAX_VECS, which the existing
comment there says "shall never be reached" for any in-tree
filesystem), so it isn't a real runtime failure worth reporting to
userspace, let alone one worth losing the actual submission error for.
Make iomap_dio_zero() return void and drop the error handling at both
call sites instead of threading the result through a separate
variable.
Fixes: 10553a91652d ("iomap: fix iomap_dio_zero() for fs bs > system page size")
Cc: stable@vger.kernel.org # v6.12
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Pankaj Raghav <p.raghav@samsung.com>
Signed-off-by: Andrea Parri <parri.andrea@gmail.com>
Link: https://patch.msgid.link/0cbce1012f5333690be36a9adafb3e190fe2ca77.1790342457.git.parri.andrea@gmail.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
