Re: [Alsa-devel] [PATCH] Reset file->f_op in snd_card_file_remove()

From: Takashi Iwai
Date: Thu Sep 28 2006 - 08:51:26 EST


At Thu, 28 Sep 2006 13:39:06 +0200 (CEST),
karsten wiese wrote:
>
> --- Takashi Iwai <tiwai@xxxxxxx> schrieb:
>
> > At Wed, 27 Sep 2006 21:27:51 +0200,
> > Karsten Wiese wrote:
> > >
> > > Hi
> > >
> > > This patch helps prevent an oops on 2.6.18-rt3,
> > > when my usb usx2y soundcard disconnects.
> > > Physically disconnects or "rmmod uhci_hc" both oops 1in7.
> > >
> > > With this patch still no oops after > 1000 disconnects.
> > >
> > > Please apply/comment.
> > >
> > > thanks,
> > > Karsten
> > >
> > > ===
> > >
> > > Reset file->f_op in snd_card_file_remove()
> > >
> > > When passing here in response to an usb disconnect,
> > > file->f_op has been replaced with a kmalloc()ed version,
> > > that would only allow releases.
> > >
> > > It will be free()ed later on in snd_card_free().
> > > Here it happened sometimes, that the free()ed, not NULLed file->f_op
> > > caused an oops in module_put() called by fops_put() still later on.
> > >
> > > Signed-off-by: Karsten Wiese <annabellesgarden@xxxxxxxx>
> >
> > snd_card_file_remove() is not a right place to do that, IMO.
> >
> you are right, patch is wrong: it causes snd_hwdep's use count corruption.
>
> > Could you check whether this problem still happens on post-2.6.18?
> > There are a lot of fixes in this area after 2.6.18.
> >
> i'm now running 2.6.18-rt3 + alsa-driver-1.0.13rc1 and problem seams to be gone.

Good to hear. Thanks for confirmation!


Takashi
-
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/