All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Dan Carpenter <error27@gmail.com>
Cc: alsa-devel@alsa-project.org, kernel-janitors@vger.kernel.org,
	Takashi Iwai <tiwai@suse.com>, Maxime Ripard <mripard@kernel.org>
Subject: Re: [PATCH] ALSA: pci: lx6464es: fix a debug loop
Date: Thu, 26 Jan 2023 13:53:01 +0100	[thread overview]
Message-ID: <878rhptq36.wl-tiwai@suse.de> (raw)
In-Reply-To: <Y9JIGt0HT8mLkUXF@kili>

On Thu, 26 Jan 2023 10:30:02 +0100,
Dan Carpenter wrote:
> 
> This loop accidentally reuses the "i" iterator for both the inside and
> the outside loop.  The value of MAX_STREAM_BUFFER is 5.  I believe that
> chip->rmh.stat_len is in the 2-12 range.  If the value of .stat_len is
> 4 or more then it will loop exactly one time, but if it's less then it
> is a forever loop.
> 
> Fixes: 8e6320064c33 ("ALSA: lx_core: Remove useless #if 0 .. #endif")
> Signed-off-by: Dan Carpenter <error27@gmail.com>
> ---
>  sound/pci/lx6464es/lx_core.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/pci/lx6464es/lx_core.c b/sound/pci/lx6464es/lx_core.c
> index d3f58a3d17fb..7c1b380a54c0 100644
> --- a/sound/pci/lx6464es/lx_core.c
> +++ b/sound/pci/lx6464es/lx_core.c
> @@ -493,13 +493,11 @@ int lx_buffer_ask(struct lx6464es *chip, u32 pipe, int is_capture,
>  		dev_dbg(chip->card->dev,
>  			"CMD_08_ASK_BUFFERS: needed %d, freed %d\n",
>  			    *r_needed, *r_freed);
> -		for (i = 0; i < MAX_STREAM_BUFFER; ++i) {
> -			for (i = 0; i != chip->rmh.stat_len; ++i)
> -				dev_dbg(chip->card->dev,
> -					"  stat[%d]: %x, %x\n", i,
> -					    chip->rmh.stat[i],
> -					    chip->rmh.stat[i] & MASK_DATA_SIZE);
> -		}
> +		for (i = 0; i < chip->rmh.stat_len; ++i)

Judging from the previous lines, the access over MAX_STREAM_BUFFER
might be unsafe.  So I guess a more safer change would be something
like:

		for (i = 0; i < MAX_STREAM_BUFFER && chip->rmh.stat_len; ++i)

Care to resubmit with it?


Thanks!

Takashi

WARNING: multiple messages have this Message-ID (diff)
From: Takashi Iwai <tiwai@suse.de>
To: Dan Carpenter <error27@gmail.com>
Cc: Jaroslav Kysela <perex@perex.cz>,
	Maxime Ripard <mripard@kernel.org>, Takashi Iwai <tiwai@suse.com>,
	alsa-devel@alsa-project.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] ALSA: pci: lx6464es: fix a debug loop
Date: Thu, 26 Jan 2023 13:53:01 +0100	[thread overview]
Message-ID: <878rhptq36.wl-tiwai@suse.de> (raw)
In-Reply-To: <Y9JIGt0HT8mLkUXF@kili>

On Thu, 26 Jan 2023 10:30:02 +0100,
Dan Carpenter wrote:
> 
> This loop accidentally reuses the "i" iterator for both the inside and
> the outside loop.  The value of MAX_STREAM_BUFFER is 5.  I believe that
> chip->rmh.stat_len is in the 2-12 range.  If the value of .stat_len is
> 4 or more then it will loop exactly one time, but if it's less then it
> is a forever loop.
> 
> Fixes: 8e6320064c33 ("ALSA: lx_core: Remove useless #if 0 .. #endif")
> Signed-off-by: Dan Carpenter <error27@gmail.com>
> ---
>  sound/pci/lx6464es/lx_core.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/pci/lx6464es/lx_core.c b/sound/pci/lx6464es/lx_core.c
> index d3f58a3d17fb..7c1b380a54c0 100644
> --- a/sound/pci/lx6464es/lx_core.c
> +++ b/sound/pci/lx6464es/lx_core.c
> @@ -493,13 +493,11 @@ int lx_buffer_ask(struct lx6464es *chip, u32 pipe, int is_capture,
>  		dev_dbg(chip->card->dev,
>  			"CMD_08_ASK_BUFFERS: needed %d, freed %d\n",
>  			    *r_needed, *r_freed);
> -		for (i = 0; i < MAX_STREAM_BUFFER; ++i) {
> -			for (i = 0; i != chip->rmh.stat_len; ++i)
> -				dev_dbg(chip->card->dev,
> -					"  stat[%d]: %x, %x\n", i,
> -					    chip->rmh.stat[i],
> -					    chip->rmh.stat[i] & MASK_DATA_SIZE);
> -		}
> +		for (i = 0; i < chip->rmh.stat_len; ++i)

Judging from the previous lines, the access over MAX_STREAM_BUFFER
might be unsafe.  So I guess a more safer change would be something
like:

		for (i = 0; i < MAX_STREAM_BUFFER && chip->rmh.stat_len; ++i)

Care to resubmit with it?


Thanks!

Takashi

  reply	other threads:[~2023-01-26 12:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-26  9:30 [PATCH] ALSA: pci: lx6464es: fix a debug loop Dan Carpenter
2023-01-26  9:30 ` Dan Carpenter
2023-01-26 12:53 ` Takashi Iwai [this message]
2023-01-26 12:53   ` Takashi Iwai
2023-01-26 16:39   ` Dan Carpenter
2023-01-26 16:39     ` Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878rhptq36.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=error27@gmail.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=mripard@kernel.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.