From d5f24a0ea9ec6f5ddb0eb9d4c366d22400706f08 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 19 Apr 2024 13:19:00 +0900 Subject: [PATCH] sd-event,sd-journal: fix error handling of inotify_add_watch_fd() Fixes a bug in 97ef5391697c34ee1c763fa9bddcd20a29ff3159 and 858749f7312bd0adb5433075a92e1c35a2fb56ac. --- src/libsystemd/sd-event/sd-event.c | 2 +- src/libsystemd/sd-journal/sd-journal.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 12aa980593..779c5fc310 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 a4ed3804d8..713cdcc0ec 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; }