* [PATCH] hda-intel: Avoid divide by zero crash
@ 2010-02-06 15:46 Jody@Tritech
2010-02-07 8:25 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Jody@Tritech @ 2010-02-06 15:46 UTC (permalink / raw)
To: linux-kernel
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@nctritech.com>
--- 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 */
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] hda-intel: Avoid divide by zero crash
2010-02-06 15:46 [PATCH] hda-intel: Avoid divide by zero crash Jody@Tritech
@ 2010-02-07 8:25 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2010-02-07 8:25 UTC (permalink / raw)
To: Jody@Tritech; +Cc: linux-kernel
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@nctritech.com>
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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-02-07 8:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-06 15:46 [PATCH] hda-intel: Avoid divide by zero crash Jody@Tritech
2010-02-07 8:25 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox