diff mbox series

[next] powerpc/powernv/sriov: perform null check on iov before dereferencing iov

Message ID 20230608095849.1147969-1-colin.i.king@gmail.com (mailing list archive)
State Accepted
Commit f4f913c980bc6abe0ccfe88fe3909c125afe4a2d
Headers show
Series [next] powerpc/powernv/sriov: perform null check on iov before dereferencing iov | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 24 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.

Commit Message

Colin Ian King June 8, 2023, 9:58 a.m. UTC
Currently pointer iov is being dereferenced before the null check of iov
which can lead to null pointer dereference errors. Fix this by moving the
iov null check before the dereferencing.

Detected using cppcheck static analysis:
linux/arch/powerpc/platforms/powernv/pci-sriov.c:597:12: warning: Either
the condition '!iov' is redundant or there is possible null pointer
dereference: iov. [nullPointerRedundantCheck]
 num_vfs = iov->num_vfs;
           ^

Fixes: 052da31d45fc ("powerpc/powernv/sriov: De-indent setup and teardown")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 arch/powerpc/platforms/powernv/pci-sriov.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Michael Ellerman July 3, 2023, 5:26 a.m. UTC | #1
On Thu, 08 Jun 2023 10:58:49 +0100, Colin Ian King wrote:
> Currently pointer iov is being dereferenced before the null check of iov
> which can lead to null pointer dereference errors. Fix this by moving the
> iov null check before the dereferencing.
> 
> Detected using cppcheck static analysis:
> linux/arch/powerpc/platforms/powernv/pci-sriov.c:597:12: warning: Either
> the condition '!iov' is redundant or there is possible null pointer
> dereference: iov. [nullPointerRedundantCheck]
>  num_vfs = iov->num_vfs;
>            ^
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/powernv/sriov: perform null check on iov before dereferencing iov
      https://git.kernel.org/powerpc/c/f4f913c980bc6abe0ccfe88fe3909c125afe4a2d

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/powernv/pci-sriov.c b/arch/powerpc/platforms/powernv/pci-sriov.c
index 7195133b26bb..42e1f045199f 100644
--- a/arch/powerpc/platforms/powernv/pci-sriov.c
+++ b/arch/powerpc/platforms/powernv/pci-sriov.c
@@ -594,11 +594,10 @@  static void pnv_pci_sriov_disable(struct pci_dev *pdev)
 	struct pnv_iov_data   *iov;
 
 	iov = pnv_iov_get(pdev);
-	num_vfs = iov->num_vfs;
-	base_pe = iov->vf_pe_arr[0].pe_number;
-
 	if (WARN_ON(!iov))
 		return;
+	num_vfs = iov->num_vfs;
+	base_pe = iov->vf_pe_arr[0].pe_number;
 
 	/* Release VF PEs */
 	pnv_ioda_release_vf_PE(pdev);