RE: Question about output of kmalloc()

From: David Laight
Date: Tue Jan 14 2020 - 05:37:01 EST


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.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)