[PATCH v7 48/72] x86/sev-es: Handle instruction fetches from user-space

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel When a #VC exception is triggered by user-space the instruction decoder needs to read the instruction bytes from user addresses. Enhance vc_decode_insn() to safely fetch kernel and user instructions. Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 31

[PATCH v7 49/72] x86/sev-es: Handle MMIO events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Add handler for VC exceptions caused by MMIO intercepts. These intercepts come along as nested page faults on pages with reserved bits set. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg

[PATCH v7 47/72] x86/sev-es: Wire up existing #VC exit-code handlers

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Re-use the handlers for CPUID and IOIO caused #VC exceptions in the early boot handler. Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es-shared.c | 7 +++ arch/x86/kernel/sev-es.c| 6 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git

Re: [PATCH 1/3] net: ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver

2020-09-07 Thread Lukasz Stelmach
It was <2020-08-25 wto 20:01>, when Andrew Lunn wrote: > Hi Łukasz > > It is pretty clear this is a "vendor crap driver". I can't deny. > It needs quite a bit more work on it. I'll be more than happy to take your suggestions. > On Tue, Aug 25, 2020 at 07:03:09PM +0200, Łukasz Stelmach wrote:

[PATCH v7 43/72] x86/sev-es: Adjust #VC IST Stack on entering NMI handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel When an NMI hits in the #VC handler entry code before it switched to another stack, any subsequent #VC exception in the NMI code-path will overwrite the interrupted #VC handlers stack. Make sure this doesn't happen by explicitly adjusting the #VC IST entry in the NMI handler

[PATCH v7 45/72] x86/entry/64: Add entry code for #VC handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The #VC handler needs special entry code because: 1. It runs on an IST stack 2. It needs to be able to handle nested #VC exceptions To make this work the entry code is implemented to pretend it doesn't use an IST stack. When entered from user-mode or early

[PATCH v7 44/72] x86/dumpstack/64: Add noinstr version of get_stack_info()

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The get_stack_info functionality is needed in the entry code for the #VC exception handler. Provide a version of it in the .text.noinstr section which can be called safely from there. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/stacktrace.h | 2 ++

[PATCH v7 41/72] x86/sev-es: Setup per-cpu GHCBs for the runtime handler

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky The runtime handler needs a GHCB per CPU. Set them up and map them unencrypted. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel --- arch/x86/include/asm/mem_encrypt.h | 2 ++ arch/x86/kernel/sev-es.c | 56 +-

[PATCH v7 30/72] x86/head/64: Load GDT after switch to virtual addresses

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Load the GDT right after switching to virtual addresses to make sure there is a defined GDT for exception handling. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/kernel/head_64.S | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff

[PATCH v7 42/72] x86/sev-es: Allocate and Map IST stack for #VC handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Allocate and map an IST stack and an additional fall-back stack for the #VC handler. The memory for the stacks is allocated only when SEV-ES is active. The #VC handler needs to use an IST stack because it could be raised from kernel space with unsafe stack, e.g. in the

[PATCH v7 24/72] x86/boot/compressed/64: Unmap GHCB page before booting the kernel

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Force a page-fault on any further accesses to the GHCB page when they shouldn't happen anymore. This will catch the bugs where a #VC exception is raised when no one is expected anymore. Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/ident_map_64.c | 17

[PATCH v7 38/72] x86/sev-es: Compile early handler code into kernel image

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Setup sev-es.c and include the code from the pre-decompression stage to also build it into the image of the running kernel. Temporarily add __maybe_unused annotations to avoid build warnings until the functions get used. Signed-off-by: Joerg Roedel ---

[PATCH v7 39/72] x86/sev-es: Setup early #VC handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Setup an early handler for #VC exceptions. There is no GHCB mapped yet, so just re-use the vc_no_ghcb_handler. It can only handle CPUID exit-codes, but that should be enough to get the kernel through verify_cpu() and __startup_64() until it runs on virtual addresses.

[PATCH v7 26/72] x86/fpu: Move xgetbv()/xsetbv() into separate header

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The xgetbv() function is needed in pre-decompression boot code, but asm/fpu/internal.h can't be included there directly. Doing so opens the door to include-hell due to various include-magic in boot/compressed/misc.h. Avoid that by moving xgetbv()/xsetbv() to a separate header

[PATCH v7 31/72] x86/head/64: Load segment registers earlier

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Make sure segments are properly set up before setting up an IDT and doing anything that might cause a #VC exception. This is later needed for early exception handling. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/kernel/head_64.S | 52

