Re: [PATCH qemu] x86: don't let decompressed kernel image clobber setup_data

From: H. Peter Anvin
Date: Sun Jan 01 2023 - 00:13:34 EST


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