Re: [PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Jan Beulich
On 17.04.2023 21:34, Andrew Cooper wrote: > On 17/04/2023 3:51 pm, Jan Beulich wrote: >> On 17.04.2023 16:41, Andrew Cooper wrote: >>> On 17/04/2023 2:59 pm, Jan Beulich wrote: On 17.04.2023 15:52, Andrew Cooper wrote: > @@ -5879,6 +5880,73 @@ int destroy_xen_mappings(unsigned long s,

RE: [PATCH v3 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section

2023-04-17 Thread Dietmar Hahn (Fujitsu)
Hi Juergen, > From: Xen-devel On Behalf Of Juergen > Gross > Sent: Wednesday, April 5, 2023 3:56 PM > To: xen-devel@lists.xenproject.org > Cc: Juergen Gross ; Andrew Cooper > ; George Dunlap ; Jan > Beulich ; Julien Grall ; Stefano > Stabellini ; Wei Liu > Subject: [PATCH v3 1/2] xen: move

Re: [PATCH v2 2/2] xen/riscv: add explicit check that .got{.plt} is empty

2023-04-17 Thread Alistair Francis
On Thu, Mar 16, 2023 at 11:22 PM Oleksii Kurochko wrote: > > The GOT sections usage should be avoided in the hypervisor > so to catch such use cases earlier when GOT things are > produced the patch introduces .got and .got.plt sections > and adds asserts that they're empty. > > The sections won't

Re: [PATCH v2 1/2] xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS

2023-04-17 Thread Alistair Francis
On Thu, Mar 16, 2023 at 11:22 PM Oleksii Kurochko wrote: > > The patch is needed to keep all address of cpu0_boot_stack > PC-relative. > > Pseudoinstruction 'la' can be transformed to 'auipc/addi' or > 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic > or compiler flags. > >

Re: [PATCH 12/33] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor}

2023-04-17 Thread kernel test robot
Hi Vishal, kernel test robot noticed the following build warnings: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on next-20230417] [cannot apply to s390/features powerpc/next powerpc/fixes geert-m68k/for-next geert-m68k/for-linus linus/master v6.3-rc7] [If your

Re: [PATCH 04/33] mm: add utility functions for ptdesc

2023-04-17 Thread kernel test robot
Hi Vishal, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on s390/features powerpc/next powerpc/fixes geert-m68k/for-next geert-m68k/for-linus linus/master v6.3-rc7 next-20230417] [If your patch is applied

[linux-linus test] 180285: regressions - FAIL

2023-04-17 Thread osstest service owner
flight 180285 linux-linus real [real] http://logs.test-lab.xenproject.org/osstest/logs/180285/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl-credit1 8 xen-boot fail REGR. vs. 180278 Tests which are

[xen-unstable-smoke test] 180290: tolerable all pass - PUSHED

2023-04-17 Thread osstest service owner
flight 180290 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/180290/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm

Re: [PATCH 24/33] m68k: Convert various functions to use ptdescs

2023-04-17 Thread kernel test robot
Hi Vishal, kernel test robot noticed the following build warnings: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on next-20230417] [cannot apply to s390/features powerpc/next powerpc/fixes geert-m68k/for-next geert-m68k/for-linus linus/master v6.3-rc7] [If your

[xen-unstable-smoke test] 180286: regressions - FAIL

2023-04-17 Thread osstest service owner
flight 180286 xen-unstable-smoke real [real] flight 180288 xen-unstable-smoke real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/180286/ http://logs.test-lab.xenproject.org/osstest/logs/180288/ Regressions :-( Tests which did not succeed and are blocking, including tests which

[PATCH 17/33] mm: Remove page table members from struct page

2023-04-17 Thread Vishal Moola (Oracle)
The page table members are now split out into their own ptdesc struct. Remove them from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm_types.h | 14 -- include/linux/pgtable.h | 3 --- 2 files changed, 17 deletions(-) diff --git a/include/linux/mm_types.h

[PATCH 13/33] powerpc: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/powerpc/mm/book3s64/mmu_context.c | 10 +++--- arch/powerpc/mm/book3s64/pgtable.c | 32 +- arch/powerpc/mm/pgtable-frag.c | 46

[PATCH 16/33] s390: Convert various pgalloc functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 21/33] csky: Convert __pte_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/csky/include/asm/pgalloc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/csky/include/asm/pgalloc.h

[PATCH 22/33] hexagon: Convert __pte_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/hexagon/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/hexagon/include/asm/pgalloc.h

[PATCH 29/33] sh: Convert pte_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) --- arch/sh/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git

