lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 12 Feb 2010 18:03:34 +0100
From:	Takashi Iwai <tiwai@...e.de>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL] sound fixes

At Fri, 12 Feb 2010 08:51:29 -0800 (PST),
Linus Torvalds wrote:
> 
> 
> 
> On Fri, 12 Feb 2010, Takashi Iwai wrote:
> > 
> > Jody Bruchon (1):
> >       ALSA: hda-intel: Avoid divide by zero crash
> 
> I pulled, but I really think it should look more like:
> 
> > 
> > ---
> >  sound/pci/hda/hda_intel.c |    6 ++++++
> >  1 files changed, 6 insertions(+), 0 deletions(-)
> > 
> > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> > index b8faa6d..e767c3f 100644
> > --- a/sound/pci/hda/hda_intel.c
> > +++ b/sound/pci/hda/hda_intel.c
> > @@ -1893,6 +1893,12 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
> >  
> >  	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 (WARN_ONCE(!azx_dev->period_bytes, "hda-intel: zero azx_dev->period_bytes")
> 		return 0;
> 
> or something. It really doesn't want to warn multiple times, and by using 
> a WARN_ONCE() it will also get picked up by kerneloops etc.

Ah, right.

> Or if that zero period_bytes is normal under certain circumstances, then 
> there shouldn't be a printout at all.

This zero division shouldn't happen at all.  I've never seen this, and
this is the first report.  I suspect it being some bogus IRQ, but the
fix itself doesn't do wrong, so picked it up.

I'm going to fix to WARN_ONCE() quickly and send a pull request again.


Thanks!

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