>> 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