[PATCH v2 0/2] kdump: simplify code
Christophe Leroy
christophe.leroy at csgroup.eu
Sat Dec 11 11:32:16 PST 2021
Le 11/12/2021 à 18:53, David Laight a écrit :
> From: Tiezhu Yang
>> Sent: 11 December 2021 03:33
>>
>> v2:
>> -- add copy_to_user_or_kernel() in lib/usercopy.c
>> -- define userbuf as bool type
>
> Instead of having a flag to indicate whether the buffer is user or kernel,
> would it be better to have two separate buffer pointers.
> One for a user space buffer, the other for a kernel space buffer.
> Exactly one of the buffers should always be NULL.
>
> That way the flag is never incorrectly set.
>
It's a very good idea.
I was worried about the casts forcing the __user property away and back.
With that approach we will preserve the __user tags on user buffers and
enable sparse checking.
The only little drawback I see is that apparently GCC doesn't consider
the NULL value as a constant and therefore doesn't perform constant
folding on pointers. Not sure if this is a problem here.
Christophe
More information about the linux-riscv
mailing list