Re: x86/mm/pageattr: Code without effect?

From: Stefan Bader
Date: Mon Apr 08 2013 - 08:29:06 EST


On 08.04.2013 13:59, Borislav Petkov wrote:
> On Mon, Apr 08, 2013 at 01:53:44PM +0200, Ingo Molnar wrote:
>>
>> * Borislav Petkov <bp@xxxxxxxxx> wrote:
>>
>>>> have been the source of the confusion. Remove the noop initialization
>>>> accordingly.
>>>>
>>>> Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
>>>
>>> Yeah, looks good to me. I've folded it into my pile of changes touching this and
>>> there are no visible issues. [...]
>>
>> Logistics question: is this fix coming upstream-wards via your pile of changes
>> anytime soon?
>
> Actually I was thinking Andrea would send it since it is his fix. And
> besides, my pile is still stinking. :-)
>
> AFAICT, the patch fixes a noop so the current code works anyway - IOW,
> it is basically a code correctness fix which doesn't have any other
> effect. What I mean by that is, no need to go in now for 3.9 and stable.
>
> Long story, short: best it would be, IMO, if Andrea would send it to
> you soonish but you apply it for 3.10 so that it sees a whole cycle of
> testing just in case - it is CPA code after all.

To me it would read as someone or something may use change page attribute to set
PSE or GLOBAL (or any or the masked off bits from canon_pgprot) in an unexpected
way for a huge page as long as it is not split.
As Boris says, it has not happened as far as it is known. Probably even if it
happens it is one of those "on the right day of week when the phase of the moon
is right" errors...
To enforce the PSE bit here sounds reasonably right. And also apply
canon_pgprot, too. GLOBAL I don't know for sure.

By the way there is a usage of new_prot a bit down of try_preserve_large_page
which probably should be changed into req_prot, too. That was enforcing the
canon_pgprot before the change. So that may be considered a regression to before.

-Stefan
>
> Thanks.
>


Attachment: signature.asc
Description: OpenPGP digital signature