Message ID | 20250217-restricted-pointers-trace-v1-1-bbe9ea279848@linutronix.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | tracing/user_events: Don't use %pK through printk | expand |
On Mon, 17 Feb 2025 14:16:12 +0100 Thomas Weißschuh <thomas.weissschuh@linutronix.de> wrote: > Restricted pointers ("%pK") are not meant to be used through printk(). > It can unintentionally expose security sensitive, raw pointer values. > > Use regular pointer formatting instead. > > Link: https://lore.kernel.org/lkml/20250113171731-dc10e3c1-da64-4af0-b767-7c7070468023@linutronix.de/ This is only for the kernel pointer, but the "uaddr" below means it has a user space address. So I think this does not need to be applied. Thank you, > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> > --- > kernel/trace/trace_events_user.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c > index 97325fbd62836f4fb477c4a2b2936eff544291ec..3effc6fce20e65a8077de5221eb69db04fb1a775 100644 > --- a/kernel/trace/trace_events_user.c > +++ b/kernel/trace/trace_events_user.c > @@ -455,7 +455,7 @@ static void user_event_enabler_fault_fixup(struct work_struct *work) > if (ret && ret != -ENOENT) { > struct user_event *user = enabler->event; > > - pr_warn("user_events: Fault for mm: 0x%pK @ 0x%llx event: %s\n", > + pr_warn("user_events: Fault for mm: 0x%p @ 0x%llx event: %s\n", > mm->mm, (unsigned long long)uaddr, EVENT_NAME(user)); > } > > > --- > base-commit: 0ad2507d5d93f39619fc42372c347d6006b64319 > change-id: 20250217-restricted-pointers-trace-a0fb12707ac6 > > Best regards, > -- > Thomas Weißschuh <thomas.weissschuh@linutronix.de> >
On Wed, Feb 19, 2025 at 09:10:23AM +0900, Masami Hiramatsu wrote: > On Mon, 17 Feb 2025 14:16:12 +0100 > Thomas Weißschuh <thomas.weissschuh@linutronix.de> wrote: > > > Restricted pointers ("%pK") are not meant to be used through printk(). > > It can unintentionally expose security sensitive, raw pointer values. > > > > Use regular pointer formatting instead. > > > > Link: https://lore.kernel.org/lkml/20250113171731-dc10e3c1-da64-4af0-b767-7c7070468023@linutronix.de/ > > This is only for the kernel pointer, but the "uaddr" below means it > has a user space address. So I think this does not need to be applied. "uaddr" is formatted with %llx, which is fine. "%pK" is used for mm->mm, which is a kernel pointer. > Thank you, > > > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> > > --- > > kernel/trace/trace_events_user.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c > > index 97325fbd62836f4fb477c4a2b2936eff544291ec..3effc6fce20e65a8077de5221eb69db04fb1a775 100644 > > --- a/kernel/trace/trace_events_user.c > > +++ b/kernel/trace/trace_events_user.c > > @@ -455,7 +455,7 @@ static void user_event_enabler_fault_fixup(struct work_struct *work) > > if (ret && ret != -ENOENT) { > > struct user_event *user = enabler->event; > > > > - pr_warn("user_events: Fault for mm: 0x%pK @ 0x%llx event: %s\n", > > + pr_warn("user_events: Fault for mm: 0x%p @ 0x%llx event: %s\n", > > mm->mm, (unsigned long long)uaddr, EVENT_NAME(user)); > > } > > > > > > --- > > base-commit: 0ad2507d5d93f39619fc42372c347d6006b64319 > > change-id: 20250217-restricted-pointers-trace-a0fb12707ac6 > > > > Best regards, > > -- > > Thomas Weißschuh <thomas.weissschuh@linutronix.de>
On Wed, 19 Feb 2025 08:14:34 +0100 Thomas Weißschuh <thomas.weissschuh@linutronix.de> wrote: > On Wed, Feb 19, 2025 at 09:10:23AM +0900, Masami Hiramatsu wrote: > > On Mon, 17 Feb 2025 14:16:12 +0100 > > Thomas Weißschuh <thomas.weissschuh@linutronix.de> wrote: > > > > > Restricted pointers ("%pK") are not meant to be used through printk(). > > > It can unintentionally expose security sensitive, raw pointer values. > > > > > > Use regular pointer formatting instead. > > > > > > Link: https://lore.kernel.org/lkml/20250113171731-dc10e3c1-da64-4af0-b767-7c7070468023@linutronix.de/ > > > > This is only for the kernel pointer, but the "uaddr" below means it > > has a user space address. So I think this does not need to be applied. > > "uaddr" is formatted with %llx, which is fine. > "%pK" is used for mm->mm, which is a kernel pointer. Oops, I misread it. OK. looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Thank you, > > > Thank you, > > > > > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> > > > --- > > > kernel/trace/trace_events_user.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c > > > index 97325fbd62836f4fb477c4a2b2936eff544291ec..3effc6fce20e65a8077de5221eb69db04fb1a775 100644 > > > --- a/kernel/trace/trace_events_user.c > > > +++ b/kernel/trace/trace_events_user.c > > > @@ -455,7 +455,7 @@ static void user_event_enabler_fault_fixup(struct work_struct *work) > > > if (ret && ret != -ENOENT) { > > > struct user_event *user = enabler->event; > > > > > > - pr_warn("user_events: Fault for mm: 0x%pK @ 0x%llx event: %s\n", > > > + pr_warn("user_events: Fault for mm: 0x%p @ 0x%llx event: %s\n", > > > mm->mm, (unsigned long long)uaddr, EVENT_NAME(user)); > > > } > > > > > > > > > --- > > > base-commit: 0ad2507d5d93f39619fc42372c347d6006b64319 > > > change-id: 20250217-restricted-pointers-trace-a0fb12707ac6 > > > > > > Best regards, > > > -- > > > Thomas Weißschuh <thomas.weissschuh@linutronix.de>
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index 97325fbd62836f4fb477c4a2b2936eff544291ec..3effc6fce20e65a8077de5221eb69db04fb1a775 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -455,7 +455,7 @@ static void user_event_enabler_fault_fixup(struct work_struct *work) if (ret && ret != -ENOENT) { struct user_event *user = enabler->event; - pr_warn("user_events: Fault for mm: 0x%pK @ 0x%llx event: %s\n", + pr_warn("user_events: Fault for mm: 0x%p @ 0x%llx event: %s\n", mm->mm, (unsigned long long)uaddr, EVENT_NAME(user)); }
Restricted pointers ("%pK") are not meant to be used through printk(). It can unintentionally expose security sensitive, raw pointer values. Use regular pointer formatting instead. Link: https://lore.kernel.org/lkml/20250113171731-dc10e3c1-da64-4af0-b767-7c7070468023@linutronix.de/ Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> --- kernel/trace/trace_events_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 0ad2507d5d93f39619fc42372c347d6006b64319 change-id: 20250217-restricted-pointers-trace-a0fb12707ac6 Best regards,