I'm booting the same 16.04 Ubuntu server image (4.4.* kernel) and checking where modules are loaded with
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?