[PATCH v7 19/72] x86/boot/compressed/64: Add stage1 #VC handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add the first handler for #VC exceptions. At stage 1 there is no GHCB yet becaue the kernel might still be running on the EFI page table. The stage 1 handler is limited to the MSR based protocol to talk to the hypervisor and can only support CPUID exit-codes, but that is

[PATCH v7 28/72] x86/idt: Split idt_data setup out of set_intr_gate()

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The code to setup idt_data is needed for early exception handling, but set_intr_gate() can't be used that early because it has pv-ops in its code path, which don't work that early. Split out the idt_data initialization part from set_intr_gate() so that it can be used

[PATCH v7 18/72] x86/boot/compressed/64: Change add_identity_map() to take start and end

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Changing the function to take start and end as parameters instead of start and size simplifies the callers, which don't need to calculate the size if they already have start and end. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook ---

[PATCH v7 27/72] x86/sev-es: Add CPUID handling to #VC handler

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Handle #VC exceptions caused by CPUID instructions. These happen in early boot code when the KASLR code checks for RDTSC. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel ---

[PATCH v7 35/72] x86/head/64: Move early exception dispatch to C code

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Move the assembly coded dispatch between page-faults and all other exceptions to C code to make it easier to maintain and extend. Also change the return-type of early_make_pgtable() to bool and make it static. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/pgtable.h

Re: [PATCH] arm64: dts: marvell: espressobin: Add ethernet switch aliases

2020-09-07 Thread Pali Rohár
On Monday 07 September 2020 19:23:03 Andrew Lunn wrote: > > My dts-foo is a little rusty, but now that you labeled the ports in the > > .dtsi, can this whole "switch0" block reduced to something like: > > > > { > > label = "lan1"; > > }; > > > > { > > label = "wan"; > > }; > >

[PATCH v7 21/72] x86/boot/compressed/64: Check return value of kernel_ident_mapping_init()

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The function can fail to create an identity mapping, check for that and bail out if it happens. Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/ident_map_64.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git

