Re: [PATCH v7u1 24/31] x86, boot: Not need to check setup_headerversion for setup_data

From: H. Peter Anvin
Date: Mon Jan 14 2013 - 12:38:04 EST


On 01/14/2013 03:26 AM, Borislav Petkov wrote:
On Thu, Jan 03, 2013 at 04:48:44PM -0800, Yinghai Lu wrote:
That is for bootloader.

setup_data is in setup_header, and all bootloader is copying that
for bzImage. So for old bootloader should keep that as 0.

Are you sure all old bootloaders have kept setup_data as 0 so that you
can drop the check.

And besides, the check doesn't hurt but prevents insane old boot loaders
from handing in crap into the kernel so I'd leave it in.


No, this is a case of cargo-cult programming. I asked Yinghai to remove it.

It is cargo-cult programming because the value of boot_params.hdr comes from the kernel itself, so all you're doing is telling you the boot protocol version associated with the kernel itself, which we already know.

If we find a bootloader that does that incorrectly (e.g. if kexec were to blindly copy struct boot_params from the older kernel... which ironically would be better than the current situation) then the right thing to do would be to have a central place which scrub out the fields and just force them to zero rather than putting a bunch of tests all over the place.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/