Re: [PATCH] x86/mm/init: Stop printing pgt_buf addresses

From: Joe Perches
Date: Fri May 22 2020 - 23:05:27 EST


On Fri, 2020-05-22 at 21:51 -0400, Arvind Sankar wrote:
> On Sat, Feb 29, 2020 at 06:11:20PM -0500, Arvind Sankar wrote:
> > This currently leaks kernel physical addresses into userspace.
> >
> > Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
> > ---
> > arch/x86/mm/init.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> > index e7bb483557c9..dc4711f09cdc 100644
> > --- a/arch/x86/mm/init.c
> > +++ b/arch/x86/mm/init.c
> > @@ -121,8 +121,6 @@ __ref void *alloc_low_pages(unsigned int num)
> > } else {
> > pfn = pgt_buf_end;
> > pgt_buf_end += num;
> > - printk(KERN_DEBUG "BRK [%#010lx, %#010lx] PGTABLE\n",
> > - pfn << PAGE_SHIFT, (pgt_buf_end << PAGE_SHIFT) - 1);
> > }
> >
> > for (i = 0; i < num; i++) {
> > --
> > 2.24.1
> >
>
> Ping.
>
> https://lore.kernel.org/lkml/20200229231120.1147527-1-nivedita@xxxxxxxxxxxx/

If this output is at all valuable,
perhaps emit them as hashed pointers?

Maybe:

---
arch/x86/mm/init.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 1bba16c5742b..44f0d6592c7e 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -121,8 +121,9 @@ __ref void *alloc_low_pages(unsigned int num)
} else {
pfn = pgt_buf_end;
pgt_buf_end += num;
- printk(KERN_DEBUG "BRK [%#010lx, %#010lx] PGTABLE\n",
- pfn << PAGE_SHIFT, (pgt_buf_end << PAGE_SHIFT) - 1);
+ printk(KERN_DEBUG "BRK [0x%8p, 0x%8p] PGTABLE\n",
+ (void *)(pfn << PAGE_SHIFT),
+ (void *)((pgt_buf_end << PAGE_SHIFT) - 1));
}

for (i = 0; i < num; i++) {