Re: [PATCH 2/2] config: android-recommended: Disable BPF_UNPRIV_DEFAULT_OFF for netd

From: Marijn Suijten
Date: Wed Feb 02 2022 - 04:39:09 EST


On 2022-02-02 10:33:55, Marijn Suijten wrote:
> From: Marijn Suijten <marijns95@xxxxxxxxx>

Feel free to disregard this `From:` override, didn't catch it when
preparing the patches from a different machine.

- Marijn

> AOSP's `netd` process fails to start on Android S:
>
> E ClatdController: getClatEgress4MapFd() failure: Operation not permitted
> I netd : Initializing ClatdController: 410us
> E netd : Failed to start trafficcontroller: (Status[code: 1, msg: "Pinned map not accessible or does not exist: (/sys/fs/bpf/map_netd_cookie_tag_map): Operation not permitted"])
> E netd : CRITICAL: sleeping 60 seconds, netd exiting with failure, crash loop likely!
>
> And on Android R:
>
> I ClatdController: 4.9+ kernel and device shipped with P - clat ebpf might work.
> E ClatdController: getClatEgressMapFd() failure: Operation not permitted
> I netd : Initializing ClatdController: 1409us
> E netd : Failed to start trafficcontroller: (Status[code: 1, msg: "Pinned map not accessible or does not exist: (/sys/fs/bpf/map_netd_cookie_tag_map): Operation not permitted"])
>
> These permission issues are caused by 08389d888287 ("bpf: Add kconfig
> knob for disabling unpriv bpf by default") because AOSP does not provide
> netd the `SYS_ADMIN` capability, and also has no userspace support for
> the `BPF` capability yet.
>
> Cc: Amit Pundir <amit.pundir@xxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Suggested-by: John Stultz <john.stultz@xxxxxxxxxx>
> [John suggested this in https://linaro.atlassian.net/browse/ACK-107?focusedCommentId=117382]
> Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
> ---
> kernel/configs/android-recommended.config | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/configs/android-recommended.config b/kernel/configs/android-recommended.config
> index 22bd76e43aca..e400fbbc8aba 100644
> --- a/kernel/configs/android-recommended.config
> +++ b/kernel/configs/android-recommended.config
> @@ -1,4 +1,5 @@
> # KEEP ALPHABETICALLY SORTED
> +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
> # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> # CONFIG_INPUT_MOUSE is not set
> # CONFIG_LEGACY_PTYS is not set
> --
> 2.35.1
>