On 12/31/22 20:55, Mika Penttilä wrote:
If decompression does clobber the data, then we *also* need to figure
out why that is. There are basically three possibilities:
1. If physical KASLR is NOT used:
a. The boot loader doesn't honor the kernel safe area properly;
b. Somewhere in the process a bug in the calculation of the
kernel safe area has crept in.
2. If physical KASLR IS used:
The decompressor doesn't correctly keep track of nor relocate
all the keep-out zones before picking a target address.
Seems setup_data is not included in those mem_avoid regions.
[facepalm]
One is a bootloader bug, two is a kernel bugs. My guess is (2) is the
culprit, but (1b) should be checked, too.
Correction: two are kernel bugs, i.e. (1b) and (2) are both kernel bugs.
-hpa