mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
util/oslib-posix: Forward SIGBUS to MCE handler under Linux
Temporarily modifying the SIGBUS handler is really nasty, as we might be unlucky and receive an MCE SIGBUS while having our handler registered. Unfortunately, there is no way around messing with SIGBUS when MADV_POPULATE_WRITE is not applicable or not around. Let's forward SIGBUS that don't belong to us to the already registered handler and document the situation. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20211217134611.31172-8-david@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
a960d6642d
commit
29b838c05d
2 changed files with 38 additions and 3 deletions
|
@ -352,6 +352,10 @@ static void qemu_init_sigbus(void)
|
|||
{
|
||||
struct sigaction action;
|
||||
|
||||
/*
|
||||
* ALERT: when modifying this, take care that SIGBUS forwarding in
|
||||
* os_mem_prealloc() will continue working as expected.
|
||||
*/
|
||||
memset(&action, 0, sizeof(action));
|
||||
action.sa_flags = SA_SIGINFO;
|
||||
action.sa_sigaction = sigbus_handler;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue