Re: Question about output of kmalloc()

From: xuesong Chen
Date: Tue Jan 14 2020 - 06:50:29 EST


On Tue, Jan 14, 2020 at 6:36 PM David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> From: xuesong Chen
> > Sent: 14 January 2020 07:21
> > Below code snippet in the .ko:
> >
> > unsigned long *p = (unsigned long *)kmalloc(sizeof(*p), GFP_KERNEL);
> > printk("Addr of p = 0x%p\n", p);
> >
> > The output is:
> > Addr of p = 0x0000000018606ce7
> >
> > In my mind, during the early day, the p should be 0xfffff...., can
> > anybody give some tips why the output looks like it's a physical
> > address?
>
> The printed value is hashed to avoid leaking info.
>
But '%px' can print the correct value, so seems the infoleak is still
there... BTW, kindly point me to the hashed address code part?
>
>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)