On Thu, Oct 8, 2020 at 3:34 AM Luka Perkov <luka.perkov@xxxxxxxxxx> wrote: > > Hello Andrii, > > On Wed, Oct 7, 2020 at 8:01 PM Andrii Nakryiko > <andrii.nakryiko@xxxxxxxxx> wrote: > > > > On Wed, Oct 7, 2020 at 10:56 AM Luka Perkov <luka.perkov@xxxxxxxxxx> wrote: > > > > > > Hello Andrii, > > > > > > On Fri, Oct 2, 2020 at 3:09 AM Andrii Nakryiko <andriin@xxxxxx> wrote: > > > > Patch set implements logic in libbpf to auto-adjust memory size (1-, 2-, 4-, > > > > 8-bytes) of load/store (LD/ST/STX) instructions which have BPF CO-RE field > > > > offset relocation associated with it. In practice this means transparent > > > > handling of 32-bit kernels, both pointer and unsigned integers. Signed > > > > integers are not relocatable with zero-extending loads/stores, so libbpf > > > > poisons them and generates a warning. If/when BPF gets support for sign-extending > > > > loads/stores, it would be possible to automatically relocate them as well. > > > > > > > > All the details are contained in patch #1 comments and commit message. > > > > Patch #2 is a simple change in libbpf to make advanced testing with custom BTF > > > > easier. Patch #3 validates correct uses of auto-resizable loads, as well as > > > > check that libbpf fails invalid uses. > > > > > > > > I'd really appreciate folks that use BPF on 32-bit architectures to test this > > > > out with their BPF programs and report if there are any problems with the > > > > approach. > > > > > > > > Cc: Luka Perkov <luka.perkov@xxxxxxxxxx> > > > > > > First, thank you for the support and sending this series. It took us a > > > bit longer to run the tests as our target hardware still did not fully > > > get complete mainline support and we had to rebase our patches. These > > > are not related to BPF. > > > > > > Related to this patch, we have tested various BPF programs with this > > > patch, and can confirm that it fixed previous issues with pointer > > > offsets that we had and reported at: > > > > > > https://lore.kernel.org/r/CA+XBgLU=8PFkP8S32e4gpst0=R4MFv8rZA5KaO+cEPYSnTRYYw@xxxxxxxxxxxxxx/. > > > > > > Most of our programs now work and we are currently debugging other > > > programs that still aren't working. We are still not sure if the > > > remaining issues are related to this or not, but will let you know > > > sometime this week after further and more detailed investigation. > > > > > > > Ok, great, thanks for the update. > > Just to update you that we have identified that the problem was a > known issue with JIT as we had enabled the BPF_JIT_ALWAYS_ON. > > That said, it would be great to see this series included in 5.10 :) This is purely a libbpf feature, completely agnostic to kernel versions. So you'll get this with upcoming libbpf 0.2.0 release. > > Thanks, > Luka