mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-11 17:16:11 -04:00
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:
@@ -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++) {
|
||||
|
||||
Reference in New Issue
Block a user