Bug 727425

Summary: udev sets group read permissions, if a group is specified, but group mode permission is zero
Product: Red Hat Enterprise Linux 6 Reporter: Moran Goldboim <mgoldboi>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED WORKSFORME QA Contact: qe-baseos-daemons
Severity: urgent Docs Contact:
Priority: high    
Version: 6.3CC: danken, ddumas, hateya, iheim, kay, pknirsch
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-19 09:55:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 682015    

Description Moran Goldboim 2011-08-02 06:12:25 UTC
Description of problem:
block device permissions are changed by udev rules only after running udevadm test (race or missing event).

[root@rhev-i16c-05 ~]# stat /dev/dm-151
  File: `/dev/dm-151'
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 5h/5d   Inode: 44104       Links: 1     Device type: fd,97
Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (    6/    disk)
Access: 2011-08-02 08:56:33.234160001 +0300
Modify: 2011-07-27 17:25:10.895908566 +0300
Change: 2011-07-27 17:25:10.895908566 +0300

[root@rhev-i16c-05 ~]# udevadm test /sys/block/dm-151/
run_command: calling: test
udevadm_test: version 147
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

parse_file: reading '/lib/udev/rules.d/10-console.rules' as rules file
parse_file: reading '/lib/udev/rules.d/10-dm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/11-dm-lvm.rules' as rules file
parse_file: reading '/etc/udev/rules.d/12-vdsm-lvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/13-dm-disk.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-isdn.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-multipath.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-redhat.rules' as rules file
parse_file: reading '/lib/udev/rules.d/42-qemu-usb.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/etc/udev/rules.d/51-dlm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-fprint-autosuspend.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-pcmcia.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-raw.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-mobile-action.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-option-modem-modeswitch.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-device-mapper.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-md-raid.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-md-incremental.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-acl.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-cups-libusb.rules' as rules file
parse_file: reading '/lib/udev/rules.d/70-hid2hci.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/71-biosdevname.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-kvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-regulatory.rules' as rules file
parse_file: reading '/lib/udev/rules.d/88-clock.rules' as rules file
parse_file: reading '/lib/udev/rules.d/89-microcode.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-alsa.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/etc/udev/rules.d/91-drm-modeset.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-dm-notify.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/98-kexec.rules' as rules file
parse_file: reading '/dev/.udev/rules.d/99-root.rules' as rules file
udev_rules_new: rules use 30732 bytes tokens (2561 * 12 bytes), 18969 bytes buffer
udev_rules_new: temporary index used 18820 bytes (941 * 20 bytes)
udev_device_new_from_syspath: device 0x7fb50ef5a7f0 has devpath '/devices/virtual/block/dm-151'
udev_device_new_from_syspath: device 0x7fb50ef48990 has devpath '/devices/virtual/block/dm-151'
udev_device_read_db: device 0x7fb50ef48990 filled with db file data
udev_device_read_db: device 0x7fb50ef48990 filled with db file data
udev_rules_apply_to_event: LINK 'mapper/9d165b50--1819--4b9c--83ac--d806de112b11-metadata' /lib/udev/rules.d/10-dm.rules:114
udev_rules_apply_to_event: IMPORT '/sbin/dmsetup splitname --nameprefixes --noheadings --rows 9d165b50--1819--4b9c--83ac--d806de112b11-metadata' /lib/udev/rules.d/11-dm-lvm.rules:21
util_run_program: '/sbin/dmsetup splitname --nameprefixes --noheadings --rows 9d165b50--1819--4b9c--83ac--d806de112b11-metadata' started
util_run_program: '/sbin/dmsetup' (stdout) 'DM_VG_NAME='9d165b50-1819-4b9c-83ac-d806de112b11''
util_run_program: '/sbin/dmsetup' (stdout) 'DM_LV_NAME='metadata''
util_run_program: '/sbin/dmsetup' (stdout) 'DM_LV_LAYER='''
util_run_program: '/sbin/dmsetup splitname --nameprefixes --noheadings --rows 9d165b50--1819--4b9c--83ac--d806de112b11-metadata' returned with exitcode 0
udev_rules_apply_to_event: LINK '9d165b50-1819-4b9c-83ac-d806de112b11/metadata' /lib/udev/rules.d/11-dm-lvm.rules:30
udev_rules_apply_to_event: OWNER 36 /etc/udev/rules.d/12-vdsm-lvm.rules:26
udev_rules_apply_to_event: GROUP 107 /etc/udev/rules.d/12-vdsm-lvm.rules:26
udev_rules_apply_to_event: MODE 0600 /etc/udev/rules.d/12-vdsm-lvm.rules:26
udev_rules_apply_to_event: LINK 'disk/by-id/dm-name-9d165b50--1819--4b9c--83ac--d806de112b11-metadata' /lib/udev/rules.d/13-dm-disk.rules:17
udev_rules_apply_to_event: LINK 'disk/by-id/dm-uuid-LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9' /lib/udev/rules.d/13-dm-disk.rules:18
udev_rules_apply_to_event: IMPORT '/sbin/blkid -o udev -p /dev/dm-151' /lib/udev/rules.d/13-dm-disk.rules:22
util_run_program: '/sbin/blkid -o udev -p /dev/dm-151' started
util_run_program: '/sbin/blkid -o udev -p /dev/dm-151' returned with exitcode 2
udev_rules_apply_to_event: PROGRAM '/sbin/multipath -c /dev/dm-151' /lib/udev/rules.d/40-multipath.rules:11
util_run_program: '/sbin/multipath -c /dev/dm-151' started
util_run_program: '/sbin/multipath' (stdout) 'Aug 02 09:04:44 | the -c option requires a path to check'
util_run_program: '/sbin/multipath -c /dev/dm-151' returned with exitcode 1
udev_rules_apply_to_event: RUN 'socket:/org/kernel/dm/multipath_event' /lib/udev/rules.d/40-multipath.rules:16
udev_rules_apply_to_event: LINK 'block/253:151' /lib/udev/rules.d/50-udev-default.rules:3
udev_rules_apply_to_event: RUN 'socket:@/org/freedesktop/hal/udev_event' /etc/udev/rules.d/90-hal.rules:2
udev_event_execute_rules: no node name set, will use kernel supplied name 'dm-151'
udev_device_update_db: created db file for '/devices/virtual/block/dm-151' in '/dev/.udev/db/block:dm-151'
udev_node_add: creating device node '/dev/dm-151', devnum=253:151, mode=0660, uid=36, gid=107
udev_node_mknod: preserve file '/dev/dm-151', because it has correct dev_t
udev_node_mknod: set permissions /dev/dm-151, 060660, uid=36, gid=107
link_find_prioritized: found '/sys/devices/virtual/block/dm-151' claiming '/dev/.udev/links/mapper\x2f9d165b50--1819--4b9c--83ac--d806de112b11-metadata'
link_update: creating link '/dev/mapper/9d165b50--1819--4b9c--83ac--d806de112b11-metadata' to '/dev/dm-151'
node_symlink: preserve already existing symlink '/dev/mapper/9d165b50--1819--4b9c--83ac--d806de112b11-metadata' to '../dm-151'
link_find_prioritized: found '/sys/devices/virtual/block/dm-151' claiming '/dev/.udev/links/9d165b50-1819-4b9c-83ac-d806de112b11\x2fmetadata'
link_update: creating link '/dev/9d165b50-1819-4b9c-83ac-d806de112b11/metadata' to '/dev/dm-151'
node_symlink: preserve already existing symlink '/dev/9d165b50-1819-4b9c-83ac-d806de112b11/metadata' to '../dm-151'
link_find_prioritized: found '/sys/devices/virtual/block/dm-151' claiming '/dev/.udev/links/disk\x2fby-id\x2fdm-name-9d165b50--1819--4b9c--83ac--d806de112b11-metadata'
link_update: creating link '/dev/disk/by-id/dm-name-9d165b50--1819--4b9c--83ac--d806de112b11-metadata' to '/dev/dm-151'
node_symlink: preserve already existing symlink '/dev/disk/by-id/dm-name-9d165b50--1819--4b9c--83ac--d806de112b11-metadata' to '../../dm-151'
link_find_prioritized: found '/sys/devices/virtual/block/dm-151' claiming '/dev/.udev/links/disk\x2fby-id\x2fdm-uuid-LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9'
link_update: creating link '/dev/disk/by-id/dm-uuid-LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9' to '/dev/dm-151'
node_symlink: preserve already existing symlink '/dev/disk/by-id/dm-uuid-LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9' to '../../dm-151'
node_symlink: preserve already existing symlink '/dev/block/253:151' to '../dm-151'
udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/devices/virtual/block/dm-151
udevadm_test: MAJOR=253
udevadm_test: MINOR=151
udevadm_test: DEVNAME=/dev/dm-151
udevadm_test: DEVTYPE=disk
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=block
udevadm_test: DM_SBIN_PATH=/sbin
udevadm_test: DM_UDEV_PRIMARY_SOURCE_FLAG=1
udevadm_test: DM_UDEV_RULES_VSN=2
udevadm_test: DM_NAME=9d165b50--1819--4b9c--83ac--d806de112b11-metadata
udevadm_test: DM_UUID=LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9
udevadm_test: DM_SUSPENDED=0
udevadm_test: DEVLINKS=/dev/mapper/9d165b50--1819--4b9c--83ac--d806de112b11-metadata /dev/9d165b50-1819-4b9c-83ac-d806de112b11/metadata /dev/disk/by-id/dm-name-9d165b50--1819--4b9c--83ac--d806de112b11-metadata /dev/disk/by-id/dm-uuid-LVM-GmLXLGCH8Irr1eH4gScVu0HzGRTIjH3PxwUrgQrBVsDYDnKen5t3pcBYXzi0PfD9 /dev/block/253:151
udevadm_test: DM_VG_NAME=9d165b50-1819-4b9c-83ac-d806de112b11
udevadm_test: DM_LV_NAME=metadata
udevadm_test: DM_LV_LAYER=
udevadm_test: MPATH_SBIN_PATH=/sbin
udevadm_test: run: 'socket:/org/kernel/dm/multipath_event'
udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event'
[root@rhev-i16c-05 ~]# stat /dev/dm-151
  File: `/dev/dm-151'
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 5h/5d   Inode: 44104       Links: 1     Device type: fd,97
Access: (0660/brw-rw----)  Uid: (   36/    vdsm)   Gid: (  107/    qemu)
Access: 2011-08-02 09:04:44.178007928 +0300
Modify: 2011-08-02 09:04:44.178007928 +0300
Change: 2011-08-02 09:04:44.178007928 +0300



