[U-Boot] pci: fix address range check in __pci_hose_phys_to_bus()

Tom Rini trini at konsulko.com
Mon Nov 23 23:44:26 CET 2015


On Wed, Nov 18, 2015 at 03:05:06PM +0100, Marcel Ziswiler wrote:

> The address range check may overflow if the memory region is located at
> the top of the 32-bit address space. This can e.g. be seen on TK1 if
> using the E1000 gigabit Ethernet driver where start and size are both
> 0x80000000 leading to the following messages:
> 
> Apalis TK1 # tftpboot $loadaddr test_file
> Using e1000#0 device
> TFTP from server 192.168.10.1; our IP address is 192.168.10.2
> Filename 'test_file'.
> Load address: 0x80408000
> Loading: pci_hose_phys_to_bus: invalid physical address
> 
> This patch fixes this by changing the order of the addition vs.
> subtraction in the range check just like already done in
> __pci_hose_bus_to_phys().
> 
> Reported-by: Ivan Mercier <ivan.mercier at nexvision.fr>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> Reviewed-by: Stephen Warren <swarren at nvidia.com>
> Acked-by: Simon Glass <sjg at chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151123/17b09a21/attachment.sig>


More information about the U-Boot mailing list