* [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
@ 2017-11-20 14:12 Gustavo A. R. Silva
2017-11-21 19:16 ` Subhash Jadavani
2017-11-22 4:01 ` Martin K. Petersen
0 siblings, 2 replies; 4+ messages in thread
From: Gustavo A. R. Silva @ 2017-11-20 14:12 UTC (permalink / raw
To: Vinayak Holikatti, James E.J. Bottomley, Martin K. Petersen
Cc: linux-scsi, linux-kernel, Gustavo A. R. Silva
_vreg_ is being dereferenced before it is null checked, hence there is a
potential null pointer dereference.
Fix this by moving the pointer dereference after _vreg_ has been null
checked.
This issue was detected with the help of Coccinelle.
Fixes: aa4976130934 ("ufs: Add regulator enable support")
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
drivers/scsi/ufs/ufshcd.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 011c336..a355d98 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6559,12 +6559,15 @@ static int ufshcd_config_vreg(struct device *dev,
struct ufs_vreg *vreg, bool on)
{
int ret = 0;
- struct regulator *reg = vreg->reg;
- const char *name = vreg->name;
+ struct regulator *reg;
+ const char *name;
int min_uV, uA_load;
BUG_ON(!vreg);
+ reg = vreg->reg;
+ name = vreg->name;
+
if (regulator_count_voltages(reg) > 0) {
min_uV = on ? vreg->min_uV : 0;
ret = regulator_set_voltage(reg, min_uV, vreg->max_uV);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
2017-11-20 14:12 [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg Gustavo A. R. Silva
@ 2017-11-21 19:16 ` Subhash Jadavani
2017-11-22 4:01 ` Martin K. Petersen
1 sibling, 0 replies; 4+ messages in thread
From: Subhash Jadavani @ 2017-11-21 19:16 UTC (permalink / raw
To: Gustavo A. R. Silva
Cc: Vinayak Holikatti, James E.J. Bottomley, Martin K. Petersen,
linux-scsi, linux-kernel, linux-scsi-owner
On 2017-11-20 06:12, Gustavo A. R. Silva wrote:
> _vreg_ is being dereferenced before it is null checked, hence there is
> a
> potential null pointer dereference.
>
> Fix this by moving the pointer dereference after _vreg_ has been null
> checked.
>
> This issue was detected with the help of Coccinelle.
>
> Fixes: aa4976130934 ("ufs: Add regulator enable support")
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> ---
> drivers/scsi/ufs/ufshcd.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 011c336..a355d98 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6559,12 +6559,15 @@ static int ufshcd_config_vreg(struct device
> *dev,
> struct ufs_vreg *vreg, bool on)
> {
> int ret = 0;
> - struct regulator *reg = vreg->reg;
> - const char *name = vreg->name;
> + struct regulator *reg;
> + const char *name;
> int min_uV, uA_load;
>
> BUG_ON(!vreg);
>
> + reg = vreg->reg;
> + name = vreg->name;
> +
> if (regulator_count_voltages(reg) > 0) {
> min_uV = on ? vreg->min_uV : 0;
> ret = regulator_set_voltage(reg, min_uV, vreg->max_uV);
Looks good to me.
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
2017-11-20 14:12 [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg Gustavo A. R. Silva
2017-11-21 19:16 ` Subhash Jadavani
@ 2017-11-22 4:01 ` Martin K. Petersen
2017-11-22 14:18 ` Gustavo A. R. Silva
1 sibling, 1 reply; 4+ messages in thread
From: Martin K. Petersen @ 2017-11-22 4:01 UTC (permalink / raw
To: Gustavo A. R. Silva
Cc: Vinayak Holikatti, James E.J. Bottomley, Martin K. Petersen,
linux-scsi, linux-kernel
Gustavo A.,
> _vreg_ is being dereferenced before it is null checked, hence there is a
> potential null pointer dereference.
>
> Fix this by moving the pointer dereference after _vreg_ has been null
> checked.
Applied to 4.15/scsi-fixes, thank you!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
2017-11-22 4:01 ` Martin K. Petersen
@ 2017-11-22 14:18 ` Gustavo A. R. Silva
0 siblings, 0 replies; 4+ messages in thread
From: Gustavo A. R. Silva @ 2017-11-22 14:18 UTC (permalink / raw
To: Martin K. Petersen
Cc: Vinayak Holikatti, James E.J. Bottomley, linux-scsi, linux-kernel
On 11/21/2017 10:01 PM, Martin K. Petersen wrote:
> Gustavo A.,
>
>> _vreg_ is being dereferenced before it is null checked, hence there is a
>> potential null pointer dereference.
>>
>> Fix this by moving the pointer dereference after _vreg_ has been null
>> checked.
> Applied to 4.15/scsi-fixes, thank you!
>
Glad to help. :)
Thanks
--
Gustavo A. R. Silva
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-22 14:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-20 14:12 [PATCH] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg Gustavo A. R. Silva
2017-11-21 19:16 ` Subhash Jadavani
2017-11-22 4:01 ` Martin K. Petersen
2017-11-22 14:18 ` Gustavo A. R. Silva
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.