Re: [PATCH bpf-next v2 0/5] cleanup for data casting

From: Edward Cree
Date: Tue Jul 19 2022 - 10:17:19 EST


>> On Mon, Jul 18, 2022 at 5:59 AM Pu Lehui <pulehui@xxxxxxxxxx> wrote:
>>> Previously, we found that memory address casting in libbpf
>>> was not appropriate [0]. Memory addresses are conceptually
>>> unsigned, (unsigned long) casting makes more sense. With the
>>> suggestion of Daniel, we applied this cleanup to the entire
>>> bpf, and there is no functional change.
Fwiw, pointers in C aren't necessarily unsigned; some versions of
gcc have treated them as signed and — if no object can straddle
the sign boundary — it's even allowed by the standard. [1]
(And at a hardware level, a memory address is just a pattern of
bits on an address bus, which isn't arithmetic at all.)

-ed

[1]: https://yarchive.net/comp/linux/signed_pointers.html