• Alan Cox's avatar
    x86, early_ioremap: fix fencepost error · c613ec1a
    Alan Cox authored
    The x86 implementation of early_ioremap has an off by one error. If we get
    an object which ends on the first byte of a page we undermap by one page and
    this causes a crash on boot with the ASUS P5QL whose DMI table happens to fit
    this alignment.
    
    The size computation is currently
    
    	last_addr = phys_addr + size - 1;
    	npages = (PAGE_ALIGN(last_addr) - phys_addr)
    
    (Consider a request for 1 byte at alignment 0...)
    
    Closes #11693
    
    Debugging work by Ian Campbell/Felix Geyer
    Signed-off-by: default avatarAlan Cox <alan@rehat.com>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    c613ec1a
ioremap.c 16.2 KB