[PATCH 24/33] m68k: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 31/33] sparc: Convert pgtable_pte_page_{ctor, dtor}() to ptdesc equivalents

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable pte constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/sparc/mm/srmmu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index

[PATCH 30/33] sparc64: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/sparc/mm/init_64.c | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff

[PATCH 33/33] mm: Remove pgtable_{pmd, pte}_page_{ctor, dtor}() wrappers

2023-04-17 Thread Vishal Moola (Oracle)
These functions are no longer necessary. Remove them and cleanup Documentation referencing them. Signed-off-by: Vishal Moola (Oracle) --- Documentation/mm/split_page_table_lock.rst| 12 +-- .../zh_CN/mm/split_page_table_lock.rst| 14 ++--- include/linux/mm.h

[PATCH 27/33] openrisc: Convert __pte_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/openrisc/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/openrisc/include/asm/pgalloc.h

[PATCH 20/33] arm64: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Signed-off-by: Vishal Moola (Oracle) --- arch/arm64/include/asm/tlb.h | 14 -- arch/arm64/mm/mmu.c | 7 --- 2 files

[PATCH 19/33] arm: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. late_alloc() also uses the __get_free_pages() helper function. Convert this to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 28/33] riscv: Convert alloc_{pmd, pte}_late() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 32/33] um: Convert {pmd, pte}_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Also cleans up some spacing issues. Signed-off-by: Vishal Moola (Oracle) --- arch/um/include/asm/pgalloc.h | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git

[PATCH 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents. Signed-off-by: Vishal Moola (Oracle) --- arch/nios2/include/asm/pgalloc.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/nios2/include/asm/pgalloc.h

[PATCH 25/33] mips: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 23/33] loongarch: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 14/33] x86: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle)

[PATCH 11/33] mm: Convert ptlock_free() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- mm/memory.c| 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git

[PATCH 15/33] s390: Convert various gmap functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
In order to split struct ptdesc from struct page, convert various functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize page tables further. Signed-off-by: Vishal Moola (Oracle)

[PATCH 10/33] mm: Convert pmd_ptlock_free() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH 18/33] pgalloc: Convert various functions to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
As part of the conversions to replace pgtable constructor/destructors with ptdesc equivalents, convert various page table functions to use ptdescs. Some of the functions use the *get*page*() helper functions. Convert these to use ptdesc_alloc() and ptdesc_address() instead to help standardize

[PATCH 04/33] mm: add utility functions for ptdesc

2023-04-17 Thread Vishal Moola (Oracle)
Introduce utility functions setting the foundation for ptdescs. These will also assist in the splitting out of ptdesc from struct page. ptdesc_alloc() is defined to allocate new ptdesc pages as compound pages. This is to standardize ptdescs by allowing for one allocation and one free function, in

[PATCH 12/33] mm: Create ptdesc equivalents for pgtable_{pte,pmd}_page_{ctor,dtor}

2023-04-17 Thread Vishal Moola (Oracle)
Creates ptdesc_pte_ctor(), ptdesc_pmd_ctor(), ptdesc_pte_dtor(), and ptdesc_pmd_dtor() and make the original pgtable constructor/destructors wrappers. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 56 ++ 1 file changed, 42

[PATCH 07/33] mm: Convert ptlock_ptr() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- arch/x86/xen/mmu_pv.c | 2 +- include/linux/mm.h| 14 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git

[PATCH 00/33] Split ptdesc from struct page

2023-04-17 Thread Vishal Moola (Oracle)
happen. This series is rebased on next-20230417. Vishal Moola (Oracle) (33): s390: Use _pt_s390_gaddr for gmap address tracking s390: Use pt_frag_refcount for pagetables pgtable: Create struct ptdesc mm: add utility functions for ptdesc mm: Convert pmd_pgtable_page() to pmd_ptdesc() mm

