On Monday July 30, [EMAIL PROTECTED] wrote:
> >
> > Surely we just leaked that bio if (mirror == -1)?
> >
> > better:
> >
> > --- a/drivers/md/raid10.c~md-raid10-fix-use-after-free-of-bio
> > +++ a/drivers/md/raid10.c
> > @@ -1534
rdev = conf->mirrors[mirror].rdev;
> > if (printk_ratelimit())
> > printk(KERN_ERR "raid10: %s:
> > redirecting sector %llu to"
> >
> >
>
> Surely we just leaked that bio if (mirro
const int do_sync =
> bio_sync(r10_bio->master_bio);
> + bio_put(bio);
> rdev = conf->mirrors[mirror].rdev;
> if (printk_ratelimit())
> printk(KERN_ERR "raid10: %s:
> redire
In case of read errors raid10d tries to print a nice error message,
unfortunately using data from an already put bio.
Signed-off-by: Maik Hampel <[EMAIL PROTECTED]>
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index f730a14..ea1b3e3 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid