diff options
author | Andrew Lassalle <andrewlassalle@chromium.org> | 2020-10-13 15:41:57 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-04-14 11:27:27 +0200 |
commit | e24346128d2c93501f0a41596fdfa4a6b8e18753 (patch) | |
tree | 894a69234eeb3700dcd05d74bc7a92b7215ac7d7 /src/mm-filter.c | |
parent | d2ffb47ec86a3d83b87b46a47ea1ad491e186a2d (diff) |
filter: add filter for QRTR devices
Add support for devices using the subsystem "qrtr".
Diffstat (limited to 'src/mm-filter.c')
-rw-r--r-- | src/mm-filter.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mm-filter.c b/src/mm-filter.c index 870ae7b8..3bc84e17 100644 --- a/src/mm-filter.c +++ b/src/mm-filter.c @@ -178,6 +178,15 @@ mm_filter_port (MMFilter *self, } } + /* If this is a QRTR device, we always allow it. This check comes before + * checking for VIRTUAL since qrtr devices don't have a sysfs path, and the + * check for VIRTUAL will return FALSE. */ + if ((self->priv->enabled_rules & MM_FILTER_RULE_QRTR) && + g_str_equal (subsystem, "qrtr")) { + mm_obj_dbg (self, "(%s/%s) port allowed: qrtr device", subsystem, name); + return TRUE; + } + /* If this is a virtual device, don't allow it */ if ((self->priv->enabled_rules & MM_FILTER_RULE_VIRTUAL) && (!mm_kernel_device_get_physdev_sysfs_path (port))) { @@ -453,6 +462,7 @@ mm_filter_new (MMFilterRule enabled_rules, mm_obj_dbg (self, " explicit whitelist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_EXPLICIT_WHITELIST)); mm_obj_dbg (self, " explicit blacklist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_EXPLICIT_BLACKLIST)); mm_obj_dbg (self, " plugin whitelist: %s", RULE_ENABLED_STR (MM_FILTER_RULE_PLUGIN_WHITELIST)); + mm_obj_dbg (self, " qrtr devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_QRTR)); mm_obj_dbg (self, " virtual devices forbidden: %s", RULE_ENABLED_STR (MM_FILTER_RULE_VIRTUAL)); mm_obj_dbg (self, " net devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_NET)); mm_obj_dbg (self, " usbmisc devices allowed: %s", RULE_ENABLED_STR (MM_FILTER_RULE_USBMISC)); |