diff mbox series

dm-flakey: Fix memory corruption

Message ID 20250308155011.1742461-1-kent.overstreet@linux.dev (mailing list archive)
State New
Headers show
Series dm-flakey: Fix memory corruption | expand

Commit Message

Kent Overstreet March 8, 2025, 3:50 p.m. UTC
So, this code clearly isn't getting tested - at all. Besides this bug,
the parsing for the "corrupt" modes is also broken.

Guys, don't push broken crap, and figure out how to write some tests.

-- >8 --

Cc: dm-devel@lists.linux.dev
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Mike Snitzer <snitzer@kernel.org>
Cc: Alasdair Kergon <agk@redhat.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 drivers/md/dm-flakey.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Mike Snitzer March 8, 2025, 6:19 p.m. UTC | #1
On Sat, Mar 08, 2025 at 10:50:08AM -0500, Kent Overstreet wrote:
> So, this code clearly isn't getting tested - at all. Besides this bug,
> the parsing for the "corrupt" modes is also broken.
> 
> Guys, don't push broken crap, and figure out how to write some tests.

Thank you sir, may we have another?

Like you never introduced a bug in your life?

Not going to tolerate your entitled primadonna attitude here.  You are
capable of being better, you've chosen not to be on this issue (twice)

> -- >8 --

Also, your patch header is pathetically bad.  But we get it, you're
far too busy to write a proper patch header that explains your change.

Or adds a Fixes tag, e.g.:

Fixes: 1d9a94389853 ("dm flakey: clone pages on write bio before corrupting them")

> Cc: dm-devel@lists.linux.dev
> Cc: Mikulas Patocka <mpatocka@redhat.com>
> Cc: Mike Snitzer <snitzer@kernel.org>
> Cc: Alasdair Kergon <agk@redhat.com>
> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
> ---
>  drivers/md/dm-flakey.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)

And what's with your inaccurate diffstat?

> diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c
> index 731467d4ed10..5ceb5d68f65c 100644
> --- a/drivers/md/dm-flakey.c
> +++ b/drivers/md/dm-flakey.c
> @@ -426,7 +430,7 @@ static struct bio *clone_bio(struct dm_target *ti, struct flakey_c *fc, struct b
>  	if (!clone)
>  		return NULL;
>  
> -	bio_init(clone, fc->dev->bdev, bio->bi_inline_vecs, nr_iovecs, bio->bi_opf);
> +	bio_init(clone, fc->dev->bdev, clone->bi_inline_vecs, nr_iovecs, bio->bi_opf);
>  
>  	clone->bi_iter.bi_sector = flakey_map_sector(ti, bio->bi_iter.bi_sector);
>  	clone->bi_private = bio;
> -- 
> 2.47.2
>
Kent Overstreet March 8, 2025, 9:50 p.m. UTC | #2
On Sat, Mar 08, 2025 at 01:19:30PM -0500, Mike Snitzer wrote:
> On Sat, Mar 08, 2025 at 10:50:08AM -0500, Kent Overstreet wrote:
> > So, this code clearly isn't getting tested - at all. Besides this bug,
> > the parsing for the "corrupt" modes is also broken.
> > 
> > Guys, don't push broken crap, and figure out how to write some tests.
> 
> Thank you sir, may we have another?
> 
> Like you never introduced a bug in your life?
> 
> Not going to tolerate your entitled primadonna attitude here.  You are
> capable of being better, you've chosen not to be on this issue (twice)

Talking about basic engineering standards is in no way "being a prima
donna". Testing your changes is as basic as it gets, and this code
wasn't tested _at all_.
diff mbox series

Patch

diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c
index 731467d4ed10..5ceb5d68f65c 100644
--- a/drivers/md/dm-flakey.c
+++ b/drivers/md/dm-flakey.c
@@ -426,7 +430,7 @@  static struct bio *clone_bio(struct dm_target *ti, struct flakey_c *fc, struct b
 	if (!clone)
 		return NULL;
 
-	bio_init(clone, fc->dev->bdev, bio->bi_inline_vecs, nr_iovecs, bio->bi_opf);
+	bio_init(clone, fc->dev->bdev, clone->bi_inline_vecs, nr_iovecs, bio->bi_opf);
 
 	clone->bi_iter.bi_sector = flakey_map_sector(ti, bio->bi_iter.bi_sector);
 	clone->bi_private = bio;