diff mbox series

ALSA: firewire-lib: fix error codes for allocation failure

Message ID YLtyL4VoArwVLor1@mwanda (mailing list archive)
State New, archived
Headers show
Series ALSA: firewire-lib: fix error codes for allocation failure | expand

Commit Message

Dan Carpenter June 5, 2021, 12:46 p.m. UTC
Return -ENOMEM if kcalloc() fails.  Currently the code returns success.

Fixes: f9e5ecdfc2c2 ("ALSA: firewire-lib: add replay target to cache sequence of packet")
Fixes: 6f24bb8a157c ("ALSA: firewire-lib: pool sequence of packet in IT context independently")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 sound/firewire/amdtp-stream.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Takashi Sakamoto June 6, 2021, 12:26 a.m. UTC | #1
Hi,

On Sat, Jun 05, 2021 at 03:46:39PM +0300, Dan Carpenter wrote:
> Return -ENOMEM if kcalloc() fails.  Currently the code returns success.
> 
> Fixes: f9e5ecdfc2c2 ("ALSA: firewire-lib: add replay target to cache sequence of packet")
> Fixes: 6f24bb8a157c ("ALSA: firewire-lib: pool sequence of packet in IT context independently")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
>  sound/firewire/amdtp-stream.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c
> index 945597ffacc2..b37cec3cc579 100644
> --- a/sound/firewire/amdtp-stream.c
> +++ b/sound/firewire/amdtp-stream.c
> @@ -1625,8 +1625,10 @@ static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
>  			s->ctx_data.tx.cache.tail = 0;
>  			s->ctx_data.tx.cache.descs = kcalloc(s->ctx_data.tx.cache.size,
>  						sizeof(*s->ctx_data.tx.cache.descs), GFP_KERNEL);
> -			if (!s->ctx_data.tx.cache.descs)
> +			if (!s->ctx_data.tx.cache.descs) {
> +				err = -ENOMEM;
>  				goto err_context;
> +			}
>  		}
>  	} else {
>  		static const struct {
> @@ -1643,8 +1645,10 @@ static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
>  		};
>  
>  		s->ctx_data.rx.seq.descs = kcalloc(queue_size, sizeof(*s->ctx_data.rx.seq.descs), GFP_KERNEL);
> -		if (!s->ctx_data.rx.seq.descs)
> +		if (!s->ctx_data.rx.seq.descs) {
> +			err = -ENOMEM;
>  			goto err_context;
> +		}
>  		s->ctx_data.rx.seq.size = queue_size;
>  		s->ctx_data.rx.seq.tail = 0;
>  		s->ctx_data.rx.seq.head = 0;
> -- 
> 2.30.2
 
Indeed... Nice to catch it.

Acked-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>


Thanks

Takashi Sakamoto.
Takashi Iwai June 6, 2021, 8:05 a.m. UTC | #2
On Sat, 05 Jun 2021 14:46:39 +0200,
Dan Carpenter wrote:
> 
> Return -ENOMEM if kcalloc() fails.  Currently the code returns success.
> 
> Fixes: f9e5ecdfc2c2 ("ALSA: firewire-lib: add replay target to cache sequence of packet")
> Fixes: 6f24bb8a157c ("ALSA: firewire-lib: pool sequence of packet in IT context independently")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Thanks, applied.


Takashi
diff mbox series

Patch

diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c
index 945597ffacc2..b37cec3cc579 100644
--- a/sound/firewire/amdtp-stream.c
+++ b/sound/firewire/amdtp-stream.c
@@ -1625,8 +1625,10 @@  static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
 			s->ctx_data.tx.cache.tail = 0;
 			s->ctx_data.tx.cache.descs = kcalloc(s->ctx_data.tx.cache.size,
 						sizeof(*s->ctx_data.tx.cache.descs), GFP_KERNEL);
-			if (!s->ctx_data.tx.cache.descs)
+			if (!s->ctx_data.tx.cache.descs) {
+				err = -ENOMEM;
 				goto err_context;
+			}
 		}
 	} else {
 		static const struct {
@@ -1643,8 +1645,10 @@  static int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed,
 		};
 
 		s->ctx_data.rx.seq.descs = kcalloc(queue_size, sizeof(*s->ctx_data.rx.seq.descs), GFP_KERNEL);
-		if (!s->ctx_data.rx.seq.descs)
+		if (!s->ctx_data.rx.seq.descs) {
+			err = -ENOMEM;
 			goto err_context;
+		}
 		s->ctx_data.rx.seq.size = queue_size;
 		s->ctx_data.rx.seq.tail = 0;
 		s->ctx_data.rx.seq.head = 0;