[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adf233cd-9c7a-1c2e-82bc-83bc8572faa2@redhat.com>
Date: Thu, 27 Feb 2020 10:20:18 +0100
From: David Hildenbrand <david@...hat.com>
To: John Hubbard <jhubbard@...dia.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Andrew Morton <akpm@...ux-foundation.org>,
Christian Borntraeger <borntraeger@...ibm.com>,
Janosch Frank <frankja@...ux.ibm.com>
Cc: Linux Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>
Subject: Re: linux-next: manual merge of the akpm-current tree with the
kvms390 tree
> Yes. Changes to mm/gup.c really should normally go through linux-mm and
> Andrew's tree, if at all possible. This would have been caught, and figured out
> on linux-mm, had that been done--instead of leaving the linux-next maintainer
> trying to guess at how to resolve the conflict.
>
> +Cc David Hildenbrand, who I see looked at the kvms390 proposed patch a bit.
> Maybe he has some opinions, especially about my questions below.
I'll leave figuring out the details to Christian/Claudio (-EBUSY) :)
>
> The fix-up below may (or may not) need some changes:
>
>
> diff --cc mm/gup.c
> index 354bcfbd844b,f589299b0d4a..000000000000
> --- a/mm/gup.c
> +++ b/mm/gup.c
> @@@ -269,18 -470,11 +468,19 @@@ retry
> goto retry;
> }
>
> + /* try_grab_page() does nothing unless FOLL_GET or FOLL_PIN is set. */
> + if (unlikely(!try_grab_page(page, flags))) {
> + page = ERR_PTR(-ENOMEM);
> + goto out;
> + }
> + if (flags & FOLL_GET) {
>
>
> If I'm reading the diff correctly, I believe that line should *maybe* be changed to:
>
> if (flags & (FOLL_GET | FOLL_PIN)) {
>
> ...because each of those flags has a similar effect: pinned pages for DMA or RDMA
> use. So either flag will require a call to arch_make_page_accessible()...except that
> I'm not sure that's what you want. Would the absence of a call to
> arch_make_page_accessible() cause things like pin_user_pages() to not work correctly?
> Seems like it would, to me.
Yes, it's required. From the commit message "enable paging, file backing
etc, it is also necessary to protect the host against a malicious user
space. For example a bad QEMU could simply start direct I/O on such
protected memory.". So we really want to convert the page from
unencrypted/inaccessible to encrypted/accessible at this point (iow,
make it definitely accessible, and make sure it stays accessible).
>
> (I'm pretty unhappy that we have to ask this at the linux-next level.)
Yeah, I *think* this fell through the cracks (on linux-mm, but also in
Andrew's inbox) because the series has a big fat "KVM: s390:" as prefix.
Christian decided to pull it in to give it some churn yesterday (I think
he originally wanted to have this patch and the other KVM protvirt
patches in 5.7 [2] ... but not sure what will happen due to this conflict).
At least now this patch has attention ... although it would have been
better if linux-next admins wouldn't have to mess with this :)
[1] https://lkml.kernel.org/r/20200224114107.4646-2-borntraeger@de.ibm.com
[2] https://lkml.kernel.org/r/20200224114107.4646-1-borntraeger@de.ibm.com
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists