* [PATCH v1 0/4] Fixes for MDWE prctl
@ 2023-03-08 19:04 Joey Gouly
2023-03-08 19:04 ` [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec Joey Gouly
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Joey Gouly @ 2023-03-08 19:04 UTC (permalink / raw)
To: Andrew Morton
Cc: nd, acme, catalin.marinas, izbyshev, joey.gouly, peterx,
linux-mm, linux-kernel, Shuah Khan, Kees Cook
Hi all,
These are four small fixes for the recent memory-write-deny-execute prctl patches [1].
Two reported by Alexey about error handling and two tooling fixes by Peter.
Thanks,
Joey
[1] https://lore.kernel.org/linux-arm-kernel/20230119160344.54358-1-joey.gouly@arm.com/
Joey Gouly (2):
mm: deduplicate error handling for map_deny_write_exec
mm: fix error handling for map_deny_write_exec
Peter Xu (2):
kselftest: vm: fix unused variable warning
tools headers UAPI: Sync linux/prctl.h with the kernel sources
mm/mmap.c | 7 +------
mm/mprotect.c | 2 +-
tools/include/uapi/linux/prctl.h | 6 ++++++
tools/testing/selftests/mm/mdwe_test.c | 3 +--
4 files changed, 9 insertions(+), 9 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec
2023-03-08 19:04 [PATCH v1 0/4] Fixes for MDWE prctl Joey Gouly
@ 2023-03-08 19:04 ` Joey Gouly
2023-03-13 14:11 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 2/4] mm: fix " Joey Gouly
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Joey Gouly @ 2023-03-08 19:04 UTC (permalink / raw)
To: Andrew Morton
Cc: nd, acme, catalin.marinas, izbyshev, joey.gouly, peterx,
linux-mm, linux-kernel, Shuah Khan, Kees Cook
Commit cc8d1b097de7 ("mmap: clean up mmap_region() unrolling") deduplicated
the error handling, do the same for the return value of `map_deny_write_exec`.
Fixes: b507808ebce2 ("mm: implement memory-deny-write-execute as a prctl")
Reported-by: Alexey Izbyshev <izbyshev@ispras.ru>
Link: https://lore.kernel.org/linux-arm-kernel/8408d8901e9d7ee6b78db4c6cba04b78@ispras.ru/
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
mm/mmap.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/mm/mmap.c b/mm/mmap.c
index 740b54be3ed4..ad499f7b767f 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2621,12 +2621,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
if (map_deny_write_exec(vma, vma->vm_flags)) {
error = -EACCES;
- if (file)
- goto close_and_free_vma;
- else if (vma->vm_file)
- goto unmap_and_free_vma;
- else
- goto free_vma;
+ goto close_and_free_vma;
}
/* Allow architectures to sanity-check the vm_flags */
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/4] mm: fix error handling for map_deny_write_exec
2023-03-08 19:04 [PATCH v1 0/4] Fixes for MDWE prctl Joey Gouly
2023-03-08 19:04 ` [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec Joey Gouly
@ 2023-03-08 19:04 ` Joey Gouly
2023-03-13 14:11 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 3/4] kselftest: vm: fix unused variable warning Joey Gouly
2023-03-08 19:04 ` [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources Joey Gouly
3 siblings, 1 reply; 9+ messages in thread
From: Joey Gouly @ 2023-03-08 19:04 UTC (permalink / raw)
To: Andrew Morton
Cc: nd, acme, catalin.marinas, izbyshev, joey.gouly, peterx,
linux-mm, linux-kernel, Shuah Khan, Kees Cook
Commit 4a18419f71cd ("mm/mprotect: use mmu_gather") changed 'goto out;'
to 'break' in the loop.
This wasn't noticed while rebasing the MDWE patches, so fix it now.
Fixes: b507808ebce2 ("mm: implement memory-deny-write-execute as a prctl")
Reported-by: Alexey Izbyshev <izbyshev@ispras.ru>
Link: https://lore.kernel.org/linux-arm-kernel/8408d8901e9d7ee6b78db4c6cba04b78@ispras.ru/
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
mm/mprotect.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/mprotect.c b/mm/mprotect.c
index 231929f119d9..13e84d8c0797 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -805,7 +805,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
if (map_deny_write_exec(vma, newflags)) {
error = -EACCES;
- goto out;
+ break;
}
/* Allow architectures to sanity-check the new flags */
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/4] kselftest: vm: fix unused variable warning
2023-03-08 19:04 [PATCH v1 0/4] Fixes for MDWE prctl Joey Gouly
2023-03-08 19:04 ` [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec Joey Gouly
2023-03-08 19:04 ` [PATCH v1 2/4] mm: fix " Joey Gouly
@ 2023-03-08 19:04 ` Joey Gouly
2023-03-13 14:12 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources Joey Gouly
3 siblings, 1 reply; 9+ messages in thread
From: Joey Gouly @ 2023-03-08 19:04 UTC (permalink / raw)
To: Andrew Morton
Cc: nd, acme, catalin.marinas, izbyshev, joey.gouly, peterx,
linux-mm, linux-kernel, Shuah Khan, Kees Cook
From: Peter Xu <peterx@redhat.com>
Remove unused variable from the MDWE test.
Fixes: 4cf1fe34fd18 ("kselftest: vm: add tests for memory-deny-write-execute")
Signed-off-by: Peter Xu <peterx@redhat.com>
[joey: added commit message]
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
tools/testing/selftests/mm/mdwe_test.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/mm/mdwe_test.c b/tools/testing/selftests/mm/mdwe_test.c
index f466a099f1bf..bc91bef5d254 100644
--- a/tools/testing/selftests/mm/mdwe_test.c
+++ b/tools/testing/selftests/mm/mdwe_test.c
@@ -163,9 +163,8 @@ TEST_F(mdwe, mprotect_WRITE_EXEC)
TEST_F(mdwe, mmap_FIXED)
{
- void *p, *p2;
+ void *p;
- p2 = mmap(NULL, self->size, PROT_READ | PROT_EXEC, self->flags, 0, 0);
self->p = mmap(NULL, self->size, PROT_READ, self->flags, 0, 0);
ASSERT_NE(self->p, MAP_FAILED);
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources
2023-03-08 19:04 [PATCH v1 0/4] Fixes for MDWE prctl Joey Gouly
` (2 preceding siblings ...)
2023-03-08 19:04 ` [PATCH v1 3/4] kselftest: vm: fix unused variable warning Joey Gouly
@ 2023-03-08 19:04 ` Joey Gouly
2023-03-13 14:13 ` Catalin Marinas
3 siblings, 1 reply; 9+ messages in thread
From: Joey Gouly @ 2023-03-08 19:04 UTC (permalink / raw)
To: Andrew Morton
Cc: nd, acme, catalin.marinas, izbyshev, joey.gouly, peterx,
linux-mm, linux-kernel, Shuah Khan, Kees Cook
From: Peter Xu <peterx@redhat.com>
Sync prctl.h after the changes in b507808ebce ("mm: implement memory-deny-write-execute as a prctl")
Fixes: 4cf1fe34fd18 ("kselftest: vm: add tests for memory-deny-write-execute")
Signed-off-by: Peter Xu <peterx@redhat.com>
[joey: added commit message]
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/include/uapi/linux/prctl.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/include/uapi/linux/prctl.h b/tools/include/uapi/linux/prctl.h
index a5e06dcbba13..1312a137f7fb 100644
--- a/tools/include/uapi/linux/prctl.h
+++ b/tools/include/uapi/linux/prctl.h
@@ -281,6 +281,12 @@ struct prctl_mm_map {
# define PR_SME_VL_LEN_MASK 0xffff
# define PR_SME_VL_INHERIT (1 << 17) /* inherit across exec */
+/* Memory deny write / execute */
+#define PR_SET_MDWE 65
+# define PR_MDWE_REFUSE_EXEC_GAIN 1
+
+#define PR_GET_MDWE 66
+
#define PR_SET_VMA 0x53564d41
# define PR_SET_VMA_ANON_NAME 0
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec
2023-03-08 19:04 ` [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec Joey Gouly
@ 2023-03-13 14:11 ` Catalin Marinas
0 siblings, 0 replies; 9+ messages in thread
From: Catalin Marinas @ 2023-03-13 14:11 UTC (permalink / raw)
To: Joey Gouly
Cc: Andrew Morton, nd, acme, izbyshev, peterx, linux-mm,
linux-kernel, Shuah Khan, Kees Cook
On Wed, Mar 08, 2023 at 07:04:20PM +0000, Joey Gouly wrote:
> Commit cc8d1b097de7 ("mmap: clean up mmap_region() unrolling") deduplicated
> the error handling, do the same for the return value of `map_deny_write_exec`.
>
> Fixes: b507808ebce2 ("mm: implement memory-deny-write-execute as a prctl")
> Reported-by: Alexey Izbyshev <izbyshev@ispras.ru>
> Link: https://lore.kernel.org/linux-arm-kernel/8408d8901e9d7ee6b78db4c6cba04b78@ispras.ru/
> Signed-off-by: Joey Gouly <joey.gouly@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/4] mm: fix error handling for map_deny_write_exec
2023-03-08 19:04 ` [PATCH v1 2/4] mm: fix " Joey Gouly
@ 2023-03-13 14:11 ` Catalin Marinas
0 siblings, 0 replies; 9+ messages in thread
From: Catalin Marinas @ 2023-03-13 14:11 UTC (permalink / raw)
To: Joey Gouly
Cc: Andrew Morton, nd, acme, izbyshev, peterx, linux-mm,
linux-kernel, Shuah Khan, Kees Cook
On Wed, Mar 08, 2023 at 07:04:21PM +0000, Joey Gouly wrote:
> Commit 4a18419f71cd ("mm/mprotect: use mmu_gather") changed 'goto out;'
> to 'break' in the loop.
> This wasn't noticed while rebasing the MDWE patches, so fix it now.
>
> Fixes: b507808ebce2 ("mm: implement memory-deny-write-execute as a prctl")
> Reported-by: Alexey Izbyshev <izbyshev@ispras.ru>
> Link: https://lore.kernel.org/linux-arm-kernel/8408d8901e9d7ee6b78db4c6cba04b78@ispras.ru/
> Signed-off-by: Joey Gouly <joey.gouly@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/4] kselftest: vm: fix unused variable warning
2023-03-08 19:04 ` [PATCH v1 3/4] kselftest: vm: fix unused variable warning Joey Gouly
@ 2023-03-13 14:12 ` Catalin Marinas
0 siblings, 0 replies; 9+ messages in thread
From: Catalin Marinas @ 2023-03-13 14:12 UTC (permalink / raw)
To: Joey Gouly
Cc: Andrew Morton, nd, acme, izbyshev, peterx, linux-mm,
linux-kernel, Shuah Khan, Kees Cook
On Wed, Mar 08, 2023 at 07:04:22PM +0000, Joey Gouly wrote:
> From: Peter Xu <peterx@redhat.com>
>
> Remove unused variable from the MDWE test.
>
> Fixes: 4cf1fe34fd18 ("kselftest: vm: add tests for memory-deny-write-execute")
> Signed-off-by: Peter Xu <peterx@redhat.com>
> [joey: added commit message]
> Signed-off-by: Joey Gouly <joey.gouly@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources
2023-03-08 19:04 ` [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources Joey Gouly
@ 2023-03-13 14:13 ` Catalin Marinas
0 siblings, 0 replies; 9+ messages in thread
From: Catalin Marinas @ 2023-03-13 14:13 UTC (permalink / raw)
To: Joey Gouly
Cc: Andrew Morton, nd, acme, izbyshev, peterx, linux-mm,
linux-kernel, Shuah Khan, Kees Cook
On Wed, Mar 08, 2023 at 07:04:23PM +0000, Joey Gouly wrote:
> From: Peter Xu <peterx@redhat.com>
>
> Sync prctl.h after the changes in b507808ebce ("mm: implement memory-deny-write-execute as a prctl")
>
> Fixes: 4cf1fe34fd18 ("kselftest: vm: add tests for memory-deny-write-execute")
> Signed-off-by: Peter Xu <peterx@redhat.com>
> [joey: added commit message]
> Signed-off-by: Joey Gouly <joey.gouly@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-03-13 14:16 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-08 19:04 [PATCH v1 0/4] Fixes for MDWE prctl Joey Gouly
2023-03-08 19:04 ` [PATCH v1 1/4] mm: deduplicate error handling for map_deny_write_exec Joey Gouly
2023-03-13 14:11 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 2/4] mm: fix " Joey Gouly
2023-03-13 14:11 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 3/4] kselftest: vm: fix unused variable warning Joey Gouly
2023-03-13 14:12 ` Catalin Marinas
2023-03-08 19:04 ` [PATCH v1 4/4] tools headers UAPI: Sync linux/prctl.h with the kernel sources Joey Gouly
2023-03-13 14:13 ` Catalin Marinas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).