From: Lennart Poettering Date: Fri, 27 Jul 2018 07:56:24 +0000 (+0200) Subject: Merge pull request #9726 from dkozovsk/master X-Git-Tag: v240~884 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4d7293f07c5059f4a0f458b62669763facc39f9e;hp=126708fa025ded7b6e721897f34b0d3600c463fa;p=thirdparty%2Fsystemd.git Merge pull request #9726 from dkozovsk/master signal safety fixes exit ->_exit, call of page_size to prevent call of sysconf from signal handler --- diff --git a/src/basic/sigbus.c b/src/basic/sigbus.c index 70afba6bcf8..d5254eab9d3 100644 --- a/src/basic/sigbus.c +++ b/src/basic/sigbus.c @@ -113,6 +113,10 @@ void sigbus_install(void) { .sa_flags = SA_SIGINFO, }; + /* make sure that sysconf() is not called from a signal handler because + * it is not guaranteed to be async-signal-safe since POSIX.1-2008 */ + (void) page_size(); + n_installed++; if (n_installed == 1) diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c index 82b83547633..39fd03d152c 100644 --- a/src/udev/collect/collect.c +++ b/src/udev/collect/collect.c @@ -59,7 +59,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) _noreturn_ static void sig_alrm(int signo) { - exit(4); + _exit(4); } static void usage(void)