clear-pkgs-linux-iot-lts2018/1274-vhm-fix-potential-null...

40 lines
1.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Yuan Liu <yuan1.liu@intel.com>
Date: Thu, 23 Apr 2020 11:23:54 +0800
Subject: [PATCH] vhm: fix potential null pointer being dereferenced
The pci_find_bus returned value may be NULL and will
be dereferenced in update_assigned_vf_state function.
Fix this potential issue.
Tracked-On:projectacrn/acrn-hypervisor#4701
Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
---
drivers/char/vhm/vhm_dev.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/char/vhm/vhm_dev.c b/drivers/char/vhm/vhm_dev.c
index f702e273bbd0..30bca6c11b11 100644
--- a/drivers/char/vhm/vhm_dev.c
+++ b/drivers/char/vhm/vhm_dev.c
@@ -157,10 +157,13 @@ static ssize_t vhm_dev_write(struct file *filep, const char *buffer,
static void update_assigned_vf_state(uint16_t bdf, bool is_assigned)
{
struct pci_dev *dev = NULL;
+ struct pci_bus *bus;
- dev = pci_get_slot(pci_find_bus(0, PCI_BUS_NUM(bdf)),
- (bdf & 0xFF));
+ bus = pci_find_bus(0, PCI_BUS_NUM(bdf));
+ if (!bus)
+ return;
+ dev = pci_get_slot(bus, (bdf & 0xFF));
if (dev) {
if (dev->is_virtfn) {
if (is_assigned)
--
https://clearlinux.org