I'm booting the same 16.04 Ubuntu server image (4.4.* kernel) and checking where modules are loaded with cat /sys/modules/[module_name]/sections/.text.

After every boot I get different text segment addresses even though there's no KASLR enabled in this kernel. For example, e1000 is loaded during boot automatically and on every boot it has a different load address.

If the kernel boot process is the same (i.e. modules are loaded in the same order), why am I seeing different load addresses? Should it be deterministic?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.