Re: [PATCH] x86/mm/pti: remove dead logic during user pagetable population
From: Jike Song
Date: Sat Jan 06 2018 - 22:01:10 EST
On Sun, Jan 7, 2018 at 3:33 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Sun, 7 Jan 2018, Jike Song wrote:
>
> Care to explain why you think this is not needed?
>
Hi Thomas,
Look at one of the original code snippets:
162 if (pgd_none(*pgd)) {
163 unsigned long new_p4d_page = __get_free_page(gfp);
164 if (!new_p4d_page)
165 return NULL;
166
167 if (pgd_none(*pgd)) {
168 set_pgd(pgd, __pgd(_KERNPG_TABLE |
__pa(new_p4d_page)));
169 new_p4d_page = 0;
170 }
171 if (new_p4d_page)
172 free_page(new_p4d_page);
173 }
Correct me if I'm too dumb to see the rationale here, but to me there
can't be any difference between
two pgd_none(*pgd) of L162 and L167, so it is always false in L171.
> Thanks,
>
> tglx
--
Thanks,
Jike