Version-Release number of selected component (if applicable):
[root@rhev-i16c-05 ~]# uname -r
2.6.32-171.el6.x86_64
[root@rhev-i16c-05 ~]# rpm -qa | grep udev
libgudev1-147-2.35.el6.x86_64
python-gudev-147.1-4.el6_0.1.x86_64
udev-147-2.35.el6.x86_64
libudev-147-2.35.el6.x86_64

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 3 Harald Hoyer 2011-08-02 10:55:40 UTC
so, what is this /etc/udev/rules.d/12-vdsm-lvm.rules file?

Comment 4 Moran Goldboim 2011-08-02 11:56:13 UTC
#
# Copyright 2010 Red Hat, Inc. and/or its affiliates.
#
# Licensed to you under the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.  See the files README and
# LICENSE_GPL_v2 which accompany this distribution.
#

# Udev rules for LVM.
#
# These rules create symlinks for LVM logical volumes in
# /dev/VG directory (VG is an actual VG name). Some udev
# environment variables are set (they can be used in later
# rules as well):
#   DM_LV_NAME - logical volume name
#   DM_VG_NAME - volume group name
#   DM_LV_LAYER - logical volume layer (blank if not set)

# "add" event is processed on coldplug only, so we need "change", too.
ACTION!="add|change", GOTO="lvm_end"

