24 lines
1.0 KiB
Diff
24 lines
1.0 KiB
Diff
|
From 10fab50a3091e0b819c3ddab5a7c07acf750c050 Mon Sep 17 00:00:00 2001
|
||
|
From: Kay Sievers <kay@vrfy.org>
|
||
|
Date: Wed, 4 Jun 2014 14:09:31 +0200
|
||
|
Subject: [PATCH] udev: guard REREADP logic with open(O_ECXL)
|
||
|
|
||
|
Signed-off-by: Robert Milasan <rmilasan@suse.com>
|
||
|
---
|
||
|
src/udev/udevd.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
Index: systemd-210/src/udev/udevd.c
|
||
|
===================================================================
|
||
|
--- systemd-210.orig/src/udev/udevd.c
|
||
|
+++ systemd-210/src/udev/udevd.c
|
||
|
@@ -757,7 +757,7 @@ static int synthesize_change(struct udev
|
||
|
* 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);
|