PCI: Bounds-check command-line resource alignment requests
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 5 Nov 2020 20:51:36 +0000 (14:51 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:26 +0000 (11:53 +0100)
commit3ce25814038050fa21b81d6ec55d1d4d59175b1a
treec7873acfbb07472350764fa3a1c7bc134c562292
parent25cff7f514188f470aa5cfbf5c8d122ff0e68a25
PCI: Bounds-check command-line resource alignment requests

[ Upstream commit 6534aac198b58309ff2337981d3f893e0be1d19d ]

32-bit BARs are limited to 2GB size (2^31).  By extension, I assume 64-bit
BARs are limited to 2^63 bytes.  Limit the alignment requested by the
"pci=resource_alignment=" command-line parameter to 2^63.

Link: https://lore.kernel.org/r/20201007123045.GS4282@kadam
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/pci.c