2011-02-21 19:11:47

by Konstantin Khlebnikov

[permalink] [raw]
Subject: [PATCH] proc: hide kernel addresses via %pK in /proc/<pid>/stack

This file is readable for the task owner.
Hide kernel addresses from unprivileged users,
leave them function names and offsets.

Signed-off-by: Konstantin Khlebnikov <[email protected]>
---
fs/proc/base.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/proc/base.c b/fs/proc/base.c
index 9d096e8..4fa8dc6 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -340,7 +340,7 @@ static int proc_pid_stack(struct seq_file *m, struct pid_namespace *ns,
save_stack_trace_tsk(task, &trace);

for (i = 0; i < trace.nr_entries; i++) {
- seq_printf(m, "[<%p>] %pS\n",
+ seq_printf(m, "[<%pK>] %pS\n",
(void *)entries[i], (void *)entries[i]);
}
kfree(entries);


2011-02-21 19:36:39

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] proc: hide kernel addresses via %pK in /proc/<pid>/stack

On Mon, Feb 21, 2011 at 10:11:21PM +0300, Konstantin Khlebnikov wrote:
> This file is readable for the task owner.
> Hide kernel addresses from unprivileged users,
> leave them function names and offsets.
>
> Signed-off-by: Konstantin Khlebnikov <[email protected]>

Yes, please. :)

Acked-by: Kees Cook <[email protected]>

--
Kees Cook
Ubuntu Security Team