Re: [PATCH] hda-intel: Avoid divide by zero crash

From: Takashi Iwai
Date: Sun Feb 07 2010 - 03:25:31 EST


At Sat, 06 Feb 2010 10:46:26 -0500,
Jody@Tritech wrote:
>
> On my AMD780V chipset, hda_intel.c can crash the kernel with a divide by
> zero
> for as-yet unknown reasons. A simple check for zero prevents it, though
> the problem that causes it remains. Since the workaround is harmless and
> won't affect anyone except victims of this bug, it should be safe;
> moreover,
> because this crash can be triggered by a user-mode application, there are
> denial of service implications on the systems affected by the bug without
> the patch.
> Signed-off-by: Jody Bruchon <jody@xxxxxxxxxxxxx>

Applied now. Thanks.


Takashi

> --- linux-2.6.33-rc6/sound/pci/hda/hda_intel.c 2010-01-29
> 16:57:50.000000000 -0500
> +++ linux-2.6.33-rc6-fix/sound/pci/hda/hda_intel.c 2010-02-06
> 09:44:10.028348166 -0500
> @@ -1878,6 +1878,12 @@
>
> if (!bdl_pos_adj[chip->dev_index])
> return 1; /* no delayed ack */
> + if (azx_dev->period_bytes == 0) {
> + printk(KERN_WARNING
> + "hda-intel: Divide by zero was avoided "
> + "in azx_dev->period_bytes.\n");
> + return 0;
> + }
> if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
> return 0; /* NG - it's below the period boundary */
> return 1; /* OK, it's fine */
>
> --
> 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/