Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b12a0d1 authored by Jon Mason's avatar Jon Mason
Browse files

NTB: Add Error Handling in ntb_device_setup



If an error is encountered in ntb_device_setup, it is possible that the
spci_cmd isn't populated.  Writes to the offset can result in a NULL
pointer dereference.  This issue is easily encountered by running in
NTB-RP mode, as it currently is not supported and will generate an
error.  To get around this issue, return if an error is encountered
prior to attempting to write to the spci_cmd offset.

Signed-off-by: default avatarJon Mason <jon.mason@intel.com>
parent 6e466452
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -644,10 +644,13 @@ static int ntb_device_setup(struct ntb_device *ndev)
		rc = -ENODEV;
	}

	if (rc)
		return rc;

	/* Enable Bus Master and Memory Space on the secondary side */
	writew(PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER, ndev->reg_ofs.spci_cmd);

	return rc;
	return 0;
}

static void ntb_device_free(struct ntb_device *ndev)