From: Kay Sievers Date: Wed, 4 Jun 2014 12:09:31 +0000 (+0200) Subject: udev: guard REREADP logic with open(O_ECXL) X-Git-Tag: v214~90 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=10fab50a3091e0b819c3ddab5a7c07acf750c050 udev: guard REREADP logic with open(O_ECXL) --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 763062f21..d79891a7c 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -754,7 +754,7 @@ static int synthesize_change(struct udev_device *dev) { * The kernel will send out a change event for the disk, and * "remove/add" for all partitions. */ - fd = open(udev_device_get_devnode(dev), O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); + fd = open(udev_device_get_devnode(dev), O_RDONLY|O_EXCL|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); if (fd >= 0) { r = ioctl(fd, BLKRRPART, 0); close(fd);