From: Nick Desaulniers <ndesaulniers@google.com> Date: 2021-09-29 19:08:25
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
arch/arm/Kconfig | 1 +
arch/arm/mm/proc-macros.S | 1 +
2 files changed, 2 insertions(+)
From: Nick Desaulniers <ndesaulniers@google.com> Date: 2021-09-29 19:11:07
+ Dave (Dave, I got a bounceback on your linaro.org email address.
Consider sending a patch updating the .mailmap)
On Wed, Sep 29, 2021 at 12:08 PM Nick Desaulniers
[off-list ref] wrote:
quoted hunk
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
arch/arm/Kconfig | 1 +
arch/arm/mm/proc-macros.S | 1 +
2 files changed, 2 insertions(+)
From: Nick Desaulniers <ndesaulniers@google.com> Date: 2021-09-29 19:14:56
On Wed, Sep 29, 2021 at 12:10 PM Nick Desaulniers
[off-list ref] wrote:
+ Dave (Dave, I got a bounceback on your linaro.org email address.
Consider sending a patch updating the .mailmap)
On Wed, Sep 29, 2021 at 12:08 PM Nick Desaulniers
[off-list ref] wrote:
quoted
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
arch/arm/Kconfig | 1 +
d'oh, had an unintentional `-a` when I did `git commit`. Will resend a v2...
On Wed, 29 Sept 2021 at 21:08, Nick Desaulniers [off-list ref] wrote:
quoted hunk
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
arch/arm/Kconfig | 1 +
arch/arm/mm/proc-macros.S | 1 +
2 files changed, 2 insertions(+)
From: Nick Desaulniers <ndesaulniers@google.com> Date: 2021-09-29 19:20:33
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
Changes V1 -> V2:
* Drop accidentally committed Kconfig change.
* Pick up Ard's AB tag.
arch/arm/mm/proc-macros.S | 1 +
1 file changed, 1 insertion(+)
On Wed, Sep 29, 2021 at 12:20:24PM -0700, Nick Desaulniers wrote:
QEMU 6.1.0 is more correct about trapping on misaligned accesses. A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
quoted hunk
---
Changes V1 -> V2:
* Drop accidentally committed Kconfig change.
* Pick up Ard's AB tag.
arch/arm/mm/proc-macros.S | 1 +
1 file changed, 1 insertion(+)
On Wed, 29 Sept 2021 at 21:20, Nick Desaulniers [off-list ref] wrote:
QEMU 6.1.0 is more correct about trapping on misaligned accesses.
Btw, this is not entirely relevant. QEMU now behaves like every single
hardware implementation does, and reports an alignment fault when
using a load-multiple instruction on an address that is not 32-bit
aligned, as the architecture requires.
quoted hunk
A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
Changes V1 -> V2:
* Drop accidentally committed Kconfig change.
* Pick up Ard's AB tag.
arch/arm/mm/proc-macros.S | 1 +
1 file changed, 1 insertion(+)
From: Nick Desaulniers <ndesaulniers@google.com> Date: 2021-09-29 21:00:21
On Wed, Sep 29, 2021 at 1:57 PM Ard Biesheuvel [off-list ref] wrote:
On Wed, 29 Sept 2021 at 21:20, Nick Desaulniers [off-list ref] wrote:
quoted
QEMU 6.1.0 is more correct about trapping on misaligned accesses.
Btw, this is not entirely relevant. QEMU now behaves like every single
hardware implementation does, and reports an alignment fault when
using a load-multiple instruction on an address that is not 32-bit
aligned, as the architecture requires.
Sure, I can drop that line from the commit message when submitting to
RMK's queue.
quoted
A
kernel built with CONFIG_THUMB2_KERNEL=y and using clang as the
assembler could generate non-naturally-aligned v7wbi_tlb_fns which
results in a boot failure. The original commit adding the macro missed
the .align directive on this data.
Fixes: 66a625a88174 ("ARM: mm: proc-macros: Add generic proc/cache/tlb struct definition macros")
Link: https://github.com/ClangBuiltLinux/linux/issues/1447
Link: https://lore.kernel.org/all/0699da7b-354f-aecc-a62f-e25693209af4@linaro.org/
Debugged-by: Ard Biesheuvel [off-list ref]
Debugged-by: Nathan Chancellor [off-list ref]
Debugged-by: Richard Henderson [off-list ref]
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
Changes V1 -> V2:
* Drop accidentally committed Kconfig change.
* Pick up Ard's AB tag.
arch/arm/mm/proc-macros.S | 1 +
1 file changed, 1 insertion(+)