HID: bpf: mark struct hid_device as safe BPF pointer

Commit ee9ad135b2 ("bpf: Reject a store through a fault prone
pointer") in the BPF tree makes the verifier reject any writes to
hid_device->{name,uniq,phys}. A simple solution is to mark the struct
hid_device as safe from a BPF point of view.

Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This commit is contained in:
Benjamin Tissoires 2026-08-25 11:55:11 +02:00
parent a8e04f3f89
commit 67bfe48a29

View File

@ -62,6 +62,10 @@ struct hid_bpf_offset_write_range {
u32 end;
};
struct hid_bpf_ctx__safe_trusted {
struct hid_device *hid;
};
static int hid_bpf_ops_btf_struct_access(struct bpf_verifier_log *log,
const struct bpf_reg_state *reg,
int off, int size)
@ -86,6 +90,8 @@ static int hid_bpf_ops_btf_struct_access(struct bpf_verifier_log *log,
const char *cur = NULL;
int i;
BTF_TYPE_EMIT(struct hid_bpf_ctx__safe_trusted);
t = btf_type_by_id(reg->btf, reg->btf_id);
for (i = 0; i < ARRAY_SIZE(write_ranges); i++) {