PCI: Fix overflow in command-line resource alignment requests
authorColin Ian King <colin.king@canonical.com>
Sat, 14 Nov 2020 21:48:04 +0000 (15:48 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 30 Nov 2020 17:39:11 +0000 (11:39 -0600)
commitcc73eb321d246776e5a9f7723d15708809aa3699
treeb3073688998856c382da8841406b7be5820445d2
parent6534aac198b58309ff2337981d3f893e0be1d19d
PCI: Fix overflow in command-line resource alignment requests

The shift of 1 by align_order is evaluated using 32 bit arithmetic and the
result is assigned to a resource_size_t type variable that is a 64 bit
unsigned integer on 64 bit platforms. Fix an overflow before widening issue
by making the 1 a ULL.

Addresses-Coverity: ("Unintentional integer overflow")
Fixes: 32a9a682bef2 ("PCI: allow assignment of memory resources with a specified alignment")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
drivers/pci/pci.c