<html><head></head><body style="zoom: 0%;"><div dir="auto">Hi Chan,<br><br></div>
<div dir="auto">Thank you for pointing me to the right direction. <br><br></div>
<div dir="auto">Pointer Types<br></div>
<div dir="auto"> =============<br></div>
<div dir="auto">Pointers printed without a specifier extension (i.e unadorned %p) are hashed to give a unique identifier without leaking kernel addresses to user space. On 64 bit machines the first 32 bits are zeroed. If you _really_ want the address see %px below.<br><br></div>
<div dir="auto"><!-- tmjah_g_1299s -->Get <!-- tmjah_g_1299e --><a href="https://bluemail.me"><!-- tmjah_g_1299s -->BlueMail for Android<!-- tmjah_g_1299e --></a><!-- tmjah_g_1299s --> <!-- tmjah_g_1299e --></div>
<div class="gmail_quote" >On Jan 14, 2022, at 01:36, Chan Kim <<a href="mailto:ckim@etri.re.kr" target="_blank">ckim@etri.re.kr</a>> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="WordSection1">
 <p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Hi,
   </span></p><p></p><p></p>
 <p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">To print kernel virtual address, you should use %px instead of %p in the printk.
   </span></p><p></p><p></p>
 <p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Probably that’s why you couldn’t see the pointer values correctly.
   </span></p><p></p><p></p>
 <p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Chan
   </span></p><p></p><p></p>
 <p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">
   </span></p><p>
     
   </p><p></p>
 <div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
  <div>
   <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
    <p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> admin LI <admin@hifiphile.com> <br><b>Sent:</b> Friday, January 14, 2022 6:02 AM<br><b>To:</b> kernelnewbies@kernelnewbies.org<br><b>Subject:</b> How to disable address randomization ?
      </span></p><p></p><p></p>
   </div>
  </div>
  <p class="MsoNormal"><span lang="EN-US" class="">
    </span></p><p>
      
    </p><p></p>
  <div>
   <p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US" class="">Hi,<br><br>I'm developing a kernel module for an ARM machine, while debugging I found addresses <br>printed are all randomized and useless for debugging.<br><br>To prove I was not crazy I wrote this small program:<br><br>---------------------------------<br>#include <linux/init.h><br>#include <linux/module.h><br>#include <linux/kernel.h><br>#include <linux/slab.h><br><br>MODULE_LICENSE("GPL");<br>MODULE_AUTHOR("Somebody");<br>MODULE_DESCRIPTION("A simple example Linux module.");<br>MODULE_VERSION("0.01");<br><br>static int __init example_init(void) {<br>    uint32_t a;<br>    uint32_t b;<br>    uint32_t c;<br>    uint8_t d[10];<br>    uint8_t *e;<br><br>    printk(KERN_INFO "Hello, World!\n");<br>    printk(KERN_INFO "&a %p\n",&a);<br>    printk(KERN_INFO "&b %p\n",&b);<br>    printk(KERN_INFO "&c %p\n",&c);<br>    printk(KERN_INFO "&d %p\n",d);<br>    printk(KERN_INFO "&d[0] %p\n",&d[0]);<br>    printk(KERN_INFO "&d[1] %p\n",&d[1]);<br><br>    e = kmalloc(10, GFP_KERNEL);<br>    printk(KERN_INFO "&e[0] %p\n",&e[0]);<br>    printk(KERN_INFO "&e[1] %p\n",&e[1]);<br><br>    kfree(e);<br><br> return 0;<br>}<br><br>static void __exit example_exit(void) {<br> printk(KERN_INFO "Goodbye, World!\n");<br>}<br><br>module_init(example_init);<br>module_exit(example_exit);<br>---------------------------------<br>And it gave me this output:<br><br>Hello, World!<br>&a b3f9fa31<br>&b 27e1c68a<br>&c da50d287<br>&d 9f9aec2b<br>&d[0] 9f9aec2b<br>&d[1] cc627580<br>&e[0] 98b8c9eb<br>&e[1] 45f248f8<br><br>Then I tested on my debian host machine which gave me the same kind of randomized addresses.<br><br>When I search randomization the only thing I found is KASLR which I don't think is the same thing.
     </span></p><p></p><p></p>
  </div>
 </div>
</div></blockquote></div></body></html>