diff options
author | Ahmed Mansour <Ahmed.Mansour@freescale.com> | 2015-05-19 21:08:32 (GMT) |
---|---|---|
committer | Honghua Yin <Hong-Hua.Yin@freescale.com> | 2015-05-21 03:22:19 (GMT) |
commit | a43259698c278230c46e10996b9894a2a4ba7fda (patch) | |
tree | 60395a1d3e4108c9546062e9a1bde1f2617ef1f4 | |
parent | 7df35d1df29c3a96cc5e4138a98d2a37efcc0d26 (diff) | |
download | linux-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.c | 3 |
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); |