Module Name: src Committed By: maxv Date: Sat Jul 21 06:09:14 UTC 2018
Modified Files: src/sys/arch/amd64/amd64: cpufunc.S locore.S machdep.c src/sys/arch/x86/include: cpu_rng.h pmap.h src/sys/arch/x86/x86: cpu_rng.c pmap.c Log Message: More ASLR. Randomize the location of the direct map at boot time on amd64. This doesn't need "options KASLR" and works on GENERIC. Will soon be enabled by default. The location of the areas is abstracted in a slotspace structure. Ideally we should always use this structure when touching the L4 slots, instead of the current cocktail of global variables and constants. machdep initializes the structure with the default values, and we then randomize its dmap entry. Ideally machdep should randomize everything at once, but in the case of the direct map its size is determined a little later in the boot procedure, so we're forced to randomize its location later too. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/amd64/amd64/cpufunc.S cvs rdiff -u -r1.171 -r1.172 src/sys/arch/amd64/amd64/locore.S cvs rdiff -u -r1.306 -r1.307 src/sys/arch/amd64/amd64/machdep.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/x86/include/cpu_rng.h cvs rdiff -u -r1.80 -r1.81 src/sys/arch/x86/include/pmap.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/x86/x86/cpu_rng.c cvs rdiff -u -r1.291 -r1.292 src/sys/arch/x86/x86/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.