On Mon, 26 Dec 2022 13:01:57 +0900, tkuw584924(a)gmail.com wrote:
> From: Takahiro Kuwano <Takahiro.Kuwano(a)infineon.com>
>
> Existing BFPT_DWORD() converts 1-based indexing to 0-based indexing for
> C arrays, and is used in BFPT parse. This is applicable to other parameter
> tables than BFPT.
>
> Based on a suggestion in:
> https://patchwork.ozlabs.org/project/linux-mtd/patch/20220912051317.2369-1-…
>
> [...]
Applied to spi-nor/next, thanks!
[1/3] mtd: spi-nor: sfdp: Fix index value for SCCR dwords
https://git.kernel.org/mtd/c/ad9679f38118
[2/3] mtd: spi-nor: sfdp: Rename BFPT_DWORD() macro to SFDP_DWORD()
https://git.kernel.org/mtd/c/86d4cdf88c81
[3/3] mtd: spi-nor: sfdp: Use SFDP_DWORD() macro for optional parameter tables
https://git.kernel.org/mtd/c/55398beb0846
Best regards,
--
Tudor Ambarus <tudor.ambarus(a)linaro.org>
Lee, we don't have a shared repo, so here are the changes that I have until
now.
Add [--gdb] option to start qemu for kernel gdb debug.
Add clang-13 on host compiler option.
And some other goodies.
v2:
- update gdb patch and introduce a new variable: KERNEL_PARAMS
- add Jun's logfile name extension
- add clang-13 on host compiler option
Jun Nie (1):
syzkaller-start: Extend logfile name with bugid, commit id and time
Tudor Ambarus (9):
syzkaller-start: Add COMPILER_BIN_PATH
syzkaller-start: Use the selected compiler to make oldconfig
syzkaller-start: Describe [--again] option
syzkaller-start: Add [--gdb] option to start qemu for kernel gdb debug
syzkaller-start: Set printk.time=1 kernel parameter
syzkaller-start: Add [-h] option to display help message
syzkaller-start: Make script executable
syzkaller-start: Prepare code for on host compiler option
syzkaller-start: Add clang-13 on host compiler option
syzkaller-start | 91 ++++++++++++++++++++++++++++++++++++-------------
1 file changed, 67 insertions(+), 24 deletions(-)
mode change 100644 => 100755 syzkaller-start
--
2.34.1
Failure after v6.1-rc4-9-g9ed2b4616d4e: arm64/mm: Drop redundant BUG_ON(!pgtable_alloc):
Results changed to
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
629
# linux build successful:
all
# First few build errors in logs:
from
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
629
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-681 .
Status of v6.1-rc4-9-g9ed2b4616d4e commit for tcwg_kernel:
commit 9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
Author: Anshuman Khandual <anshuman.khandual(a)arm.com>
Date: Fri Nov 18 11:01:02 2022 +0530
arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)
__create_pgd_mapping_locked() expects a page allocator used while mapping a
virtual range. This page allocator function propagates down the call chain,
while building intermediate levels in the page table. Passed page allocator
is a necessary ingredient required to build the page table but its presence
can be asserted just once in the very beginning rather than in all the down
stream functions. This consolidates BUG_ON(!pgtable_alloc) checks just in a
single place i.e __create_pgd_mapping_locked().
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: linux-arm-kernel(a)lists.infradead.org
Cc: linux-kernel(a)vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual(a)arm.com>
Acked-by: Mark Rutland <mark.rutland(a)arm.com>
Link: https://lore.kernel.org/r/20221118053102.500216-1-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will(a)kernel.org>
* gnu-release-aarch64-next-allnoconfig
** Failure after v6.1-rc4-9-g9ed2b4616d4e: arm64/mm: Drop redundant BUG_ON(!pgtable_alloc):
** https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Good build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Reproduce current build:
<cut>
mkdir -p investigate-linux-9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
cd investigate-linux-9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
</cut>
Full commit (up to 1000 lines):
<cut>
commit 9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
Author: Anshuman Khandual <anshuman.khandual(a)arm.com>
Date: Fri Nov 18 11:01:02 2022 +0530
arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)
__create_pgd_mapping_locked() expects a page allocator used while mapping a
virtual range. This page allocator function propagates down the call chain,
while building intermediate levels in the page table. Passed page allocator
is a necessary ingredient required to build the page table but its presence
can be asserted just once in the very beginning rather than in all the down
stream functions. This consolidates BUG_ON(!pgtable_alloc) checks just in a
single place i.e __create_pgd_mapping_locked().
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: linux-arm-kernel(a)lists.infradead.org
Cc: linux-kernel(a)vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual(a)arm.com>
Acked-by: Mark Rutland <mark.rutland(a)arm.com>
Link: https://lore.kernel.org/r/20221118053102.500216-1-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will(a)kernel.org>
---
arch/arm64/mm/mmu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index d386033a074c..73a12b3abf82 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -207,7 +207,6 @@ static void alloc_init_cont_pte(pmd_t *pmdp, unsigned long addr,
if (flags & NO_EXEC_MAPPINGS)
pmdval |= PMD_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pte_phys = pgtable_alloc(PAGE_SHIFT);
__pmd_populate(pmdp, pte_phys, pmdval);
pmd = READ_ONCE(*pmdp);
@@ -285,7 +284,6 @@ static void alloc_init_cont_pmd(pud_t *pudp, unsigned long addr,
if (flags & NO_EXEC_MAPPINGS)
pudval |= PUD_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pmd_phys = pgtable_alloc(PMD_SHIFT);
__pud_populate(pudp, pmd_phys, pudval);
pud = READ_ONCE(*pudp);
@@ -324,7 +322,6 @@ static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
if (flags & NO_EXEC_MAPPINGS)
p4dval |= P4D_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pud_phys = pgtable_alloc(PUD_SHIFT);
__p4d_populate(p4dp, pud_phys, p4dval);
p4d = READ_ONCE(*p4dp);
@@ -383,6 +380,7 @@ static void __create_pgd_mapping_locked(pgd_t *pgdir, phys_addr_t phys,
phys &= PAGE_MASK;
addr = virt & PAGE_MASK;
end = PAGE_ALIGN(virt + size);
+ BUG_ON(!pgtable_alloc);
do {
next = pgd_addr_end(addr, end);
</cut>