Thread (73 messages) 73 messages, 7 authors, 2022-03-15

Re: [PATCH bpf-next v2 15/28] bpf/hid: add new BPF type to trigger commands from userspace

flat view

From: Song Liu <song@kernel.org>
Date: 2022-03-11 00:46:38
Also in: bpf, linux-kselftest, lkml, netdev

On Fri, Mar 4, 2022 at 9:33 AM Benjamin Tissoires
[off-list ref] wrote:
Given that we can not call bpf_hid_raw_request() from within an IRQ,
userspace needs to have a way to communicate with the device when
it needs.

Implement a new type that the caller can run at will without being in
an IRQ context.

Signed-off-by: Benjamin Tissoires <redacted>

---
[...]
quoted hunk ↗ jump to hunk
+       if (user_size_out && data_out) {
+               user_size_out = min3(user_size_out, (u32)ctx->size, (u32)ctx->allocated_size);
+
+               if (copy_to_user(data_out, ctx->data, user_size_out)) {
+                       ret = -EFAULT;
+                       goto unlock;
+               }
+
+               if (copy_to_user(&uattr->test.data_size_out,
+                                &user_size_out,
+                                sizeof(user_size_out))) {
+                       ret = -EFAULT;
+                       goto unlock;
+               }
+       }
+
+       if (copy_to_user(&uattr->test.retval, &ctx->u.user.retval, sizeof(ctx->u.user.retval))) {
+               ret = -EFAULT;
+               goto unlock;
nit: this goto is not really needed.
quoted hunk ↗ jump to hunk
+       }
+
+unlock:
+       kfree(ctx);
+
+       mutex_unlock(&bpf_hid_mutex);
+       return ret;
+}
[...]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help