# Fix ownership for RHEV volumes
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="_remove_me_[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]_[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="metadata", MODE:="0600", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="ids", MODE:="0600", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="inbox", MODE:="0600", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="outbox", MODE:="0600", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"
ENV{DM_VG_NAME}=="[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]", ENV{DM_LV_NAME}=="leases", MODE:="0600", OWNER:="vdsm", GROUP:="qemu", GOTO="lvm_end"

# FIXME: make special lvs vdsm-only readable (MODE doesn't work)

LABEL="lvm_end"

Comment 5 Harald Hoyer 2011-08-02 12:24:25 UTC
So, you are relying on /lib/udev/rules.d/11-dm-lvm.rules to set DM_*_NAME

Why not put udev into debugging mode via /etc/udev/udev.conf and inspect /var/log/messages, to see what is going on in normal mode.

Comment 6 Kay Sievers 2011-08-02 19:00:53 UTC
Maybe 'udevadm test --action=add' makes it work?

Comment 7 Moran Goldboim 2011-08-03 09:19:32 UTC
-i have put udev on debug- nothing significant (to my taste) is shown in the log, i have tried to reload multipathd so that udev event may cause the change (didn't help) - as well -nothing in messages.
-'udevadm test --action=add' is working as regular udevadm test - after running it permissions are changed but since I'm working with lots of dm devices problem is happening on a different device.
can you please access the machine and debug it, will provide the details on irc.

Comment 9 Harald Hoyer 2011-08-10 13:01:48 UTC
So, a first bug is, that udev sets permission "0660" even though mode was explicitly set to "0600" and a GROUP was specified.

Comment 11 Harald Hoyer 2011-08-10 13:11:31 UTC
Although, changing the behavior here, could lead to regressions.
Setting a group without giving permissions, does not make sense anyway.