Unverified Commit b69e9a08 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14291 vdpa: solidrun: Fix UB bug with devres

parents 2f2c0e09 07d0deb7
Loading
Loading
Loading
Loading
+10 −4
Original line number Original line Diff line number Diff line
@@ -555,7 +555,7 @@ static const struct vdpa_config_ops snet_config_ops = {


static int psnet_open_pf_bar(struct pci_dev *pdev, struct psnet *psnet)
static int psnet_open_pf_bar(struct pci_dev *pdev, struct psnet *psnet)
{
{
	char name[50];
	char *name;
	int ret, i, mask = 0;
	int ret, i, mask = 0;
	/* We don't know which BAR will be used to communicate..
	/* We don't know which BAR will be used to communicate..
	 * We will map every bar with len > 0.
	 * We will map every bar with len > 0.
@@ -573,7 +573,10 @@ static int psnet_open_pf_bar(struct pci_dev *pdev, struct psnet *psnet)
		return -ENODEV;
		return -ENODEV;
	}
	}


	snprintf(name, sizeof(name), "psnet[%s]-bars", pci_name(pdev));
	name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "psnet[%s]-bars", pci_name(pdev));
	if (!name)
		return -ENOMEM;

	ret = pcim_iomap_regions(pdev, mask, name);
	ret = pcim_iomap_regions(pdev, mask, name);
	if (ret) {
	if (ret) {
		SNET_ERR(pdev, "Failed to request and map PCI BARs\n");
		SNET_ERR(pdev, "Failed to request and map PCI BARs\n");
@@ -590,10 +593,13 @@ static int psnet_open_pf_bar(struct pci_dev *pdev, struct psnet *psnet)


static int snet_open_vf_bar(struct pci_dev *pdev, struct snet *snet)
static int snet_open_vf_bar(struct pci_dev *pdev, struct snet *snet)
{
{
	char name[50];
	char *name;
	int ret;
	int ret;


	snprintf(name, sizeof(name), "snet[%s]-bar", pci_name(pdev));
	name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "snet[%s]-bars", pci_name(pdev));
	if (!name)
		return -ENOMEM;

	/* Request and map BAR */
	/* Request and map BAR */
	ret = pcim_iomap_regions(pdev, BIT(snet->psnet->cfg.vf_bar), name);
	ret = pcim_iomap_regions(pdev, BIT(snet->psnet->cfg.vf_bar), name);
	if (ret) {
	if (ret) {