Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:

- One important fix for a bug in the way we find the cache-line size
from the device tree, which was leading to the wrong size being
reported to userspace on some platforms.

- A fix for 8xx STRICT_KERNEL_RWX which was leaving TLB entries around
leading to a window at boot when the strict mapping wasn't enforced.

- A fix to enable our KUAP (kernel user access prevention) debugging on
PPC32.

- A build fix for clang in lib/mpi.

Thanks to: Chris Packham, Christophe Leroy, Nathan Chancellor, Qian Cai.

* tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
lib/mpi: Fix building for powerpc with clang
powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
powerpc/8xx: Fix STRICT_KERNEL_RWX startup test failure
powerpc/setup_64: Set cache-line-size based on cache-block-size

+24 -19
+1 -1
arch/powerpc/kernel/entry_32.S
··· 732 732 stw r10,_CCR(r1) 733 733 stw r1,KSP(r3) /* Set old stack pointer */ 734 734 735 - kuap_check r2, r4 735 + kuap_check r2, r0 736 736 #ifdef CONFIG_SMP 737 737 /* We need a sync somewhere here to make sure that if the 738 738 * previous task gets rescheduled on another CPU, it sees all
+2
arch/powerpc/kernel/setup_64.c
··· 534 534 lsizep = of_get_property(np, propnames[3], NULL); 535 535 if (bsizep == NULL) 536 536 bsizep = lsizep; 537 + if (lsizep == NULL) 538 + lsizep = bsizep; 537 539 if (lsizep != NULL) 538 540 lsize = be32_to_cpu(*lsizep); 539 541 if (bsizep != NULL)
+3
arch/powerpc/mm/nohash/8xx.c
··· 185 185 mmu_mapin_ram_chunk(etext8, einittext8, PAGE_KERNEL); 186 186 } 187 187 } 188 + _tlbil_all(); 188 189 } 189 190 190 191 #ifdef CONFIG_STRICT_KERNEL_RWX ··· 199 198 -__pa(((unsigned long)_sinittext) & 200 199 ~(LARGE_PAGE_SIZE_8M - 1))); 201 200 mmu_patch_addis(&patch__dtlbmiss_romem_top, -__pa(_sinittext)); 201 + 202 + _tlbil_all(); 202 203 203 204 /* Update page tables for PTDUMP and BDI */ 204 205 mmu_mapin_ram_chunk(0, sinittext, __pgprot(0));
+1 -1
arch/powerpc/platforms/Kconfig.cputype
··· 397 397 398 398 config PPC_KUAP_DEBUG 399 399 bool "Extra debugging for Kernel Userspace Access Protection" 400 - depends on PPC_KUAP && (PPC_RADIX_MMU || PPC_32) 400 + depends on PPC_KUAP && (PPC_RADIX_MMU || PPC32) 401 401 help 402 402 Add extra debugging for Kernel Userspace Access Protection (KUAP) 403 403 If you're unsure, say N.
+17 -17
lib/mpi/longlong.h
··· 722 722 do { \ 723 723 if (__builtin_constant_p(bh) && (bh) == 0) \ 724 724 __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \ 725 - : "=r" ((USItype)(sh)), \ 726 - "=&r" ((USItype)(sl)) \ 725 + : "=r" (sh), \ 726 + "=&r" (sl) \ 727 727 : "%r" ((USItype)(ah)), \ 728 728 "%r" ((USItype)(al)), \ 729 729 "rI" ((USItype)(bl))); \ 730 730 else if (__builtin_constant_p(bh) && (bh) == ~(USItype) 0) \ 731 731 __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \ 732 - : "=r" ((USItype)(sh)), \ 733 - "=&r" ((USItype)(sl)) \ 732 + : "=r" (sh), \ 733 + "=&r" (sl) \ 734 734 : "%r" ((USItype)(ah)), \ 735 735 "%r" ((USItype)(al)), \ 736 736 "rI" ((USItype)(bl))); \ 737 737 else \ 738 738 __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \ 739 - : "=r" ((USItype)(sh)), \ 740 - "=&r" ((USItype)(sl)) \ 739 + : "=r" (sh), \ 740 + "=&r" (sl) \ 741 741 : "%r" ((USItype)(ah)), \ 742 742 "r" ((USItype)(bh)), \ 743 743 "%r" ((USItype)(al)), \ ··· 747 747 do { \ 748 748 if (__builtin_constant_p(ah) && (ah) == 0) \ 749 749 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \ 750 - : "=r" ((USItype)(sh)), \ 751 - "=&r" ((USItype)(sl)) \ 750 + : "=r" (sh), \ 751 + "=&r" (sl) \ 752 752 : "r" ((USItype)(bh)), \ 753 753 "rI" ((USItype)(al)), \ 754 754 "r" ((USItype)(bl))); \ 755 755 else if (__builtin_constant_p(ah) && (ah) == ~(USItype) 0) \ 756 756 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \ 757 - : "=r" ((USItype)(sh)), \ 758 - "=&r" ((USItype)(sl)) \ 757 + : "=r" (sh), \ 758 + "=&r" (sl) \ 759 759 : "r" ((USItype)(bh)), \ 760 760 "rI" ((USItype)(al)), \ 761 761 "r" ((USItype)(bl))); \ 762 762 else if (__builtin_constant_p(bh) && (bh) == 0) \ 763 763 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \ 764 - : "=r" ((USItype)(sh)), \ 765 - "=&r" ((USItype)(sl)) \ 764 + : "=r" (sh), \ 765 + "=&r" (sl) \ 766 766 : "r" ((USItype)(ah)), \ 767 767 "rI" ((USItype)(al)), \ 768 768 "r" ((USItype)(bl))); \ 769 769 else if (__builtin_constant_p(bh) && (bh) == ~(USItype) 0) \ 770 770 __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \ 771 - : "=r" ((USItype)(sh)), \ 772 - "=&r" ((USItype)(sl)) \ 771 + : "=r" (sh), \ 772 + "=&r" (sl) \ 773 773 : "r" ((USItype)(ah)), \ 774 774 "rI" ((USItype)(al)), \ 775 775 "r" ((USItype)(bl))); \ 776 776 else \ 777 777 __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \ 778 - : "=r" ((USItype)(sh)), \ 779 - "=&r" ((USItype)(sl)) \ 778 + : "=r" (sh), \ 779 + "=&r" (sl) \ 780 780 : "r" ((USItype)(ah)), \ 781 781 "r" ((USItype)(bh)), \ 782 782 "rI" ((USItype)(al)), \ ··· 787 787 do { \ 788 788 USItype __m0 = (m0), __m1 = (m1); \ 789 789 __asm__ ("mulhwu %0,%1,%2" \ 790 - : "=r" ((USItype) ph) \ 790 + : "=r" (ph) \ 791 791 : "%r" (__m0), \ 792 792 "r" (__m1)); \ 793 793 (pl) = __m0 * __m1; \