From: Yu Watanabe Date: Wed, 12 Feb 2025 00:23:33 +0000 (+0900) Subject: udev-watch: do not try to remove invalid watch handle X-Git-Tag: v257.3~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d32f4bcaf274e208568a5e6151c0a81d00d80438;p=thirdparty%2Fsystemd.git udev-watch: do not try to remove invalid watch handle When a new device is processed, there should be no watch handle for the device, hence udev_watch_clear() provides -1. Let's not try to call inotify_rm_watch() in that case. This should not change any behavior. Just for suppressing spurious debugging log: ===== (udev-worker)[3626140]: zram1: Removing watch handle -1. ===== (cherry picked from commit b3b442062045eac61a9dd3ed73b650dfb5be0b46) --- diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index 9bd34af858f..82db39fecd7 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -161,7 +161,7 @@ static int udev_watch_clear(sd_device *dev, int dirfd, int *ret_wd) { if (ret_wd) *ret_wd = wd; - r = 0; + r = 1; finalize: /* 5. remove symlink ID -> wd. @@ -249,7 +249,7 @@ int udev_watch_end(int inotify_fd, sd_device *dev) { /* First, clear symlinks. */ r = udev_watch_clear(dev, dirfd, &wd); - if (r < 0) + if (r <= 0) return r; /* Then, remove inotify watch. */