lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7b6b9d1a-c160-4198-8a58-0586424b56e5@kernel.org>
Date: Wed, 3 Dec 2025 13:12:44 +0100
From: Jesper Dangaard Brouer <hawk@...nel.org>
To: Kohei Enju <enjuk@...zon.com>, alexei.starovoitov@...il.com
Cc: andrii@...nel.org, ast@...nel.org, bpf@...r.kernel.org,
 daniel@...earbox.net, davem@...emloft.net, eddyz87@...il.com,
 haoluo@...gle.com, john.fastabend@...il.com, jolsa@...nel.org,
 kohei.enju@...il.com, kpsingh@...nel.org, kuba@...nel.org,
 lorenzo@...nel.org, martin.lau@...ux.dev, netdev@...r.kernel.org,
 sdf@...ichev.me, shuah@...nel.org, song@...nel.org, yonghong.song@...ux.dev,
 kernel-team <kernel-team@...udflare.com>
Subject: Re: [PATCH bpf v1 1/2] bpf: cpumap: propagate underlying error in
 cpu_map_update_elem()



On 03/12/2025 11.40, Kohei Enju wrote:
> On Tue, 2 Dec 2025 17:08:32 -0800, Alexei Starovoitov wrote:
> 
>> On Fri, Nov 28, 2025 at 8:05 AM Kohei Enju <enjuk@...zon.com> wrote:
>>>
>>> After commit 9216477449f3 ("bpf: cpumap: Add the possibility to attach
>>> an eBPF program to cpumap"), __cpu_map_entry_alloc() may fail with
>>> errors other than -ENOMEM, such as -EBADF or -EINVAL.
>>>
>>> However, __cpu_map_entry_alloc() returns NULL on all failures, and
>>> cpu_map_update_elem() unconditionally converts this NULL into -ENOMEM.
>>> As a result, user space always receives -ENOMEM regardless of the actual
>>> underlying error.
>>>
>>> Examples of unexpected behavior:
>>>    - Nonexistent fd  : -ENOMEM (should be -EBADF)
>>>    - Non-BPF fd      : -ENOMEM (should be -EINVAL)
>>>    - Bad attach type : -ENOMEM (should be -EINVAL)
>>>
>>> Change __cpu_map_entry_alloc() to return ERR_PTR(err) instead of NULL
>>> and have cpu_map_update_elem() propagate this error.
>>>
>>> Fixes: 9216477449f3 ("bpf: cpumap: Add the possibility to attach an eBPF program to cpumap")
>>
>> The current behavior is what it is. It's not a bug and
>> this patch is not a fix. It's probably an ok improvement,
>> but since it changes user visible behavior we have to be careful.
> 
> Oops, got it.
> When I resend, I'll remove the tag and send to bpf-next, not to bpf.
> 
> Thank you for taking a look.
> 
>>
>> I'd like Jesper and/or other cpumap experts to confirm that it's ok.
>>
> 
> Sure, I'd like to wait for reactions from cpumap experts.

Skimmed the code changes[1] and they look good to me :-)

Bcc'ed some Cloudflare people that use cpumap, so add link to change:
  [1] https://lore.kernel.org/all/20251128160504.57844-2-enjuk@amazon.com/
  ... if they want to object

--Jesper

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