]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
rules: UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG property (#3714)
authorRusty Bird <rustybird@openmailbox.org>
Fri, 15 Jul 2016 16:47:42 +0000 (16:47 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 15 Jul 2016 16:47:42 +0000 (18:47 +0200)
Sometimes, the persistent storage rules should be skipped for a subset
of devices. For example, the Qubes operating system prevents dom0 from
parsing untrusted block device content (such as filesystem metadata) by
shipping a custom 60-persistent-storage.rules, patched to bail out early
if the device name matches a hardcoded pattern.

As a less brittle and more flexible alternative, this commit adds a line
to the two relevant .rules files which makes them test the value of the
UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG device property, modeled
after the various DM_UDEV_DISABLE_*_RULES_FLAG properties.

rules/60-persistent-storage-tape.rules
rules/60-persistent-storage.rules

index f2eabd92a84cbd6634ddf6076ca9ced2733c944d..b604864ee840f262a88c3ae58fe35e593266beb2 100644 (file)
@@ -3,6 +3,7 @@
 # persistent storage links: /dev/tape/{by-id,by-path}
 
 ACTION=="remove", GOTO="persistent_storage_tape_end"
+ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_tape_end"
 
 # type 8 devices are "Medium Changers"
 SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="scsi_id --sg-version=3 --export --whitelisted -d $devnode", \
index dbf10b286f2485a9b909fbd6a2af21cf1afb1f0a..d7bbbf9866cf35be4e7db0ccccbd55f52bc79dd0 100644 (file)
@@ -4,6 +4,7 @@
 # scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
 
 ACTION=="remove", GOTO="persistent_storage_end"
+ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
 
 SUBSYSTEM!="block", GOTO="persistent_storage_end"
 KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*", GOTO="persistent_storage_end"