Re: [PATCH] OSS: dmabuf: fix negative DMAbuf_get_buffer_pointer() check

From: Takashi Iwai
Date: Fri Apr 18 2008 - 06:28:19 EST


At Thu, 17 Apr 2008 20:38:57 +0200,
Roel Kluin wrote:
>
> Too late for OSS?
> ---
> Since unsigned active_offs < 0 is even true when DMAbuf_get_buffer_pointer()
> returns negative
>
> Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx>

I applied it to my git tree. Thanks.


Takashi

> ---
> diff --git a/sound/oss/dmabuf.c b/sound/oss/dmabuf.c
> index eaf6997..1e90d76 100644
> --- a/sound/oss/dmabuf.c
> +++ b/sound/oss/dmabuf.c
> @@ -795,9 +795,9 @@ static int find_output_space(int dev, char **buf, int *size)
> #ifdef BE_CONSERVATIVE
> active_offs = dmap->byte_counter + dmap->qhead * dmap->fragment_size;
> #else
> - active_offs = DMAbuf_get_buffer_pointer(dev, dmap, DMODE_OUTPUT);
> + active_offs = max(DMAbuf_get_buffer_pointer(dev, dmap, DMODE_OUTPUT), 0);
> /* Check for pointer wrapping situation */
> - if (active_offs < 0 || active_offs >= dmap->bytes_in_use)
> + if (active_offs >= dmap->bytes_in_use)
> active_offs = 0;
> active_offs += dmap->byte_counter;
> #endif
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/