On Mon, 2018-12-10 at 08:36 -0700, Jens Axboe wrote:
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.
OK, I will test this today Thanks folks!! Laurence