Merge branch 'pci/p2pdma'

- Move struct dev_pagemap (a flexible structure) to end of struct
  pci_p2pdma_pagemap to avoid overwriting things after dev_pagemap
  (Gustavo A. R.  Silva)

* pci/p2pdma:
  PCI/P2PDMA: Remove redundant goto
  PCI/P2PDMA: Fix undefined behavior bug in struct pci_p2pdma_pagemap
This commit is contained in:
Bjorn Helgaas 2023-10-28 13:30:59 -05:00
commit 209491885f

View file

@ -28,9 +28,9 @@ struct pci_p2pdma {
};
struct pci_p2pdma_pagemap {
struct dev_pagemap pgmap;
struct pci_dev *provider;
u64 bus_offset;
struct dev_pagemap pgmap;
};
static struct pci_p2pdma_pagemap *to_p2p_pgmap(struct dev_pagemap *pgmap)
@ -837,7 +837,6 @@ void *pci_alloc_p2pmem(struct pci_dev *pdev, size_t size)
if (unlikely(!percpu_ref_tryget_live_rcu(ref))) {
gen_pool_free(p2pdma->pool, (unsigned long) ret, size);
ret = NULL;
goto out;
}
out:
rcu_read_unlock();