From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 4 Jun 2014 14:09:31 +0200 Subject: [PATCH 1/1] udev: guard REREADP logic with open(O_ECXL) --- src/udev/udevd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.30.2