From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Date: Tue, 16 Apr 2019 18:30:53 +0200 Subject: [U-Boot] [PATCH 1/2] pci: Add boundary check for hose->regions In-Reply-To: <20190315153233.2335-1-thierry.reding@gmail.com> References: <20190315153233.2335-1-thierry.reding@gmail.com> Message-ID: <20190416163053.GA26165@ulmo> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, Mar 15, 2019 at 04:32:32PM +0100, Thierry Reding wrote: > From: Thierry Reding > > Make sure that we don't overflow the hose->regions array, otherwise we > would end up overwriting the hose->region_count field and cause mayhem > to ensue. Also print an error message when we'd be overflowing because > it indicates that there aren't enough regions available and the number > needs to be increased. > > Signed-off-by: Thierry Reding > --- > drivers/pci/pci-uclass.c | 5 +++++ > 1 file changed, 5 insertions(+) Hi Tom, have you had a chance to look at these two patches? Simon's reviewed them and they are needed to restore PCI support on Jetson TX2 (P2771). Thierry > diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c > index 824fa1190747..cf1e7617ae35 100644 > --- a/drivers/pci/pci-uclass.c > +++ b/drivers/pci/pci-uclass.c > @@ -918,6 +918,11 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, > return; > > for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) { > + if (hose->region_count == MAX_PCI_REGIONS) { > + pr_err("maximum number of regions parsed, aborting\n"); > + break; > + } > + > if (bd->bi_dram[i].size) { > pci_set_region(hose->regions + hose->region_count++, > bd->bi_dram[i].start, > -- > 2.20.1 > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: