x86, boot: correct sanity checks in boot/compressed/misc.c
authorH. Peter Anvin <hpa@zytor.com>
Tue, 12 May 2009 18:33:08 +0000 (11:33 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 12 May 2009 18:33:08 +0000 (11:33 -0700)
commit7ed42a28b269f8682eefae27f5c11187eb56e63b
tree62bfe9cdb017524630d2b6c8f66a8db00d278a38
parent5031296c57024a78ddad4edfc993367dbf4abb98
x86, boot: correct sanity checks in boot/compressed/misc.c

arch/x86/boot/compressed/misc.c contains several sanity checks on the
output address.  Correct constraints that are no longer correct:

- the alignment test should be MIN_KERNEL_ALIGN on both 32 and 64
  bits.
- the 64 bit maximum address was set to 2^40, which was the limit of
  one specific x86-64 implementation.  Change the test to 2^46, the
  current Linux limit, and at least try to test the end rather than
  the beginning.
- for non-relocatable kernels, test against LOAD_PHYSICAL_ADDR on both
  32 and 64 bits.

[ Impact: fix potential boot failure due to invalid tests ]

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/boot/compressed/misc.c