From: Yu Watanabe Date: Fri, 19 Apr 2024 04:19:00 +0000 (+0900) Subject: sd-event,sd-journal: fix error handling of inotify_add_watch_fd() X-Git-Tag: v256-rc1~118 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5f24a0ea9ec6f5ddb0eb9d4c366d22400706f08;p=thirdparty%2Fsystemd.git sd-event,sd-journal: fix error handling of inotify_add_watch_fd() Fixes a bug in 97ef5391697c34ee1c763fa9bddcd20a29ff3159 and 858749f7312bd0adb5433075a92e1c35a2fb56ac. --- diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 12aa9805938..779c5fc3105 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -2415,7 +2415,7 @@ static int inode_data_realize_watch(sd_event *e, struct inode_data *d) { wd = inotify_add_watch_fd(d->inotify_data->fd, d->fd, combined_mask); if (wd < 0) - return -errno; + return wd; if (d->wd < 0) { r = hashmap_put(d->inotify_data->wd, INT_TO_PTR(wd), d); diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c index a4ed3804d86..713cdcc0ec6 100644 --- a/src/libsystemd/sd-journal/sd-journal.c +++ b/src/libsystemd/sd-journal/sd-journal.c @@ -1973,7 +1973,7 @@ static void directory_watch(sd_journal *j, Directory *m, int fd, uint32_t mask) m->wd = inotify_add_watch_fd(j->inotify_fd, fd, mask); if (m->wd < 0) { - log_debug_errno(errno, "Failed to watch journal directory '%s', ignoring: %m", m->path); + log_debug_errno(m->wd, "Failed to watch journal directory '%s', ignoring: %m", m->path); return; }