On 9/15/20 9:49 AM, Vasily Averin wrote:
> On 9/14/20 2:16 PM, Andrey Ryabinin wrote:
>> @@ -96,7 +97,8 @@ static void user_free_payload_rcu(struct rcu_head *head)
>> struct user_key_payload *payload;
>>
>> payload = container_of(head, struct user_key_payload, rcu);
>> -
On 9/14/20 2:16 PM, Andrey Ryabinin wrote:
> @@ -96,7 +97,8 @@ static void user_free_payload_rcu(struct rcu_head *head)
> struct user_key_payload *payload;
>
> payload = container_of(head, struct user_key_payload, rcu);
> - kzfree(payload);
can payload be NULL here?
> +
Adding user key might trigger 4-order allocation which is unreliable
in case of fragmented memory:
[ cut here ]
WARNING: CPU: 3 PID: 134927 at mm/page_alloc.c:3533
__alloc_pages_nodemask+0x1b1/0x600
order 4 >= 3, gfp 0x40d0
Kernel panic - not syncing: panic_on_warn