Unlock before returning on this error path.
Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
index eec90494777d..fc972e43258a 100644
--- a/drivers/misc/bcm-vk/bcm_vk_msg.c
+++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
@@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk)
* that is fatal.
*/
dev_crit(dev, "Kernel mem allocation failure.\n");
- return -ENOMEM;
+ total = -ENOMEM;
+ goto idx_err;
}
/* flush rd pointer after a message is dequeued */
--
2.29.2
On 2021-02-01 4:22 a.m., Dan Carpenter wrote:
> Unlock before returning on this error path.
>
> Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support")
> Signed-off-by: Dan Carpenter <[email protected]>
> ---
> drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
> index eec90494777d..fc972e43258a 100644
> --- a/drivers/misc/bcm-vk/bcm_vk_msg.c
> +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
> @@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk)
> * that is fatal.
> */
> dev_crit(dev, "Kernel mem allocation failure.\n");
> - return -ENOMEM;
> + total = -ENOMEM;
> + goto idx_err;
> }
>
This is a pretty fatal case if we fail to allocate memory here.
Will let Desmond respond if we wanted to keep the mutex locked forever in this
case or if we do want to return and keep mutex locked if it is fatal and there is
no real recovery path.
> /* flush rd pointer after a message is dequeued */
Acked-by: Desmond Yan <[email protected]>
On Mon, Feb 1, 2021 at 4:24 AM Dan Carpenter <[email protected]> wrote:
>
> Unlock before returning on this error path.
>
> Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support")
> Signed-off-by: Dan Carpenter <[email protected]>
> ---
> drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
> index eec90494777d..fc972e43258a 100644
> --- a/drivers/misc/bcm-vk/bcm_vk_msg.c
> +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
> @@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk)
> * that is fatal.
> */
> dev_crit(dev, "Kernel mem allocation failure.\n");
> - return -ENOMEM;
> + total = -ENOMEM;
> + goto idx_err;
> }
>
> /* flush rd pointer after a message is dequeued */
> --
> 2.29.2
>
Yes, in this situation, it is fatal and we would turn off processing
anyway. But, Dan's change seems more appropriate and proper practice
(thxs for the patch).
Des
On Mon, Feb 1, 2021 at 9:31 AM Scott Branden <[email protected]> wrote:
>
>
>
> On 2021-02-01 4:22 a.m., Dan Carpenter wrote:
> > Unlock before returning on this error path.
> >
> > Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support")
> > Signed-off-by: Dan Carpenter <[email protected]>
> > ---
> > drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
> > index eec90494777d..fc972e43258a 100644
> > --- a/drivers/misc/bcm-vk/bcm_vk_msg.c
> > +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
> > @@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk)
> > * that is fatal.
> > */
> > dev_crit(dev, "Kernel mem allocation failure.\n");
> > - return -ENOMEM;
> > + total = -ENOMEM;
> > + goto idx_err;
> > }
> >
> This is a pretty fatal case if we fail to allocate memory here.
> Will let Desmond respond if we wanted to keep the mutex locked forever in this
> case or if we do want to return and keep mutex locked if it is fatal and there is
> no real recovery path.
> > /* flush rd pointer after a message is dequeued */
>
Great, looks good then.
On 2021-02-01 10:32 a.m., Desmond Yan wrote:
> Acked-by: Desmond Yan <[email protected]>
Acked-by: Scott Branden <[email protected]>
>
> On Mon, Feb 1, 2021 at 4:24 AM Dan Carpenter <[email protected]> wrote:
>> Unlock before returning on this error path.
>>
>> Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support")
>> Signed-off-by: Dan Carpenter <[email protected]>
>> ---
>> drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
>> index eec90494777d..fc972e43258a 100644
>> --- a/drivers/misc/bcm-vk/bcm_vk_msg.c
>> +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
>> @@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk)
>> * that is fatal.
>> */
>> dev_crit(dev, "Kernel mem allocation failure.\n");
>> - return -ENOMEM;
>> + total = -ENOMEM;
>> + goto idx_err;
>> }
>>
>> /* flush rd pointer after a message is dequeued */
>> --
>> 2.29.2
>>