[PATCH v7 14/72] x86/boot/compressed/64: Rename kaslr_64.c to ident_map_64.c

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The file contains only code related to identity mapped page-tables. Rename the file and compile it always in. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/boot/compressed/Makefile | 2 +- arch/x86/boot/compressed/{kaslr_64.c =>

[PATCH v7 29/72] x86/head/64: Install startup GDT

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Handling exceptions during boot requires a working GDT. The kernel GDT can't be used on the direct mapping, so load a startup GDT and setup segments. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/setup.h | 1 + arch/x86/kernel/head64.c | 33

[PATCH v7 36/72] x86/sev-es: Add SEV-ES Feature Detection

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add the sev_es_active function for checking whether SEV-ES is enabled. Also cache the value of MSR_AMD64_SEV at boot to speed up the feature checking in the running code. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/include/asm/mem_encrypt.h | 3 +++

[PATCH v7 15/72] x86/boot/compressed/64: Add page-fault handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Install a page-fault handler to add an identity mapping to addresses not yet mapped. Also do some checking whether the error code is sane. This makes non SEV-ES machines use the exception handling infrastructure in the pre-decompressions boot code too, making it less likely

[PATCH v7 32/72] x86/head/64: Switch to initial stack earlier

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Make sure there is a stack once the kernel runs from virual addresses. At this stage any secondary CPU which boots will have lost its stack because the kernel switched to a new page-table which does not map the real-mode stack anymore. This is needed for handling early #VC

[PATCH v7 25/72] x86/sev-es: Add support for handling IOIO exceptions

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Add support for decoding and handling #VC exceptions for IOIO events. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapted code to #VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/sev-es.c | 32 +

[PATCH v7 22/72] x86/boot/compressed/64: Add set_page_en/decrypted() helpers

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The functions are needed to map the GHCB for SEV-ES guests. The GHCB is used for communication with the hypervisor, so its content must not be encrypted. After the GHCB is not needed anymore it must be mapped encrypted again so that the running kernel image can safely re-use

[PATCH v7 34/72] x86/idt: Move two function from k/idt.c to i/a/desc.h

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Move these two functions from kernel/idt.c to include/asm/desc.h: * init_idt_data() * idt_init_desc() These functions are needed to setup IDT entries very early and need to be called from head64.c. To be usable this early these functions need to be compiled

[PATCH v7 23/72] x86/boot/compressed/64: Setup GHCB Based VC Exception handler

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Install an exception handler for #VC exception that uses a GHCB. Also add the infrastructure for handling different exit-codes by decoding the instruction that caused the exception and error handling. Signed-off-by: Joerg Roedel --- arch/x86/Kconfig

[PATCH v7 16/72] x86/boot/compressed/64: Always switch to own page-table

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel When booted through startup_64 the kernel keeps running on the EFI page-table until the KASLR code sets up its own page-table. Without KASLR the pre-decompression boot code never switches off the EFI page-table. Change that by unconditionally switching to a kernel controlled

[PATCH v7 08/72] x86/umip: Factor out instruction fetch

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Factor out the code to fetch the instruction from user-space to a helper function. No functional changes. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/insn-eval.h | 2 ++ arch/x86/kernel/umip.c | 26 +- arch/x86/lib/insn-eval.c

[PATCH v7 09/72] x86/umip: Factor out instruction decoding

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Factor out the code used to decode an instruction with the correct address and operand sizes to a helper function. No functional changes. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/insn-eval.h | 2 ++ arch/x86/kernel/umip.c | 23 +---

[PATCH v7 05/72] x86/cpufeatures: Add SEV-ES CPU feature

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Add CPU feature detection for Secure Encrypted Virtualization with Encrypted State. This feature enhances SEV by also encrypting the guest register state, making it in-accessible to the hypervisor. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel ---

[PATCH v7 10/72] x86/insn: Add insn_get_modrm_reg_off()

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add a function to the instruction decoder which returns the pt_regs offset of the register specified in the reg field of the modrm byte. Signed-off-by: Joerg Roedel Acked-by: Masami Hiramatsu --- arch/x86/include/asm/insn-eval.h | 1 + arch/x86/lib/insn-eval.c |

[PATCH v7 20/72] x86/boot/compressed/64: Call set_sev_encryption_mask() earlier

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Call set_sev_encryption_mask() while still on the stage 1 #VC-handler, because the stage 2 handler needs the kernel's own page-tables to be set up, to which calling set_sev_encryption_mask() is a prerequisite. Signed-off-by: Joerg Roedel ---

[PATCH v7 11/72] x86/insn: Add insn_has_rep_prefix() helper

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add a function to check whether an instruction has a REP prefix. Signed-off-by: Joerg Roedel Reviewed-by: Masami Hiramatsu --- arch/x86/include/asm/insn-eval.h | 1 + arch/x86/lib/insn-eval.c | 24 2 files changed, 25 insertions(+) diff

[PATCH v7 17/72] x86/boot/compressed/64: Don't pre-map memory in KASLR code

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel With the page-fault handler in place the identity mapping can be built on-demand. So remove the code which manually creates the mappings and unexport/remove the functions used for it. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook ---

[PATCH v7 55/72] x86/sev-es: Handle RDPMC Events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by RDPMC instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 22 ++ 1

[PATCH v7 54/72] x86/sev-es: Handle RDTSC(P) Events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by RDTSC and RDTSCP instructions. Also make it available in the pre-decompression stage because the KASLR code used RDTSC/RDTSCP to gather entropy and some hypervisors intercept these instructions. Signed-off-by: Tom Lendacky [

Re: [PATCH v2] Coccinelle: api: Add SmPL script “use_devm_platform_get_and_ioremap_resource.cocci”

2020-09-07 Thread Julia Lawall
On Mon, 7 Sep 2020, Markus Elfring wrote: > >> +++ > >> b/scripts/coccinelle/api/use_devm_platform_get_and_ioremap_resource.cocci > >> @@ -0,0 +1,48 @@ > >> +// SPDX-License-Identifier: GPL-2.0 > >> +/// Simplify a function call combination by using a known wrapper > >> function. > >> +// >

Re: [PATCH v1 6/8] x86/tsc: Use seqcount_latch_t

2020-09-07 Thread peterz
On Mon, Sep 07, 2020 at 06:29:13PM +0200, Ahmed S. Darwish wrote: > I've been unsuccessful in reproducing this huge, 200+ bytes, difference. > Can I please get the defconfig and GCC version? I think I lost the config and it's either gcc-9.3 or gcc-10, I can't remember. I just tried with:

[PATCH v7 70/72] x86/sev-es: Handle NMI State

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel When running under SEV-ES the kernel has to tell the hypervisor when to open the NMI window again after an NMI was injected. This is done with an NMI-complete message to the hypervisor. Add code to the kernels NMI handler to send this message right at the beginning of

[PATCH v7 65/72] x86/realmode: Add SEV-ES specific trampoline entry point

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The code at the trampoline entry point is executed in real-mode. In real-mode #VC exceptions can't be handled, so anything that might cause such an exception must be avoided. In the standard trampoline entry code this is the WBINVD instruction and the call to verify_cpu(),

[PATCH v7 64/72] x86/vmware: Add VMware specific handling for VMMCALL under SEV-ES

2020-09-07 Thread Joerg Roedel
From: Doug Covelli Add VMware specific handling for #VC faults caused by VMMCALL instructions. Signed-off-by: Doug Covelli Signed-off-by: Tom Lendacky [ jroe...@suse.de: - Adapt to different paravirt interface ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel ---

[PATCH v7 68/72] x86/head/64: Don't call verify_cpu() on starting APs

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The APs are not ready to handle exceptions when verify_cpu() is called in secondary_startup_64. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/include/asm/realmode.h | 1 + arch/x86/kernel/head_64.S | 12 arch/x86/realmode/init.c

[PATCH v7 59/72] x86/sev-es: Handle VMMCALL Events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by VMMCALL instructions. This patch is only a starting point, VMMCALL emulation under SEV-ES needs further hypervisor-specific changes to provide additional state. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC

[PATCH v7 60/72] x86/sev-es: Handle #AC Events

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Implement a handler for #VC exceptions caused by #AC exceptions. The #AC exception is just forwarded to do_alignment_check() and not pushed down to the hypervisor, as requested by the SEV-ES GHCB Standardization Specification. Signed-off-by: Joerg Roedel ---

[PATCH v7 71/72] x86/efi: Add GHCB mappings when SEV-ES is active

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Calling down to EFI runtime services can result in the firmware performing VMGEXIT calls. The firmware is likely to use the GHCB of the OS (e.g., for setting EFI variables), so each GHCB in the system needs to be identity mapped in the EFI page tables, as unencrypted, to avoid

[PATCH v7 58/72] x86/sev-es: Handle MWAIT/MWAITX Events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by MWAIT and MWAITX instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 10 ++ 1

[PATCH v7 62/72] x86/paravirt: Allow hypervisor specific VMMCALL handling under SEV-ES

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add two new paravirt callbacks to provide hypervisor specific processor state in the GHCB and to copy state from the hypervisor back to the processor. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/x86_init.h | 16 +++- arch/x86/kernel/sev-es.c| 12

[PATCH v7 72/72] x86/sev-es: Check required CPU features for SEV-ES

2020-09-07 Thread Joerg Roedel
From: Martin Radev Make sure the machine supports RDRAND, otherwise there is no trusted source of of randomness in the system. To also check this in the pre-decompression stage, make has_cpuflag not depend on CONFIG_RANDOMIZE_BASE anymore. Signed-off-by: Martin Radev Signed-off-by: Joerg

[PATCH v7 61/72] x86/sev-es: Handle #DB Events

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Handle #VC exceptions caused by #DB exceptions in the guest. Those must be handled outside of instrumentation_begin()/end() so that the handler will not be raised recursively. Handle them by calling the kernels debug exception handler. Signed-off-by: Joerg Roedel ---

[PATCH v7 63/72] x86/kvm: Add KVM specific VMMCALL handling under SEV-ES

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement the callbacks to copy the processor state required by KVM to the GHCB. Signed-off-by: Tom Lendacky [ jroe...@suse.de: - Split out of a larger patch - Adapt to different callback functions ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg

[PATCH v7 66/72] x86/realmode: Setup AP jump table

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky As part of the GHCB specification, the booting of APs under SEV-ES requires an AP jump table when transitioning from one layer of code to another (e.g. when going from UEFI to the OS). As a result, each layer that parks an AP must provide the physical address of an AP jump

[PATCH v7 67/72] x86/smpboot: Load TSS and getcpu GDT entry before loading IDT

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel The IDT on 64bit contains vectors which use paranoid_entry() and/or IST stacks. To make these vectors work the TSS and the getcpu GDT entry need to be set up before the IDT is loaded. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/processor.h | 1 +

Paid Post

2020-09-07 Thread Edward Blackford
Hi! Hope you are having a great day! I have come across your site, and I strongly feel that your website is a perfect match for us. We are a content marketing agency, and we’d be thrilled if you’d allow us to post relevant and non-promotional content on your website. You can help us by placing

[PATCH v7 56/72] x86/sev-es: Handle INVD Events

2020-09-07 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by INVD instructions. Since Linux should never use INVD, just mark it as unsupported. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg

RE: [PATCH net-next] net: xilinx: remove redundant null check before clk_disable_unprepare()

2020-09-07 Thread Radhey Shyam Pandey
> -Original Message- > From: Zhang Changzhong > Sent: Monday, September 7, 2020 6:32 PM > To: Radhey Shyam Pandey ; da...@davemloft.net; > k...@kernel.org; Michal Simek > Cc: net...@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: [PATCH net-next] net: xilinx: remove redundant

[PATCH v7 69/72] x86/sev-es: Support CPU offline/online

2020-09-07 Thread Joerg Roedel
From: Joerg Roedel Add a play_dead handler when running under SEV-ES. This is needed because the hypervisor can't deliver an SIPI request to restart the AP. Instead the kernel has to issue a VMGEXIT to halt the VCPU until the hypervisor wakes it up again. Signed-off-by: Joerg Roedel ---

Re: [PATCH 8/9] perf test: Free aliases for PMU event map aliases test

2020-09-07 Thread Namhyung Kim
Hello, On Mon, Sep 7, 2020 at 7:31 PM John Garry wrote: > > On 07/09/2020 04:45, Namhyung Kim wrote: > > The aliases were never released causing the following leaks: > > > >Indirect leak of 1224 byte(s) in 9 object(s) allocated from: > > #0 0x7feefb830628 in malloc > >

Re: [RESEND PATCH v12 2/2] mtd: rawnand: Add NAND controller support on Intel LGM SoC

2020-09-07 Thread Miquel Raynal
Hi Murugan, A few more comments below, but I guess the driver looks better now. > +struct ebu_nand_controller { > + struct nand_controller controller; > + struct nand_chip chip; > + struct device *dev; > + void __iomem *ebu; > + void __iomem *hsnand; > + struct dma_chan

[PATCH RFC 00/10] KFENCE: A low-overhead sampling-based memory safety error detector

2020-09-07 Thread Marco Elver
This adds the Kernel Electric-Fence (KFENCE) infrastructure. KFENCE is a low-overhead sampling-based memory safety error detector of heap use-after-free, invalid-free, and out-of-bounds access errors. This series enables KFENCE for the x86 and arm64 architectures, and adds KFENCE hooks to the

[BUG]: KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe

2020-09-07 Thread H. Nikolaus Schaller
Hi, it seems as if your patch 34f379956e9d7 ("KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe") [ Upstream commit b38b298aa4397e2dc74a89b4dd3eac9e59b64c96 ] fails to compile in v5.8.7 for me (using an aarch64 gcc 4.9 cross-toolchain to try to build a kernel for the PinePhone): CC

[PATCH RFC 05/10] mm, kfence: insert KFENCE hooks for SLUB

2020-09-07 Thread Marco Elver
From: Alexander Potapenko Inserts KFENCE hooks into the SLUB allocator. We note the addition of the 'orig_size' argument to slab_alloc*() functions, to be able to pass the originally requested size to KFENCE. When KFENCE is disabled, there is no additional overhead, since these functions are

[PATCH RFC 02/10] x86, kfence: enable KFENCE for x86

2020-09-07 Thread Marco Elver
From: Alexander Potapenko Add architecture specific implementation details for KFENCE and enable KFENCE for the x86 architecture. In particular, this implements the required interface in for setting up the pool and providing helper functions for protecting and unprotecting pages. For x86, we

[PATCH RFC 06/10] kfence, kasan: make KFENCE compatible with KASAN

2020-09-07 Thread Marco Elver
From: Alexander Potapenko We make KFENCE compatible with KASAN for testing KFENCE itself. In particular, KASAN helps to catch any potential corruptions to KFENCE state, or other corruptions that may be a result of freepointer corruptions in the main allocators. To indicate that the combination

[PATCH RFC 01/10] mm: add Kernel Electric-Fence infrastructure

2020-09-07 Thread Marco Elver
From: Alexander Potapenko This adds the Kernel Electric-Fence (KFENCE) infrastructure. KFENCE is a low-overhead sampling-based memory safety error detector of heap use-after-free, invalid-free, and out-of-bounds access errors. KFENCE is designed to be enabled in production kernels, and has near

[PATCH RFC 04/10] mm, kfence: insert KFENCE hooks for SLAB

2020-09-07 Thread Marco Elver
From: Alexander Potapenko Inserts KFENCE hooks into the SLAB allocator. We note the addition of the 'orig_size' argument to slab_alloc*() functions, to be able to pass the originally requested size to KFENCE. When KFENCE is disabled, there is no additional overhead, since these functions are

Re: [PATCH] arm64: dts: marvell: espressobin: Add ethernet switch aliases

2020-09-07 Thread Andrew Lunn
> My dts-foo is a little rusty, but now that you labeled the ports in the > .dtsi, can this whole "switch0" block reduced to something like: > > { > label = "lan1"; > }; > > { > label = "wan"; > }; Probably yes. But that is definitely too much for stable. Andrew

Re: [PATCH] arm64: dts: marvell: espressobin: Add ethernet switch aliases

2020-09-07 Thread Andrew Lunn
On Mon, Sep 07, 2020 at 06:13:16PM +0200, Pali Rohár wrote: > On Monday 07 September 2020 17:43:53 Andrew Lunn wrote: > > > I would not say it is a "new feature". But rather that patch in this > > > email fixes issue that Linux kernel did not set correct MAC address for > > > DSA slave ports. I

[PATCH RFC 09/10] kfence, Documentation: add KFENCE documentation

2020-09-07 Thread Marco Elver
Add KFENCE documentation in dev-tools/kfence.rst, and add to index. Co-developed-by: Alexander Potapenko Signed-off-by: Alexander Potapenko Signed-off-by: Marco Elver --- Documentation/dev-tools/index.rst | 1 + Documentation/dev-tools/kfence.rst | 285 + 2

Re: [PATCH v8 15/18] nitro_enclaves: Add Makefile for the Nitro Enclaves driver

2020-09-07 Thread Paraschiv, Andra-Irina
On 07/09/2020 12:00, Greg KH wrote: On Fri, Sep 04, 2020 at 08:37:15PM +0300, Andra Paraschiv wrote: Signed-off-by: Andra Paraschiv Reviewed-by: Alexander Graf --- Changelog v7 -> v8 * No changes. v6 -> v7 * No changes. v5 -> v6 * No changes. v4 -> v5 * No changes. v3 -> v4 * No

[PATCH RFC 08/10] kfence, lockdep: make KFENCE compatible with lockdep

2020-09-07 Thread Marco Elver
Lockdep checks that dynamic key registration is only performed on keys that are not static objects. With KFENCE, it is possible that such a dynamically allocated key is a KFENCE object which may, however, be allocated from a static memory pool (if HAVE_ARCH_KFENCE_STATIC_POOL). Therefore, ignore

[PATCH RFC 03/10] arm64, kfence: enable KFENCE for ARM64

2020-09-07 Thread Marco Elver
Add architecture specific implementation details for KFENCE and enable KFENCE for the arm64 architecture. In particular, this implements the required interface in . Currently, the arm64 version does not yet use a statically allocated memory pool, at the cost of a pointer load for each

Re: [PATCH net-next RFC v3 01/14] devlink: Add reload action option to devlink reload command

2020-09-07 Thread Moshe Shemesh
On 9/4/2020 10:56 PM, Jakub Kicinski wrote: External email: Use caution opening links or attachments On Fri, 4 Sep 2020 11:04:50 +0200 Jiri Pirko wrote: Thu, Sep 03, 2020 at 09:47:19PM CEST, k...@kernel.org wrote: On Thu, 3 Sep 2020 07:57:29 +0200 Jiri Pirko wrote: Wed, Sep 02, 2020 at

[PATCH v12 2/9] x86: kdump: make the lower bound of crash kernel reservation consistent

2020-09-07 Thread Chen Zhou
The lower bounds of crash kernel reservation and crash kernel low reservation are different, use the consistent value CRASH_ALIGN. Suggested-by: Dave Young Signed-off-by: Chen Zhou --- arch/x86/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

Re: [PATCH v3 0/5] PCIe aardvark controller improvements

2020-09-07 Thread Lorenzo Pieralisi
On Mon, Sep 07, 2020 at 01:10:33PM +0200, Pali Rohár wrote: > Hi, > > we have some more improvements for PCIe aardvark controller (Armada 3720 > SOC - EspressoBIN and Turris MOX). > > The main improvement is that with these patches the driver can be compiled > as a module, and can be reloaded at

[PATCH RFC 10/10] kfence: add test suite

2020-09-07 Thread Marco Elver
Add KFENCE test suite, testing various error detection scenarios. Makes use of KUnit for test organization. Since KFENCE's interface to obtain error reports is via the console, the test verifies that KFENCE outputs expected reports to the console. Co-developed-by: Alexander Potapenko

Re: [PATCH v5 2/2] dt-bindings: mediatek: mt6359: add codec document

2020-09-07 Thread Tzung-Bi Shih
On Thu, Aug 20, 2020 at 3:40 AM Mark Brown wrote: > > On Wed, Aug 19, 2020 at 11:42:27PM +0800, Tzung-Bi Shih wrote: > > > But I found struct mfd_cell also contains member .of_compatible. What > > is the difference if we use compatible string (as is) for this device > > instead of falling back

[PATCH v12 9/9] kdump: update Documentation about crashkernel

2020-09-07 Thread Chen Zhou
For arm64, the behavior of crashkernel=X has been changed, which tries low allocation in DMA zone, and fall back to high allocation if it fails. We can also use "crashkernel=X,high" to select a high region above DMA zone, which also tries to allocate at least 256M low memory in DMA zone

[PATCH v12 1/9] x86: kdump: move CRASH_ALIGN to 2M

2020-09-07 Thread Chen Zhou
CONFIG_PHYSICAL_ALIGN can be selected from 2M to 16M and default value is 2M, so move CRASH_ALIGN to 2M, with smaller value reservation can have more chance to succeed. And replace the hard-coded alignment with macro CRASH_ALIGN in function reserve_crashkernel(). Suggested-by: Dave Young

[PATCH v12 4/9] x86: kdump: move reserve_crashkernel[_low]() into crash_core.c

2020-09-07 Thread Chen Zhou
Make the functions reserve_crashkernel[_low]() as generic. Arm64 will use these to reimplement crashkernel=X. There is no functional change. Signed-off-by: Chen Zhou --- arch/x86/include/asm/kexec.h | 25 + arch/x86/kernel/setup.c | 163 +--

Re: [PATCH] Coccinelle: api: Add SmPL script “use_devm_platform_get_and_ioremap_resource.cocci”

2020-09-07 Thread Julia Lawall
> +@replacement depends on patch@ > +expression base, device1, device2, index, private, resource; > +@@ > +( > +-resource = platform_get_resource(device1, IORESOURCE_MEM, index); > + base = > +- devm_ioremap_resource > ++

[PATCH v12 5/9] arm64: kdump: introduce some macroes for crash kernel reservation

2020-09-07 Thread Chen Zhou
Introduce macro CRASH_ALIGN for alignment, macro CRASH_ADDR_LOW_MAX for upper bound of low crash memory, macro CRASH_ADDR_HIGH_MAX for upper bound of high crash memory, use macroes instead. Besides, keep consistent with x86, use CRASH_ALIGN as the lower bound of crash kernel reservation.

[PATCH v12 6/9] arm64: kdump: reimplement crashkernel=X

2020-09-07 Thread Chen Zhou
There are following issues in arm64 kdump: 1. We use crashkernel=X to reserve crashkernel below 4G, which will fail when there is no enough low memory. 2. If reserving crashkernel above 4G, in this case, crash dump kernel will boot failure because there is no low memory available for allocation.

Re: [PATCH v4 1/1] drm: allow limiting the scatter list size.

2020-09-07 Thread Daniel Vetter
On Mon, Sep 7, 2020 at 1:24 PM Gerd Hoffmann wrote: > > Add drm_device argument to drm_prime_pages_to_sg(), so we can > call dma_max_mapping_size() to figure the segment size limit > and call into __sg_alloc_table_from_pages() with the correct > limit. > > This fixes virtio-gpu with sev.

[PATCH v12 0/9] support reserving crashkernel above 4G on arm64 kdump

2020-09-07 Thread Chen Zhou
There are following issues in arm64 kdump: 1. We use crashkernel=X to reserve crashkernel below 4G, which will fail when there is no enough low memory. 2. If reserving crashkernel above 4G, in this case, crash dump kernel will boot failure because there is no low memory available for allocation.

[PATCH v12 7/9] kdump: add threshold for the required memory

2020-09-07 Thread Chen Zhou
For crashkernel=X, if required size X is too large and leads to very little free low memory after low allocation, the system may not work normally. So add a threshold and go for high allocation directly if the required size is too large. The value of threshold is set as the half of the low memory.

Re: [PATCH 23/23] Documentation: gpio: add documentation for gpio-mockup

2020-09-07 Thread Andy Shevchenko
On Mon, Sep 07, 2020 at 02:57:29PM +0200, Bartosz Golaszewski wrote: > On Mon, Sep 7, 2020 at 2:38 PM Andy Shevchenko > wrote: > > > > On Mon, Sep 07, 2020 at 02:06:15PM +0200, Bartosz Golaszewski wrote: > > > On Mon, Sep 7, 2020 at 1:53 PM Andy Shevchenko > > > wrote: > > > > On Mon, Sep 07,

[PATCH v12 3/9] x86: kdump: use macro CRASH_ADDR_LOW_MAX in functions reserve_crashkernel[_low]()

2020-09-07 Thread Chen Zhou
To make the functions reserve_crashkernel[_low]() as generic, replace some hard-coded numbers with macro CRASH_ADDR_LOW_MAX. Signed-off-by: Chen Zhou --- arch/x86/kernel/setup.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/setup.c

Re: [PATCH 23/23] Documentation: gpio: add documentation for gpio-mockup

2020-09-07 Thread Bartosz Golaszewski
On Mon, Sep 7, 2020 at 2:22 PM Greg Kroah-Hartman wrote: > > On Mon, Sep 07, 2020 at 02:06:15PM +0200, Bartosz Golaszewski wrote: > > On Mon, Sep 7, 2020 at 1:53 PM Andy Shevchenko > > wrote: > > > > > > On Mon, Sep 07, 2020 at 12:26:34PM +0200, Bartosz Golaszewski wrote: > > > > On Mon, Sep 7,

Re: [PATCH RFC 0/7] net: bridge: cfm: Add support for Connectivity Fault Management(CFM)

2020-09-07 Thread Nikolay Aleksandrov
On Sun, 2020-09-06 at 20:21 +0200, Horatiu Vultur wrote: > The 09/04/2020 15:44, Stephen Hemminger wrote: > > On Fri, 4 Sep 2020 09:15:20 + > > Henrik Bjoernlund wrote: > > > > > Connectivity Fault Management (CFM) is defined in 802.1Q section 12.14. > > > > > > [snip] > > > Currently this

Re: [PATCH] misc: fastrpc: add ioctl for attaching to sensors pd

2020-09-07 Thread Jonathan Marek
On 9/7/20 8:33 AM, Greg Kroah-Hartman wrote: On Mon, Aug 31, 2020 at 08:32:59PM -0400, Jonathan Marek wrote: Initializing sensors requires attaching to pd 2. Add an ioctl for that. This corresponds to FASTRPC_INIT_ATTACH_SENSORS in the downstream driver. Signed-off-by: Jonathan Marek ---

Re: [PATCH 8/9] perf test: Free aliases for PMU event map aliases test

2020-09-07 Thread John Garry
On 07/09/2020 14:20, Namhyung Kim wrote: I also notice that we have other paths like this, where the allocated pmu (and aliases) are not freed for later error paths, it seems: parse_events_add_pmu() -> perf_pmu_find() -> pmu_lookup() -> pmu_add_cpu_aliases(). I had a quick look at the rest of

Re: [PATCH] misc: fastrpc: add ioctl for attaching to sensors pd

2020-09-07 Thread Srinivas Kandagatla
On 07/09/2020 14:47, Jonathan Marek wrote: On 9/7/20 8:36 AM, Srinivas Kandagatla wrote: On 01/09/2020 01:32, Jonathan Marek wrote: -#define FASTRPC_IOCTL_MMAP  _IOWR('R', 6, struct fastrpc_req_mmap) -#define FASTRPC_IOCTL_MUNMAP    _IOWR('R', 7, struct

Re: [PATCH] misc: fastrpc: add ioctl for attaching to sensors pd

2020-09-07 Thread Srinivas Kandagatla
On 07/09/2020 14:51, Jonathan Marek wrote: @@ -1477,7 +1477,10 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int cmd,   err = fastrpc_invoke(fl, argp);   break;   case FASTRPC_IOCTL_INIT_ATTACH: -    err = fastrpc_init_attach(fl); +    err =

Re: [PATCH] PR_SPEC_DISABLE_NOEXEC support for arm64.

2020-09-07 Thread Will Deacon
On Fri, Jul 17, 2020 at 04:05:32AM -0700, Anthony Steinhauser wrote: > For x64 it was already implemented in: > https://github.com/torvalds/linux/commit/71368af > > The rationale is the same as for the x64 implementation. > > Signed-off-by: Anthony Steinhauser > --- > > It's actively attempted

Re: [PATCH] drivers/perf: xgene_pmu: Fix uninitialized resource struct

2020-09-07 Thread Will Deacon
On Wed, Sep 02, 2020 at 02:27:29PM -0400, Mark Salter wrote: > diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c > index edac28cd25dd..fdbbd0804b92 100644 > --- a/drivers/perf/xgene_pmu.c > +++ b/drivers/perf/xgene_pmu.c > @@ -1483,6 +1483,7 @@ xgene_pmu_dev_ctx

<    1   2   3   4   5   6   7   8   9   10   >