lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 22 Mar 2017 10:46:59 +0800
From:   Xiongfeng Wang <wangxiongfeng2@...wei.com>
To:     James Morse <james.morse@....com>, <xiexiuqi@...wei.com>,
        <gengdongjiu@...wei.com>, <punit.agrawal@....com>
CC:     <mark.rutland@....com>, <linux-efi@...r.kernel.org>,
        <kvm@...r.kernel.org>, <rkrcmar@...hat.com>,
        <matt@...eblueprint.co.uk>, <catalin.marinas@....com>,
        Tyler Baicar <tbaicar@...eaurora.org>, <will.deacon@....com>,
        <robert.moore@...el.com>, <paul.gortmaker@...driver.com>,
        <lv.zheng@...el.com>, <kvmarm@...ts.cs.columbia.edu>,
        <fu.wei@...aro.org>, <tn@...ihalf.com>, <zjzhang@...eaurora.org>,
        <linux@...linux.org.uk>, <linux-acpi@...r.kernel.org>,
        <eun.taik.lee@...sung.com>, <shijie.huang@....com>,
        <labbott@...hat.com>, <lenb@...nel.org>, <harba@...eaurora.org>,
        <Suzuki.Poulose@....com>, <marc.zyngier@....com>,
        <john.garry@...wei.com>, <rostedt@...dmis.org>,
        <nkaje@...eaurora.org>, <sandeepa.s.prabhu@...il.com>,
        <linux-arm-kernel@...ts.infradead.org>, <devel@...ica.org>,
        <rjw@...ysocki.net>, <rruigrok@...eaurora.org>,
        <linux-kernel@...r.kernel.org>, <astone@...hat.com>,
        <hanjun.guo@...aro.org>, <joe@...ches.com>, <pbonzini@...hat.com>,
        <akpm@...ux-foundation.org>, <bristot@...hat.com>,
        <christoffer.dall@...aro.org>, <shiju.jose@...wei.com>
Subject: Re: [PATCH V11 10/10] arm/arm64: KVM: add guest SEA support

Hi James,


> Guests are a special case as QEMU may never access the faulty memory itself, so
> it won't receive the 'late' signal. It looks like ARM/arm64 KVM lacks support
> for KVM_PFN_ERR_HWPOISON which sends SIGBUS from KVM's fault-handling code. I
> have patches to add support for this which I intend to send at rc1.
> 
> [0] suggests 'KVM qemu' sets these MCE flags to take the 'early' path, but given
> x86s KVM_PFN_ERR_HWPOISON, this may be out of date.
> 
> 
> Either way, once QEMU gets a signal indicating the virtual address, it can
> generate its own APEI CPER records and use the KVM APIs to mock up an
> Synchronous External Abort, (or inject an IRQ or run the vcpu waiting for the
> guest's polling thread to come round, whichever was described to the guest via
> the HEST/GHES tables).
> 

I have another confusion about the SIGBUS signal. Can QEMU always get a SIGBUS when needed.
I know one circumstance which will send SIGBUS. The ghes_handle_memory_failure() in
ghes_do_proc() will send SIGBUS to QEMU, but this only happens when there exists memory section
in ghes, that is the section type is CPER_SEC_PLATFORM_MEM.
Suppose this case, an load  error in guest application causes an SEA, and the firmware take it.
The firmware begin to scan the error record and fill the ghes. But the error record in memory node
has been read by other handler. The firmware won't add memory section in ghes, so
ghes_handle_memory_failure() won't be called.
I mean that we may not rely on ghes_handle_memory_failure() to send SIGBUS to QEMU. Whether we should
add some other code to send SIGBUS in handle_guest_abort(). I don't know whether the ARM/arm64
 KVM_PFN_ERR_HWPOISON you mentioned above will cover all the cases.

Thanks,

Wang Xiongfeng
.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