Skip to content

Commit 2821c39

Browse files
committed
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Catalin Marinas: - Fix "rodata=on" not disabling "rodata=full" on arm64 - Add arm64 make dependency between vmlinuz.efi and Image, leading to occasional build failures previously (with parallel building) - Add newline to the output formatting of the za-fork kselftest * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: add dependency between vmlinuz.efi and Image kselftest/arm64: Fix output formatting for za-fork arm64: mm: Fix "rodata=on" when CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
2 parents 00cff7b + c0a8574 commit 2821c39

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

arch/arm64/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ endif
158158

159159
all: $(notdir $(KBUILD_IMAGE))
160160

161-
161+
vmlinuz.efi: Image
162162
Image vmlinuz.efi: vmlinux
163163
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
164164

arch/arm64/include/asm/setup.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,22 @@ static inline bool arch_parse_debug_rodata(char *arg)
2121
extern bool rodata_enabled;
2222
extern bool rodata_full;
2323

24-
if (arg && !strcmp(arg, "full")) {
24+
if (!arg)
25+
return false;
26+
27+
if (!strcmp(arg, "full")) {
28+
rodata_enabled = rodata_full = true;
29+
return true;
30+
}
31+
32+
if (!strcmp(arg, "off")) {
33+
rodata_enabled = rodata_full = false;
34+
return true;
35+
}
36+
37+
if (!strcmp(arg, "on")) {
2538
rodata_enabled = true;
26-
rodata_full = true;
39+
rodata_full = false;
2740
return true;
2841
}
2942

arch/arm64/mm/pageattr.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ bool can_set_direct_map(void)
2929
*
3030
* KFENCE pool requires page-granular mapping if initialized late.
3131
*/
32-
return (rodata_enabled && rodata_full) || debug_pagealloc_enabled() ||
33-
arm64_kfence_can_set_direct_map();
32+
return rodata_full || debug_pagealloc_enabled() ||
33+
arm64_kfence_can_set_direct_map();
3434
}
3535

3636
static int change_page_range(pte_t *ptep, unsigned long addr, void *data)
@@ -105,8 +105,7 @@ static int change_memory_common(unsigned long addr, int numpages,
105105
* If we are manipulating read-only permissions, apply the same
106106
* change to the linear mapping of the pages that back this VM area.
107107
*/
108-
if (rodata_enabled &&
109-
rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
108+
if (rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
110109
pgprot_val(clear_mask) == PTE_RDONLY)) {
111110
for (i = 0; i < area->nr_pages; i++) {
112111
__change_memory_common((u64)page_address(area->pages[i]),

tools/testing/selftests/arm64/fp/za-fork.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ int main(int argc, char **argv)
8585
*/
8686
ret = open("/proc/sys/abi/sme_default_vector_length", O_RDONLY, 0);
8787
if (ret >= 0) {
88-
ksft_test_result(fork_test(), "fork_test");
88+
ksft_test_result(fork_test(), "fork_test\n");
8989

9090
} else {
9191
ksft_print_msg("SME not supported\n");

0 commit comments

Comments
 (0)