sd-device: don't use BPF filtering for kernel monitors

BPF filtering accesses fields in the netlink header that are
only filled in by libudev, never by the kernel. Therefore adding
BPF filters for kernel monitors is pointless. Even false filtering
of kernel events might be possible; at least it's hard to prove that
it can't occur.
This commit is contained in:
Martin Wilck
2021-03-02 18:38:36 +09:00
committed by Yu Watanabe
parent 7a7d2f16c2
commit d8ce385fe3
+3 -2
View File
@@ -627,8 +627,9 @@ _public_ int sd_device_monitor_filter_update(sd_device_monitor *m) {
if (m->filter_uptodate)
return 0;
if (hashmap_isempty(m->subsystem_filter) &&
set_isempty(m->tag_filter)) {
if (m->snl.nl.nl_groups == MONITOR_GROUP_KERNEL ||
(hashmap_isempty(m->subsystem_filter) &&
set_isempty(m->tag_filter))) {
m->filter_uptodate = true;
return 0;
}