chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow setting of MODE="0000"
[elogind.git]
/
udev_rules.c
diff --git
a/udev_rules.c
b/udev_rules.c
index 6565a2e51d17fa63d7cc516abe9e712284fce8e7..8a793ffded484552bcdf1bca23bb10f4f044379d 100644
(file)
--- a/
udev_rules.c
+++ b/
udev_rules.c
@@
-1385,11
+1385,11
@@
int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev)
}
/* apply permissions */
}
/* apply permissions */
- if (!udev->mode_final && rule->mode
!= 0000
) {
- if (rule->mode
_
operation == KEY_OP_ASSIGN_FINAL)
+ if (!udev->mode_final && rule->mode
.operation != KEY_OP_UNSET
) {
+ if (rule->mode
.
operation == KEY_OP_ASSIGN_FINAL)
udev->mode_final = 1;
udev->mode_final = 1;
- udev->mode =
rule->mode
;
- dbg("applied mode=%#o to '%s'",
rule
->mode, udev->dev->kernel);
+ udev->mode =
strtol(key_val(rule, &rule->mode), NULL, 8)
;
+ dbg("applied mode=%#o to '%s'",
udev
->mode, udev->dev->kernel);
}
if (!udev->owner_final && rule->owner.operation != KEY_OP_UNSET) {
if (rule->owner.operation == KEY_OP_ASSIGN_FINAL)
}
if (!udev->owner_final && rule->owner.operation != KEY_OP_UNSET) {
if (rule->owner.operation == KEY_OP_ASSIGN_FINAL)
@@
-1534,7
+1534,7
@@
int udev_rules_get_run(struct udev_rules *rules, struct udevice *udev)
rule->symlink.operation == KEY_OP_ASSIGN ||
rule->symlink.operation == KEY_OP_ASSIGN_FINAL ||
rule->symlink.operation == KEY_OP_ADD ||
rule->symlink.operation == KEY_OP_ASSIGN ||
rule->symlink.operation == KEY_OP_ASSIGN_FINAL ||
rule->symlink.operation == KEY_OP_ADD ||
- rule->mode
_
operation != KEY_OP_UNSET ||
+ rule->mode
.
operation != KEY_OP_UNSET ||
rule->owner.operation != KEY_OP_UNSET || rule->group.operation != KEY_OP_UNSET) {
dbg("skip rule that names a device");
continue;
rule->owner.operation != KEY_OP_UNSET || rule->group.operation != KEY_OP_UNSET) {
dbg("skip rule that names a device");
continue;