- if (strcasecmp(key, "BUS") == 0) {
- add_rule_key(rule, &rule->bus, operation, value);
+ if (strcasecmp(key, "KERNELS") == 0 ||
+ strcasecmp(key, "ID") == 0) {
+ if (operation != KEY_OP_MATCH &&
+ operation != KEY_OP_NOMATCH) {
+ err("invalid KERNELS operation");
+ goto invalid;
+ }
+ add_rule_key(rule, &rule->kernels, operation, value);
+ valid = 1;
+ continue;
+ }
+
+ if (strcasecmp(key, "SUBSYSTEMS") == 0 ||
+ strcasecmp(key, "BUS") == 0) {
+ if (operation != KEY_OP_MATCH &&
+ operation != KEY_OP_NOMATCH) {
+ err("invalid SUBSYSTEMS operation");
+ goto invalid;
+ }
+ add_rule_key(rule, &rule->subsystems, operation, value);