On 12/10/18 8:32 AM, Keith Busch wrote: > On Sun, Dec 09, 2018 at 07:08:14PM -0800, Bart Van Assche wrote: >> According to what I found in >> https://bugzilla.kernel.org/show_bug.cgi?id=201935 patch "block: Clear >> kernel memory before copying to user" broke tape access. Hence revert >> that patch. > > Instead of reverting back to the leaking arbitrary kernel memory, why > not just make a fix on top of it? This should do it: > > --- > diff --git a/block/bio.c b/block/bio.c > index c4ef8aa46452..55a5386fd431 100644 > --- a/block/bio.c > +++ b/block/bio.c > @@ -1262,7 +1262,8 @@ struct bio *bio_copy_user_iov(struct request_queue *q, > if (ret) > goto cleanup; > } else { > - zero_fill_bio(bio); > + if (bmd->is_our_pages) > + zero_fill_bio(bio); > iov_iter_advance(iter, bio->bi_iter.bi_size); > } > That should be fine, the other case is user mapped memory anyway. -- Jens Axboe