Skip to content

Commit

Permalink
signal/arm/kvm: Use send_sig_mceerr
Browse files Browse the repository at this point in the history
This simplifies the code making it clearer what is going on, and
making the siginfo generation easier to maintain.

Signed-off-by: "Eric W. Biederman" <[email protected]>
  • Loading branch information
ebiederm committed Sep 27, 2018
1 parent b059454 commit 795a837
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions virt/kvm/arm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1450,20 +1450,14 @@ static void invalidate_icache_guest_page(kvm_pfn_t pfn, unsigned long size)
static void kvm_send_hwpoison_signal(unsigned long address,
struct vm_area_struct *vma)
{
siginfo_t info;

clear_siginfo(&info);
info.si_signo = SIGBUS;
info.si_errno = 0;
info.si_code = BUS_MCEERR_AR;
info.si_addr = (void __user *)address;
short lsb;

if (is_vm_hugetlb_page(vma))
info.si_addr_lsb = huge_page_shift(hstate_vma(vma));
lsb = huge_page_shift(hstate_vma(vma));
else
info.si_addr_lsb = PAGE_SHIFT;
lsb = PAGE_SHIFT;

send_sig_info(SIGBUS, &info, current);
send_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb, current);
}

static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
Expand Down

0 comments on commit 795a837

Please sign in to comment.