From: Michael Buesch <mbuesch@freenet.de>
To: linux-hotplug@vger.kernel.org
Subject: [PATCH, UDEV] fix permission inconsistency in relation to symlinks.
Date: Sat, 05 Feb 2005 13:26:09 +0000 [thread overview]
Message-ID: <200502051426.14173.mbuesch@freenet.de> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1906 bytes --]
Hi,
This fixes a rules.d permission apply inconsistency.
Here's an example of what happens without the patch:
First case without the patch:
KERNEL="hd*", GROUP="disk", MODE="0660"
KERNEL="hdc", SYMLINK="cdrecorder", MODE="0666"
mb@lfs:~$ ls -la /dev/hdc
brw-rw---- 1 root disk 22, 0 Feb 5 14:08 /dev/hdc
Second case without the patch:
KERNEL="hd*", GROUP="disk", MODE="0660"
KERNEL="hdc", MODE="0666"
mb@lfs:~$ ls -la /dev/hdc
brw-rw-rw- 1 root disk 22, 0 Feb 5 14:08 /dev/hdc
With the patch applied:
KERNEL="hd*", GROUP="disk", MODE="0660"
KERNEL="hdc", SYMLINK="cdrecorder", MODE="0666"
mb@lfs:~$ ls -la /dev/hdc
brw-rw-rw- 1 root disk 22, 0 Feb 5 14:08 /dev/hdc
--
Regards Michael Buesch [ http://www.tuxsoft.de.vu ]
===== namedev.c 1.173 vs edited =====
--- 1.173/namedev.c 2004-12-21 17:41:02 +01:00
+++ edited/namedev.c 2005-02-05 14:04:44 +01:00
@@ -716,14 +716,16 @@
list_for_each_entry(dev, &config_device_list, node) {
dbg("process rule");
if (match_rule(udev, dev, class_dev, sysfs_device) == 0) {
- if (dev->name[0] == '\0' && dev->symlink[0] == '\0') {
+
+ if (dev->name[0] == '\0' && dev->symlink[0] == '\0' &&
+ dev->mode == 0000 && dev->owner[0] == '\0' && dev->group[0] == '\0') {
/* empty name, symlink, perms will not create any node */
- if (dev->mode == 0000 && dev->owner[0] == '\0' && dev->group[0] == '\0') {
- info("configured rule in '%s[%i]' applied, '%s' is ignored",
- dev->config_file, dev->config_line, udev->kernel_name);
- return -1;
- }
+ info("configured rule in '%s[%i]' applied, '%s' is ignored",
+ dev->config_file, dev->config_line, udev->kernel_name);
+ return -1;
+ }
+ if (dev->name[0] == '\0') {
/* apply permissions only rule values */
if (dev->mode != 0000) {
udev->mode = dev->mode;
[-- Attachment #1.2: udev_fix_symlink_and_perms.diff --]
[-- Type: text/x-diff, Size: 1117 bytes --]
===== namedev.c 1.173 vs edited =====
--- 1.173/namedev.c 2004-12-21 17:41:02 +01:00
+++ edited/namedev.c 2005-02-05 14:04:44 +01:00
@@ -716,14 +716,16 @@
list_for_each_entry(dev, &config_device_list, node) {
dbg("process rule");
if (match_rule(udev, dev, class_dev, sysfs_device) == 0) {
- if (dev->name[0] == '\0' && dev->symlink[0] == '\0') {
+
+ if (dev->name[0] == '\0' && dev->symlink[0] == '\0' &&
+ dev->mode == 0000 && dev->owner[0] == '\0' && dev->group[0] == '\0') {
/* empty name, symlink, perms will not create any node */
- if (dev->mode == 0000 && dev->owner[0] == '\0' && dev->group[0] == '\0') {
- info("configured rule in '%s[%i]' applied, '%s' is ignored",
- dev->config_file, dev->config_line, udev->kernel_name);
- return -1;
- }
+ info("configured rule in '%s[%i]' applied, '%s' is ignored",
+ dev->config_file, dev->config_line, udev->kernel_name);
+ return -1;
+ }
+ if (dev->name[0] == '\0') {
/* apply permissions only rule values */
if (dev->mode != 0000) {
udev->mode = dev->mode;
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2005-02-05 13:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-05 13:26 Michael Buesch [this message]
2005-02-05 14:29 ` [PATCH, UDEV] fix permission inconsistency in relation to Kay Sievers
2005-02-05 14:33 ` [PATCH, UDEV] fix permission inconsistency in relation to symlinks Marco d'Itri
2005-02-05 14:54 ` Michael Buesch
2005-02-05 14:58 ` [PATCH, UDEV] fix permission inconsistency in relation to Kay Sievers
2005-02-05 15:09 ` [PATCH, UDEV] fix permission inconsistency in relation to symlinks Michael Buesch
2005-02-05 15:20 ` [PATCH, UDEV] fix permission inconsistency in relation to Kay Sievers
2005-02-05 15:25 ` [PATCH, UDEV] fix permission inconsistency in relation to symlinks Michael Buesch
2005-02-05 15:30 ` [PATCH, UDEV] fix permission inconsistency in relation to Kay Sievers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200502051426.14173.mbuesch@freenet.de \
--to=mbuesch@freenet.de \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.