On Thu, Jan 13, 2022 at 4:04 PM admin LI <admin@xxxxxxxxxxxxx> wrote: > > I'm developing a kernel module for an ARM machine, while debugging I found addresses > printed are all randomized and useless for debugging. > > To prove I was not crazy I wrote this small program: > > --------------------------------- > #include <linux/init.h> > #include <linux/module.h> > #include <linux/kernel.h> > #include <linux/slab.h> > > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Somebody"); > MODULE_DESCRIPTION("A simple example Linux module."); > MODULE_VERSION("0.01"); > > static int __init example_init(void) { > uint32_t a; > uint32_t b; > uint32_t c; > uint8_t d[10]; > uint8_t *e; > > printk(KERN_INFO "Hello, World!\n"); > printk(KERN_INFO "&a %p\n",&a); > printk(KERN_INFO "&b %p\n",&b); > printk(KERN_INFO "&c %p\n",&c); > printk(KERN_INFO "&d %p\n",d); > printk(KERN_INFO "&d[0] %p\n",&d[0]); > printk(KERN_INFO "&d[1] %p\n",&d[1]); > > e = kmalloc(10, GFP_KERNEL); > printk(KERN_INFO "&e[0] %p\n",&e[0]); > printk(KERN_INFO "&e[1] %p\n",&e[1]); > > kfree(e); > > return 0; > } > > static void __exit example_exit(void) { > printk(KERN_INFO "Goodbye, World!\n"); > } > > module_init(example_init); > module_exit(example_exit); > --------------------------------- > And it gave me this output: > > Hello, World! > &a b3f9fa31 > &b 27e1c68a > &c da50d287 > &d 9f9aec2b > &d[0] 9f9aec2b > &d[1] cc627580 > &e[0] 98b8c9eb > &e[1] 45f248f8 > > Then I tested on my debian host machine which gave me the same kind of randomized addresses. > > When I search randomization the only thing I found is KASLR which I don't think is the same thing. I think something else may be going on, but I'll toss this out there in case it helps. In the past randomization was disabled by writing 0 to /proc/sys/kernel/randomize_va_space. Something like: sysctl -w kernel.randomize_va_space=0 To make it permanent, change it in /etc/sysctl.conf. Jeff _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies