[PATCH 0/2] bpf: Yet another approach to fix the BPF dispatcher thing

From: Peter Zijlstra
Date: Thu Nov 03 2022 - 08:09:13 EST


Hi!

Even thought the __attribute__((patchable_function_entry())) solution to the
BPF dispatcher woes works, it turns out to not be supported by the whole range
of ageing compilers we support. Specifically this attribute seems to be GCC-8
and later.

This is another approach -- using static_call() to rewrite the dispatcher
function. I've compile tested this on:

x86_64 (inline static-call support)
i386 (out-of-line static-call support)
aargh64 (no static-call support)

A previous version was tested and found working by Bjorn.

It is split in two patches; first reverting the current approach and then
introducing the new for ease of review.