diff options
| author | Benjamin Tissoires <bentiss@kernel.org> | 2026-08-25 11:55:11 +0200 |
|---|---|---|
| committer | Benjamin Tissoires <bentiss@kernel.org> | 2026-09-01 16:08:28 +0200 |
| commit | 67bfe48a29fbddfff77e13d4d327e49fca2c2be5 (patch) | |
| tree | 27099ee15966b5e821a6364ab824a636eb3a96dd | |
| parent | a8e04f3f894ccb52cfcd7e60125a9f35da4a616d (diff) | |
| download | linux-next-67bfe48a29fbddfff77e13d4d327e49fca2c2be5.tar.gz linux-next-67bfe48a29fbddfff77e13d4d327e49fca2c2be5.zip | |
HID: bpf: mark struct hid_device as safe BPF pointer
Commit ee9ad135b208 ("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>
| -rw-r--r-- | drivers/hid/bpf/hid_bpf_struct_ops.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c index 702c22fae136..56c53aca4511 100644 --- a/drivers/hid/bpf/hid_bpf_struct_ops.c +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c @@ -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++) { |
