[PATCH] riscv: Protect kernel linear mapping only if CONFIG_STRICT_KERNEL_RWX is set
Alex Ghiti
alex at ghiti.fr
Sat Apr 17 18:26:36 BST 2021
Le 4/16/21 à 12:33 PM, Palmer Dabbelt a écrit :
> On Fri, 16 Apr 2021 03:47:19 PDT (-0700), alex at ghiti.fr wrote:
>> Hi Anup,
>>
>> Le 4/16/21 à 6:41 AM, Anup Patel a écrit :
>>> On Thu, Apr 15, 2021 at 4:34 PM Alexandre Ghiti <alex at ghiti.fr> wrote:
>>>>
>>>> If CONFIG_STRICT_KERNEL_RWX is not set, we cannot set different
>>>> permissions
>>>> to the kernel data and text sections, so make sure it is defined before
>>>> trying to protect the kernel linear mapping.
>>>>
>>>> Signed-off-by: Alexandre Ghiti <alex at ghiti.fr>
>>>
>>> Maybe you should add "Fixes:" tag in commit tag ?
>>
>> Yes you're right I should have done that. Maybe Palmer will squash it as
>> it just entered for-next?
>
> Ya, I'll do it. My testing box was just tied up last night for the rc8
> PR, so I threw this on for-next to get the buildbots to take a look.
> It's a bit too late to take something for this week, as I try to be
> pretty conservative this late in the cycle. There's another kprobes fix
> on the list so if we end up with an rc8 I might send this along with
> that, otherwise this'll just go onto for-next before the linear map
> changes that exercise the bug.
>
> You're more than welcome to just dig up the fixes tag and reply, my
> scripts pull all tags from replies (just like Revieweb-by). Otherwise
> I'll do it myself, most people don't really post Fixes tags that
> accurately so I go through it for pretty much everything anyway.
Here it is:
Fixes: 4b67f48da707 ("riscv: Move kernel mapping outside of linear mapping")
Thanks,
>
> Thanks for sorting this out so quickly!
>
>>
>>>
>>> Otherwise it looks good.
>>>
>>> Reviewed-by: Anup Patel <anup at brainfault.org>
>>
>> Thank you!
>>
>> Alex
>>
>>>
>>> Regards,
>>> Anup
>>>
>>>> ---
>>>> arch/riscv/kernel/setup.c | 8 ++++----
>>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
>>>> index 626003bb5fca..ab394d173cd4 100644
>>>> --- a/arch/riscv/kernel/setup.c
>>>> +++ b/arch/riscv/kernel/setup.c
>>>> @@ -264,12 +264,12 @@ void __init setup_arch(char **cmdline_p)
>>>>
>>>> sbi_init();
>>>>
>>>> - if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX))
>>>> + if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)) {
>>>> protect_kernel_text_data();
>>>> -
>>>> -#if defined(CONFIG_64BIT) && defined(CONFIG_MMU)
>>>> - protect_kernel_linear_mapping_text_rodata();
>>>> +#ifdef CONFIG_64BIT
>>>> + protect_kernel_linear_mapping_text_rodata();
>>>> #endif
>>>> + }
>>>>
>>>> #ifdef CONFIG_SWIOTLB
>>>> swiotlb_init(1);
>>>> --
>>>> 2.20.1
>>>>
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> linux-riscv at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
More information about the linux-riscv
mailing list