On Sat, Feb 10, 2024 at 01:18:35AM -0800, Kees Cook wrote: > The vDSO (and its initial randomization) was introduced in commit > 2aae950b21e4 ("x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu"), > but had very low entropy. The entropy was improved in commit > 394f56fe4801 ("x86_64, vdso: Fix the vdso address randomization algorithm"), > but there is still improvement to be made. > > On principle there should not be executable code at a low entropy offset > from the stack, since the stack and executable code having separate > randomization is part of what makes ASLR stronger. > > Remove the only executable code near the stack region and give the vDSO > the same randomized base as other mmap mappings including the linker > and other shared objects. This results in higher entropy being provided > and there's little to no advantage in separating this from the existing > executable code there. This is already how other architectures like > arm64 handle the vDSO. Thread ping. Anyone have thoughts on this? I can carry it in -next to see if anything melts... -- Kees Cook