Re: [PATCH 4.17] x86/mm: Don't free P4D table when it is folded at runtime

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 07/02/2018 11:47 AM, Greg KH wrote:
> On Mon, Jul 02, 2018 at 11:45:36AM +0300, Andrey Ryabinin wrote:
>> From: "gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
> Huh?  I didn't write this patch.

Right, I've noticed this and sent v2 with this fixed.
It's because I did 'git am' on your email with backported patch, but missed
that git changed the autorship.


> 
>>
>> commit 0e311d237d7f3022b7dafb639b42541bfb42fe94 upstream.
>>
>> When the P4D page table layer is folded at runtime, the p4d_free()
>> should do nothing, the same as in <asm-generic/pgtable-nop4d.h>.
>>
>> It seems this bug should cause double-free in efi_call_phys_epilog(),
>> but I don't know how to trigger that code path, so I can't confirm that
>> by testing.
>>
>> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
>> Reviewed-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: stable@xxxxxxxxxxxxxxx # 4.17
>> Fixes: 98219dda2ab5 ("x86/mm: Fold p4d page table layer at runtime")
>> Link: http://lkml.kernel.org/r/20180625102427.15015-1-aryabinin@xxxxxxxxxxxxx
>> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
>> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
>> ---
>>  arch/x86/include/asm/pgalloc.h | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/x86/include/asm/pgalloc.h b/arch/x86/include/asm/pgalloc.h
>> index 263c142a6a6c..f65e9e1cea4c 100644
>> --- a/arch/x86/include/asm/pgalloc.h
>> +++ b/arch/x86/include/asm/pgalloc.h
>> @@ -184,6 +184,9 @@ static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned long addr)
>>  
>>  static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d)
>>  {
>> +	if (!pgtable_l5_enabled)
>> +		return;
>> +
> 
> Did you test build this patch?
> 

Sure, successfully built on top of 4.17.3

> Please do so, and be careful about author attribution, again, I did not
> write this patch.
> 
> greg k-h
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux