summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmed Mansour <Ahmed.Mansour@freescale.com>2015-05-19 21:08:32 (GMT)
committerHonghua Yin <Hong-Hua.Yin@freescale.com>2015-05-21 03:22:19 (GMT)
commita43259698c278230c46e10996b9894a2a4ba7fda (patch)
tree60395a1d3e4108c9546062e9a1bde1f2617ef1f4
parent7df35d1df29c3a96cc5e4138a98d2a37efcc0d26 (diff)
downloadlinux-fsl-qoriq-a43259698c278230c46e10996b9894a2a4ba7fda.tar.xz
pme: Protect against possible NULL dereference
Add BUG_ON to prevent NULL dereference if ctx->flags indicate flow mode (none direct mode) then a call back token must be specified otherwise the call back token can be passed NULL Signed-off-by: Ahmed Mansour <Ahmed.Mansour@freescale.com> Change-Id: I20f95b2fd77699eb32ef54515666127ebc6b1743 Reviewed-on: http://git.am.freescale.net:8181/36607 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
-rw-r--r--drivers/staging/fsl_pme2/pme2_high.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/fsl_pme2/pme2_high.c b/drivers/staging/fsl_pme2/pme2_high.c
index 094ee9d..12ab7a1 100644
--- a/drivers/staging/fsl_pme2/pme2_high.c
+++ b/drivers/staging/fsl_pme2/pme2_high.c
@@ -727,6 +727,9 @@ static inline int __update_flow(struct pme_ctx *ctx, u32 flags,
BUG_ON(ctx->flags & PME_CTX_FLAG_DIRECT);
if (!hw_res)
return -ENOMEM;
+ /* Direct mode is not enabled. Therefore the call back token must not
+ * be NULL */
+ BUG_ON(!token);
token->internal_flow_ptr = pme_hw_flow_new();
if (!token->internal_flow_ptr) {
pme_hw_residue_free(hw_res);