]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sigbus: Add fallback in case rt_tgsiqqueueinfo() fails
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 16 Nov 2022 14:06:55 +0000 (15:06 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 16 Nov 2022 15:07:31 +0000 (16:07 +0100)
src/basic/sigbus.c

index 8d2c73baf83202afa98709d1cfbde15a534f93ec..0dca7be479f305385a06eeeaaa13a37415683cb7 100644 (file)
@@ -102,7 +102,8 @@ static void sigbus_handler(int sn, siginfo_t *si, void *data) {
 
         if (si->si_code != BUS_ADRERR || !si->si_addr) {
                 assert_se(sigaction(SIGBUS, &old_sigaction, NULL) == 0);
-                rt_tgsigqueueinfo(getpid_cached(), gettid(), SIGBUS, si);
+                if (rt_tgsigqueueinfo(getpid_cached(), gettid(), SIGBUS, si) < 0)
+                        (void) raise(SIGBUS);
                 return;
         }