Message ID | 20241014151340.1639555-4-vincenzo.frascino@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | vdso: Use only headers from the vdso/ namespace | expand |
On Mon, Oct 14, 2024 at 04:13:40PM +0100, Vincenzo Frascino wrote: Hi Vincenzo, > The introduction of vdso/page.h made redundant the definition of > _PAGE_SHIFT, _PAGE_SIZE, _PAGE_MASK. > > Refactor the code to remove the macros. > > Cc: Heiko Carstens <hca@linux.ibm.com> > Cc: Vasily Gorbik <gor@linux.ibm.com> > Cc: Alexander Gordeev <agordeev@linux.ibm.com> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Andy Lutomirski <luto@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Jason A. Donenfeld <Jason@zx2c4.com> > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202410112106.mvc2U2p0-lkp@intel.com/ Is my understanding correct that with patch 3/3 you fix an issue introduced with patch 2/3? > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> > --- > arch/s390/include/asm/page.h | 3 --- > arch/s390/include/asm/pgtable.h | 2 +- > arch/s390/mm/fault.c | 2 +- > arch/s390/mm/gmap.c | 6 +++--- > arch/s390/mm/pgalloc.c | 4 ++-- > 5 files changed, 7 insertions(+), 10 deletions(-) Thanks!
Hi Alexander, On 18/10/2024 07:46, Alexander Gordeev wrote: > On Mon, Oct 14, 2024 at 04:13:40PM +0100, Vincenzo Frascino wrote: > > Hi Vincenzo, > >> The introduction of vdso/page.h made redundant the definition of >> _PAGE_SHIFT, _PAGE_SIZE, _PAGE_MASK. >> >> Refactor the code to remove the macros. >> >> Cc: Heiko Carstens <hca@linux.ibm.com> >> Cc: Vasily Gorbik <gor@linux.ibm.com> >> Cc: Alexander Gordeev <agordeev@linux.ibm.com> >> Cc: Arnd Bergmann <arnd@arndb.de> >> Cc: Andy Lutomirski <luto@kernel.org> >> Cc: Thomas Gleixner <tglx@linutronix.de> >> Cc: Jason A. Donenfeld <Jason@zx2c4.com> >> Reported-by: kernel test robot <lkp@intel.com> >> Closes: https://lore.kernel.org/oe-kbuild-all/202410112106.mvc2U2p0-lkp@intel.com/ > > Is my understanding correct that with patch 3/3 you fix an issue > introduced with patch 2/3? > Logically yes, but please note that patch 2/3 has a small transitional change to not break bisectability. >> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> >> --- >> arch/s390/include/asm/page.h | 3 --- >> arch/s390/include/asm/pgtable.h | 2 +- >> arch/s390/mm/fault.c | 2 +- >> arch/s390/mm/gmap.c | 6 +++--- >> arch/s390/mm/pgalloc.c | 4 ++-- >> 5 files changed, 7 insertions(+), 10 deletions(-) > > Thanks!
diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h index dbc25dc5fa0a..b7ba87f89761 100644 --- a/arch/s390/include/asm/page.h +++ b/arch/s390/include/asm/page.h @@ -13,9 +13,6 @@ #include <vdso/page.h> -#define _PAGE_SHIFT PAGE_SHIFT -#define _PAGE_SIZE PAGE_SIZE -#define _PAGE_MASK PAGE_MASK #define PAGE_DEFAULT_ACC _AC(0, UL) /* storage-protection override */ #define PAGE_SPO_ACC 9 diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index 0ffbaf741955..8b67036edb69 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@ -338,7 +338,7 @@ static inline int is_module_addr(void *addr) #define _REGION2_INDEX (0x7ffUL << _REGION2_SHIFT) #define _REGION3_INDEX (0x7ffUL << _REGION3_SHIFT) #define _SEGMENT_INDEX (0x7ffUL << _SEGMENT_SHIFT) -#define _PAGE_INDEX (0xffUL << _PAGE_SHIFT) +#define _PAGE_INDEX (0xffUL << PAGE_SHIFT) #define _REGION1_SIZE (1UL << _REGION1_SHIFT) #define _REGION2_SIZE (1UL << _REGION2_SHIFT) diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index ad8b0d6b77ea..12e10269dfcd 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -147,7 +147,7 @@ static void dump_pagetable(unsigned long asce, unsigned long address) goto out; table = __va(entry & _SEGMENT_ENTRY_ORIGIN); } - table += (address & _PAGE_INDEX) >> _PAGE_SHIFT; + table += (address & _PAGE_INDEX) >> PAGE_SHIFT; if (get_kernel_nofault(entry, table)) goto bad; pr_cont("P:%016lx ", entry); diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c index eb0b51a36be0..346ec059c8bd 100644 --- a/arch/s390/mm/gmap.c +++ b/arch/s390/mm/gmap.c @@ -851,7 +851,7 @@ static inline unsigned long *gmap_table_walk(struct gmap *gmap, if (*table & _REGION_ENTRY_INVALID) return NULL; table = __va(*table & _SEGMENT_ENTRY_ORIGIN); - table += (gaddr & _PAGE_INDEX) >> _PAGE_SHIFT; + table += (gaddr & _PAGE_INDEX) >> PAGE_SHIFT; } return table; } @@ -1317,7 +1317,7 @@ static void gmap_unshadow_page(struct gmap *sg, unsigned long raddr) table = gmap_table_walk(sg, raddr, 0); /* get page table pointer */ if (!table || *table & _PAGE_INVALID) return; - gmap_call_notifier(sg, raddr, raddr + _PAGE_SIZE - 1); + gmap_call_notifier(sg, raddr, raddr + PAGE_SIZE - 1); ptep_unshadow_pte(sg->mm, raddr, (pte_t *) table); } @@ -1335,7 +1335,7 @@ static void __gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr, int i; BUG_ON(!gmap_is_shadow(sg)); - for (i = 0; i < _PAGE_ENTRIES; i++, raddr += _PAGE_SIZE) + for (i = 0; i < _PAGE_ENTRIES; i++, raddr += PAGE_SIZE) pgt[i] = _PAGE_INVALID; } diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c index f691e0fb66a2..58696a0c4e4a 100644 --- a/arch/s390/mm/pgalloc.c +++ b/arch/s390/mm/pgalloc.c @@ -278,7 +278,7 @@ static inline unsigned long base_##NAME##_addr_end(unsigned long addr, \ return (next - 1) < (end - 1) ? next : end; \ } -BASE_ADDR_END_FUNC(page, _PAGE_SIZE) +BASE_ADDR_END_FUNC(page, PAGE_SIZE) BASE_ADDR_END_FUNC(segment, _SEGMENT_SIZE) BASE_ADDR_END_FUNC(region3, _REGION3_SIZE) BASE_ADDR_END_FUNC(region2, _REGION2_SIZE) @@ -302,7 +302,7 @@ static int base_page_walk(unsigned long *origin, unsigned long addr, if (!alloc) return 0; pte = origin; - pte += (addr & _PAGE_INDEX) >> _PAGE_SHIFT; + pte += (addr & _PAGE_INDEX) >> PAGE_SHIFT; do { next = base_page_addr_end(addr, end); *pte = base_lra(addr);
The introduction of vdso/page.h made redundant the definition of _PAGE_SHIFT, _PAGE_SIZE, _PAGE_MASK. Refactor the code to remove the macros. Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202410112106.mvc2U2p0-lkp@intel.com/ Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> --- arch/s390/include/asm/page.h | 3 --- arch/s390/include/asm/pgtable.h | 2 +- arch/s390/mm/fault.c | 2 +- arch/s390/mm/gmap.c | 6 +++--- arch/s390/mm/pgalloc.c | 4 ++-- 5 files changed, 7 insertions(+), 10 deletions(-)