[PATCH 06/33] mm: Convert ptlock_alloc() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 6 +++--- mm/memory.c| 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h

[PATCH 01/33] s390: Use _pt_s390_gaddr for gmap address tracking

2023-04-17 Thread Vishal Moola (Oracle)
s390 uses page->index to keep track of page tables for the guest address space. In an attempt to consolidate the usage of page fields in s390, replace _pt_pad_2 with _pt_s390_gaddr to replace page->index in gmap. This will help with the splitting of struct ptdesc from struct page, as well as

[PATCH 09/33] mm: Convert ptlock_init() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH 08/33] mm: Convert pmd_ptlock_init() to use ptdescs

2023-04-17 Thread Vishal Moola (Oracle)
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h

[PATCH 03/33] pgtable: Create struct ptdesc

2023-04-17 Thread Vishal Moola (Oracle)
Currently, page table information is stored within struct page. As part of simplifying struct page, create struct ptdesc for page table information. Signed-off-by: Vishal Moola (Oracle) --- include/linux/pgtable.h | 50 + 1 file changed, 50 insertions(+)

[PATCH 02/33] s390: Use pt_frag_refcount for pagetables

2023-04-17 Thread Vishal Moola (Oracle)
s390 currently uses _refcount to identify fragmented page tables. The page table struct already has a member pt_frag_refcount used by powerpc, so have s390 use that instead of the _refcount field as well. This improves the safety for _refcount and the page table tracking. This also allows us to

[PATCH 05/33] mm: Convert pmd_pgtable_page() to pmd_ptdesc()

2023-04-17 Thread Vishal Moola (Oracle)
Converts pmd_pgtable_page() to pmd_ptdesc() and all its callers. This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 8 1 file changed, 4 insertions(+), 4

Re: [patch 16/37] x86/xen/smp_pv: Remove wait for CPU online

2023-04-17 Thread Boris Ostrovsky
On 4/14/23 7:44 PM, Thomas Gleixner wrote: Now that the core code drops sparse_irq_lock after the idle thread synchronized, it's pointless to wait for the AP to mark itself online. Whether the control CPU runs in a wait loop or sleeps in the core code waiting for the online operation to

Re: [PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Andrew Cooper
On 17/04/2023 3:51 pm, Jan Beulich wrote: > On 17.04.2023 16:41, Andrew Cooper wrote: >> On 17/04/2023 2:59 pm, Jan Beulich wrote: >>> On 17.04.2023 15:52, Andrew Cooper wrote: @@ -5879,6 +5880,73 @@ int destroy_xen_mappings(unsigned long s, unsigned long e) return

[xen-unstable test] 180282: tolerable FAIL - PUSHED

2023-04-17 Thread osstest service owner
flight 180282 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/180282/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 180238 test-amd64-i386-xl-qemuu-win7-amd64

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Paul Menzel
Dear Thomas, Am 17.04.23 um 16:48 schrieb Thomas Gleixner: On Mon, Apr 17 2023 at 13:19, Paul Menzel wrote: Am 15.04.23 um 01:44 schrieb Thomas Gleixner: [0.258193] smpboot: CPU0: AMD A6-6400K APU with Radeon(tm) HD Graphics (family: 0x15, model: 0x13, stepping: 0x1) […] [0.259329]

[xen-unstable-smoke test] 180283: tolerable all pass - PUSHED

2023-04-17 Thread osstest service owner
flight 180283 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/180283/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm

Re: [patch 22/37] arm64: smp: Switch to hotplug core state synchronization

2023-04-17 Thread Mark Rutland
On Sat, Apr 15, 2023 at 01:44:49AM +0200, Thomas Gleixner wrote: > Switch to the CPU hotplug core state tracking and synchronization > mechanim. No functional change intended. > > Signed-off-by: Thomas Gleixner > Cc: Catalin Marinas > Cc: Will Deacon > Cc: linux-arm-ker...@lists.infradead.org

Re: [XEN][PATCH v5 13/17] xen/arm: Implement device tree node removal functionalities

2023-04-17 Thread Michal Orzel
Hi Vikram, On 11/04/2023 21:16, Vikram Garhwal wrote: > > > Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using > device tree overlay. > > xl dt-overlay remove file.dtbo: > Removes all the nodes in a given dtbo. > First, removes IRQ permissions and MMIO

Re: [PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Jan Beulich
On 17.04.2023 16:41, Andrew Cooper wrote: > On 17/04/2023 2:59 pm, Jan Beulich wrote: >> On 17.04.2023 15:52, Andrew Cooper wrote: >>> @@ -5879,6 +5880,73 @@ int destroy_xen_mappings(unsigned long s, unsigned >>> long e) >>> return modify_xen_mappings(s, e, _PAGE_NONE); >>> } >>> >>> +/*

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Thomas Gleixner
Paul! On Mon, Apr 17 2023 at 13:19, Paul Menzel wrote: > Am 15.04.23 um 01:44 schrieb Thomas Gleixner: > [0.258193] smpboot: CPU0: AMD A6-6400K APU with Radeon(tm) HD > Graphics (family: 0x15, model: 0x13, stepping: 0x1) > […] > [0.259329] smp: Bringing up secondary CPUs ... > [

Re: [PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Andrew Cooper
On 17/04/2023 2:59 pm, Jan Beulich wrote: > On 17.04.2023 15:52, Andrew Cooper wrote: >> Right now, trying to apply a livepatch on any system with CET shstk (AMD Zen3 >> or later, Intel Tiger Lake or Sapphire Rapids and later) fails as follows: >> >> (XEN) livepatch: lp: Verifying enabled

Re: [PATCH] xen/vpci: initialize msix->next

2023-04-17 Thread Stewart Hildebrand
On 4/17/23 05:09, Jan Beulich wrote: > On 14.04.2023 22:29, Stewart Hildebrand wrote: >> The list was not being initialized, which could result in a crash in >> vpci_remove_device if no list items were added. > > Can you please point out the code path which may lead to such a crash? It would be

Re: [PATCH v2 0/2] deal with GOT stuff for RISC-V

2023-04-17 Thread Jan Beulich
On 16.03.2023 14:22, Oleksii Kurochko wrote: > Oleksii Kurochko (2): > xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS > xen/riscv: add explicit check that .got{.plt} is empty > > xen/arch/riscv/arch.mk | 2 ++ > xen/arch/riscv/xen.lds.S | 13 + > 2 files changed, 15

Re: [PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Jan Beulich
On 17.04.2023 15:52, Andrew Cooper wrote: > Right now, trying to apply a livepatch on any system with CET shstk (AMD Zen3 > or later, Intel Tiger Lake or Sapphire Rapids and later) fails as follows: > > (XEN) livepatch: lp: Verifying enabled expectations for all functions > (XEN)

[PATCH v5 2/3] x86/platform: introduce XENPF_get_ucode_revision

2023-04-17 Thread Sergey Dyasli
Currently it's impossible to get CPU's microcode revision from Xen after late loading without looking into Xen logs which is not always convenient. Add a new platform op in order to get the required data from Xen and provide a wrapper for libxenctrl. Signed-off-by: Sergey Dyasli Reviewed-by:

[PATCH v5 0/3] xen-ucode: print information about currently loaded ucode

2023-04-17 Thread Sergey Dyasli
Currently it's impossible to get CPU's microcode revision from Xen after late loading without looking into Xen logs which is not always convenient. Add an option to xen-ucode tool to print the currently loaded ucode revision. Sergey Dyasli (3): tools/xenctrl: add xc_get_cpu_version()

[PATCH v5 3/3] tools/xen-ucode: print information about currently loaded ucode

2023-04-17 Thread Sergey Dyasli
Add an option to xen-ucode tool to print the currently loaded ucode revision and also print it during usage info. Print CPU signature and platform flags as well. The raw data comes from XENPF_get_cpu_version and XENPF_get_ucode_revision platform ops. Example output: Intel: CPU signature

[PATCH v5 1/3] tools/xenctrl: add xc_get_cpu_version()

2023-04-17 Thread Sergey Dyasli
As a wrapper for XENPF_get_cpu_version platform op. Signed-off-by: Sergey Dyasli Reviewed-by: Andrew Cooper --- v4 --> v5: - Added Reviewed-by v3 --> v4: - Replaced DECLARE_PLATFORM_OP - Removed NULL checks --- tools/include/xenctrl.h | 1 + tools/libs/ctrl/xc_misc.c | 17 +

[PATCH v2] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Andrew Cooper
Right now, trying to apply a livepatch on any system with CET shstk (AMD Zen3 or later, Intel Tiger Lake or Sapphire Rapids and later) fails as follows: (XEN) livepatch: lp: Verifying enabled expectations for all functions (XEN) common/livepatch.c:1591: livepatch: lp: timeout is 3000ns

[linux-linus test] 180281: regressions - FAIL

2023-04-17 Thread osstest service owner
flight 180281 linux-linus real [real] flight 180284 linux-linus real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/180281/ http://logs.test-lab.xenproject.org/osstest/logs/180284/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be

Re: [PATCH v2 3/3] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Jan Beulich
On 17.04.2023 15:37, Andrew Cooper wrote: > On 17/04/2023 1:35 pm, Jan Beulich wrote: >> On 17.04.2023 14:13, Andrew Cooper wrote: >>> --- a/xen/common/livepatch.c >>> +++ b/xen/common/livepatch.c >>> @@ -803,28 +803,84 @@ static int prepare_payload(struct payload *payload, >>> if ( sec ) >>>

Re: [PATCH v2 1/3] xen/ELF: Fix ELF32 PRI formatters

2023-04-17 Thread Andrew Cooper
On 17/04/2023 1:31 pm, Jan Beulich wrote: > On 17.04.2023 14:13, Andrew Cooper wrote: >> --- a/xen/common/livepatch_elf.c >> +++ b/xen/common/livepatch_elf.c >> @@ -310,12 +310,12 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf >> *elf) >> break; >>

Re: [PATCH v2 3/3] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Andrew Cooper
On 17/04/2023 1:35 pm, Jan Beulich wrote: > On 17.04.2023 14:13, Andrew Cooper wrote: >> --- a/xen/common/livepatch.c >> +++ b/xen/common/livepatch.c >> @@ -803,28 +803,84 @@ static int prepare_payload(struct payload *payload, >> if ( sec ) >> { >> #ifdef CONFIG_HAS_ALTERNATIVE >> +

Re: [PATCH 9/9] x86emul+VMX: support {RD,WR}MSRLIST

2023-04-17 Thread Jan Beulich
On 07.04.2023 00:03, Andrew Cooper wrote: > On 04/04/2023 3:55 pm, Jan Beulich wrote: >> --- >> TODO: Use VMX tertiary execution control (once bit is known; see >> //todo-s) and then further adjust cpufeatureset.h. >> >> RFC: In vmx_vmexit_handler() handling is forwarded to the emulator >>

Re: [PATCH 8/9] x86emul: support AVX-NE-CONVERT insns

2023-04-17 Thread Jan Beulich
On 06.04.2023 23:22, Andrew Cooper wrote: > On 04/04/2023 3:54 pm, Jan Beulich wrote: >> Matching what was done earlier, explicit tests are added only for >> irregular insn / memory access patterns. >> >> Signed-off-by: Jan Beulich > > Reviewed-by: Andrew Cooper , Thanks. > with two minor

Re: [PATCH v2 3/3] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Jan Beulich
On 17.04.2023 14:13, Andrew Cooper wrote: > --- a/xen/common/livepatch.c > +++ b/xen/common/livepatch.c > @@ -803,28 +803,84 @@ static int prepare_payload(struct payload *payload, > if ( sec ) > { > #ifdef CONFIG_HAS_ALTERNATIVE > +/* > + * (As of April 2023),

Re: [PATCH 5/5] hw/xen: Fix broken check for invalid state in xs_be_open()

2023-04-17 Thread Paul Durrant
On 12/04/2023 19:51, David Woodhouse wrote: From: David Woodhouse Coverity points out that if (!s && !s->impl) isn't really what we intended to do here. CID 1508131. Fixes: 032475127225 ("hw/xen: Add emulated implementation of XenStore operations") Signed-off-by: David Woodhouse ---

Re: [PATCH 4/5] hw/xen: Fix double-free in xen_console store_con_info()

2023-04-17 Thread Paul Durrant
On 12/04/2023 19:51, David Woodhouse wrote: From: David Woodhouse Coverity spotted a double-free (CID 1508254); we g_string_free(path) and then for some reason immediately call free(path) too. We should just use g_autoptr() for it anyway, which simplifies the code a bit. Fixes: 7a8a749da7d3

Re: [PATCH v2 1/3] xen/ELF: Fix ELF32 PRI formatters

2023-04-17 Thread Jan Beulich
On 17.04.2023 14:13, Andrew Cooper wrote: > --- a/xen/common/livepatch_elf.c > +++ b/xen/common/livepatch_elf.c > @@ -310,12 +310,12 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf > *elf) > break; > } > } > -

Re: [PATCH 3/5] xen: Drop support for Xen versions below 4.7.1

2023-04-17 Thread Paul Durrant
On 12/04/2023 19:51, David Woodhouse wrote: From: David Woodhouse In restructuring to allow for internal emulation of Xen functionality, I broke compatibility for Xen 4.6 and earlier. Fix this by explicitly removing support for anything older than 4.7.1, which is also ancient but it does still

Re: [PATCH 2/5] hw/xen: Fix memory leak in libxenstore_open() for Xen

2023-04-17 Thread Paul Durrant
On 12/04/2023 19:50, David Woodhouse wrote: From: David Woodhouse There was a superfluous allocation of the XS handle, leading to it being leaked on both the error path and the success path (where it gets allocated again). Spotted by Coverity (CID 1508098). Fixes: ba2a92db1ff6 ("hw/xen: Add

[PATCH v2] x86emul: avoid triggering event related assertions

2023-04-17 Thread Jan Beulich
The assertion at the end of x86_emulate_wrapper() as well as the ones in x86_emul_{hw_exception,pagefault}() can trigger if we ignore X86EMUL_EXCEPTION coming back from certain hook functions. Squash exceptions when merely probing MSRs, plus on SWAPGS'es "best effort" error handling path. In

[PATCH v2 3/3] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Andrew Cooper
The prior check has && vs || mixups, making it tautologically false and thus providing no safety at all. There are boundary errors too. First start with a comment describing how the .altinstructions and .altinstr_replacement sections interact, and perform suitable cross-checking. Second,

[PATCH v2 1/3] xen/ELF: Fix ELF32 PRI formatters

2023-04-17 Thread Andrew Cooper
It is rude to hide width formatting inside a PRI* macro, doubly so when it's only in one bitness of the macro. However its fully buggy when all the users use %#"PRI because then it expands to the common trap of %#08x which does not do what the author intends. Switch the ELF PRI formatters to use

[PATCH v2 0/3] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Andrew Cooper
This replaces the previous singleton patch, with several build fixes found by Gitlab. I also included some feedback from Jan on patch 3. Andrew Cooper (3): xen/ELF: Fix ELF32 PRI formatters arm/alternatives: Rename alt_instr fields which are used in common code xen/livepatch: Fix

[PATCH v2 2/3] arm/alternatives: Rename alt_instr fields which are used in common code

2023-04-17 Thread Andrew Cooper
Alternatives auditing for livepatches is currently broken. To fix it, the livepatch code needs to inspect more fields of alt_instr. Rename ARM's fields to match x86's, because: * ARM already exposes alt_offset under the repl name via ALT_REPL_PTR() * "alt" is somewhat ambiguous in a structure

Re: RFC: disable HPET legacy mode after timer check

2023-04-17 Thread Simon Gaiser
Andrew Cooper: [...] >> It reaches low power states only for a fraction of the suspend to idle >> time, so something still makes the CPU/chipset think it should leave the >> low power mode, but that's another topic. > > Do you have any further info here? There are a range of possibilities, >

Re: S0ix support in Xen

2023-04-17 Thread Simon Gaiser
Roger Pau Monné: > On Mon, Feb 27, 2023 at 12:48:03PM +0100, Simon Gaiser wrote: >> Hi, >> >> I have been looking into using S0ix with Xen. On systems with with >> 11th gen (Tiger Lake) Intel mobile CPUs or newer this is often the >> only supported suspend method, thus we want to support it in

Re: [PATCH v4 1/3] xen/riscv: introduce setup_initial_pages

2023-04-17 Thread Jan Beulich
On 07.04.2023 17:48, Oleksii Kurochko wrote: > The idea was taken from xvisor but the following changes > were done: > * Use only a minimal part of the code enough to enable MMU > * rename {_}setup_initial_pagetables functions > * add an argument for setup_initial_mapping to have > an

Re: [PATCH] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Andrew Cooper
On 17/04/2023 11:28 am, Jan Beulich wrote: > On 15.04.2023 21:58, Andrew Cooper wrote: >> Right now, trying to apply a livepatch on any system with CET shstk (AMD Zen3 >> or later, Intel Tiger Lake or Sapphire Rapids and later) fails as follows: >> >> (XEN) livepatch: lp: Verifying enabled

Re: [PATCH 5/9] x86emul: re-use new stub_exn field in state structure

2023-04-17 Thread Jan Beulich
On 06.04.2023 21:48, Andrew Cooper wrote: > On 04/04/2023 3:53 pm, Jan Beulich wrote: >> This can now also be used to reduce the number of parameters >> x86emul_fpu() needs to take. >> >> Signed-off-by: Jan Beulich > > As said in the previous patch, I think this patch wants reordering > forwards

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Paul Menzel
[Correct David’s address] Am 17.04.23 um 13:19 schrieb Paul Menzel: Dear Thomas, Am 15.04.23 um 01:44 schrieb Thomas Gleixner: This is a complete rework of the parallel bringup patch series (V17) https://lore.kernel.org/lkml/20230328195758.1049469-1-usama.a...@bytedance.com to

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Paul Menzel
Dear Thomas, Am 15.04.23 um 01:44 schrieb Thomas Gleixner: This is a complete rework of the parallel bringup patch series (V17) https://lore.kernel.org/lkml/20230328195758.1049469-1-usama.a...@bytedance.com to address the issues which were discovered in review: […] Thank you very

Re: [PATCH v2] x86/hvm: Disallow CR0.PG 1->0 transitions when CS.L=1

2023-04-17 Thread Andrew Cooper
On 17/04/2023 9:05 am, Jan Beulich wrote: > On 13.04.2023 17:00, Andrew Cooper wrote: >> The Long Mode consistency checks exist to "ensure that the processor does not >> enter an undefined mode or state that results in unpredictable behavior". >> APM >> Vol2 Table 14-5 "Long-Mode Consistency

Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev

2023-04-17 Thread Jan Beulich
On 17.04.2023 12:51, Roger Pau Monné wrote: > On Mon, Apr 17, 2023 at 12:34:31PM +0200, Jan Beulich wrote: >> On 17.04.2023 12:17, Roger Pau Monné wrote: >>> On Fri, Apr 14, 2023 at 01:30:39AM +, Volodymyr Babchuk wrote: Above I have proposed another view on this. I hope, it will work for

Re: [PATCH 4/9] x86emul: support CMPccXADD

2023-04-17 Thread Jan Beulich
On 06.04.2023 21:28, Andrew Cooper wrote: > On 04/04/2023 3:52 pm, Jan Beulich wrote: >> Unconditionally wire this through the ->rmw() hook. Since x86_emul_rmw() >> now wants to construct and invoke a stub, make stub_exn available to it >> via a new field in the emulator state structure. > > IMO,

Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev

2023-04-17 Thread Roger Pau Monné
On Mon, Apr 17, 2023 at 12:34:31PM +0200, Jan Beulich wrote: > On 17.04.2023 12:17, Roger Pau Monné wrote: > > On Fri, Apr 14, 2023 at 01:30:39AM +, Volodymyr Babchuk wrote: > >> Above I have proposed another view on this. I hope, it will work for > >> you. Just to reiterate, idea is to allow

Re: [XEN][PATCH v5 10/17] xen/iommu: Introduce iommu_remove_dt_device()

2023-04-17 Thread Michal Orzel
Hi Vikram, On 11/04/2023 21:16, Vikram Garhwal wrote: > > > Remove master device from the IOMMU. This will be helpful when removing the > overlay nodes using dynamic programming during run time. > > Signed-off-by: Vikram Garhwal > --- > xen/drivers/passthrough/device_tree.c | 38

Re: [PATCH] xen/livepatch: Fix .altinstructions safety checks

2023-04-17 Thread Andrew Cooper
On 17/04/2023 11:01 am, Jan Beulich wrote: > On 15.04.2023 04:22, Andrew Cooper wrote: >> The prior check has && vs || mixups, making it tautologically false and thus >> providing no safety at all. There are boundary errors too. >> >> First start with a comment describing how the .altinstructions

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Andrew Cooper
On 17/04/2023 11:30 am, Peter Zijlstra wrote: > On Sat, Apr 15, 2023 at 01:44:13AM +0200, Thomas Gleixner wrote: > >> Background >> -- >> >> The reason why people are interested in parallel bringup is to shorten >> the (kexec) reboot time of cloud servers to reduce the downtime of the >>

Re: [PATCH] xen/livepatch: Fix secure_payload() in non-debug builds

2023-04-17 Thread Jan Beulich
On 17.04.2023 11:58, Andrew Cooper wrote: > The ro_pages + rw_pages + text_pages != payload->pages check is not something > which is reasonable to skip at runtime. Rewrite it to not be an ASSERT(). Isn't this merely a sanity check? IOW isn't returning -EINVAL in this case misleading, as to

Re: [XEN][PATCH v5 09/17] xen/iommu: protect iommu_add_dt_device() with dtdevs_lock

2023-04-17 Thread Michal Orzel
Hi Vikram, On 11/04/2023 21:16, Vikram Garhwal wrote: > > > Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access > add. > > Signed-off-by: Vikram Garhwal > Reviewed-by: Luca Fancellu Reviewed-by: Michal Orzel ~Michal

Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev

2023-04-17 Thread Jan Beulich
On 17.04.2023 12:17, Roger Pau Monné wrote: > On Fri, Apr 14, 2023 at 01:30:39AM +, Volodymyr Babchuk wrote: >> Above I have proposed another view on this. I hope, it will work for >> you. Just to reiterate, idea is to allow "harmless" refcounts to be left >> after returning from

Re: [patch 00/37] cpu/hotplug, x86: Reworked parallel CPU bringup

2023-04-17 Thread Peter Zijlstra
On Sat, Apr 15, 2023 at 01:44:13AM +0200, Thomas Gleixner wrote: > Background > -- > > The reason why people are interested in parallel bringup is to shorten > the (kexec) reboot time of cloud servers to reduce the downtime of the > VM tenants. There are obviously other interesting use

Re: HEADS UP: re-adding the armhf boxes to osstest

2023-04-17 Thread Roger Pau Monné
On Mon, Apr 17, 2023 at 10:23:59AM +0200, Jan Beulich wrote: > On 14.04.2023 12:11, Roger Pau Monné wrote: > > We finally had the broken PDU replaced in the osstest colo, and the > > armhf boxes are operational again (those are the arndales and the > > cubietrucks). > > > > I've run some ad-hoc

Re: [PATCH] x86/livepatch: Fix livepatch application when CET is active

2023-04-17 Thread Jan Beulich
On 15.04.2023 21:58, Andrew Cooper wrote: > Right now, trying to apply a livepatch on any system with CET shstk (AMD Zen3 > or later, Intel Tiger Lake or Sapphire Rapids and later) fails as follows: > > (XEN) livepatch: lp: Verifying enabled expectations for all functions > (XEN)

Re: RFC: disable HPET legacy mode after timer check

2023-04-17 Thread Roger Pau Monné
On Mon, Apr 17, 2023 at 10:49:38AM +0200, Jan Beulich wrote: > On 12.04.2023 13:25, Roger Pau Monné wrote: > > On Tue, Apr 11, 2023 at 12:20:13PM +0100, Andrew Cooper wrote: > >> On 11/04/2023 11:30 am, Simon Gaiser wrote: > >>> Hi, > >>> > >>> I have been recently looking into getting S0ix

  1   2   >