2021-09-29 15:54:03

by Guo Zhi

[permalink] [raw]
Subject: [PATCH] fs/elf: Fix kernel pointer leak

Pointers should be printed with %p rather than %px
which printed kernel pointer directly.
Change %px to %p to print the secured pointer.

Signed-off-by: Guo Zhi <[email protected]>
---
fs/binfmt_elf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index f3523807dbca..440a483656ed 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -393,7 +393,7 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,

if ((type & MAP_FIXED_NOREPLACE) &&
PTR_ERR((void *)map_addr) == -EEXIST)
- pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
+ pr_info("%d (%s): Uhuuh, elf segment at %p requested but the memory is mapped already\n",
task_pid_nr(current), current->comm, (void *)addr);

return(map_addr);
--
2.33.0


2021-10-03 04:30:03

by Al Viro

[permalink] [raw]
Subject: Re: [PATCH] fs/elf: Fix kernel pointer leak

On Wed, Sep 29, 2021 at 09:17:02PM +0800, Guo Zhi wrote:
> Pointers should be printed with %p rather than %px
> which printed kernel pointer directly.
> Change %px to %p to print the secured pointer.

Huh? What makes it a kernel pointer? It's a userland address...