Re: [PATCH bpf-next 5/6] bpf: support epoll from bpf struct_ops links.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 5/1/24 10:03, Andrii Nakryiko wrote:
On Mon, Apr 29, 2024 at 2:36 PM Kui-Feng Lee <thinker.li@xxxxxxxxx> wrote:

Add epoll support to bpf struct_ops links to trigger EPOLLHUP event upon
detachment.

Signed-off-by: Kui-Feng Lee <thinker.li@xxxxxxxxx>
---
  include/linux/bpf.h         |  2 ++
  kernel/bpf/bpf_struct_ops.c | 14 ++++++++++++++
  kernel/bpf/syscall.c        | 15 +++++++++++++++
  3 files changed, 31 insertions(+)

diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index eeeed4b1bd32..a4550b927352 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -1574,6 +1574,7 @@ struct bpf_link {
         const struct bpf_link_ops *ops;
         struct bpf_prog *prog;
         struct work_struct work;
+       wait_queue_head_t wait_hup;

let's keep it struct_ops-specific, there is no need to pay for this
for all existing BPF link types. We can always generalize later, if
necessary.

sure!

pw-bot: cr


  };

  struct bpf_link_ops {
@@ -1587,6 +1588,7 @@ struct bpf_link_ops {
                               struct bpf_link_info *info);
         int (*update_map)(struct bpf_link *link, struct bpf_map *new_map,
                           struct bpf_map *old_map);
+       __poll_t (*poll)(struct file *file, struct poll_table_struct *pts);
  };

  struct bpf_tramp_link {

[...]




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux