Re: 2.6.0-t1 garbage in /proc/ioports and oops

From: Andrew Morton (akpm@osdl.org)
Date: Sun Jul 27 2003 - 18:38:12 EST


Chris Ruvolo <chris@ruvolo.net> wrote:
>
> (adding alsa-devel)
>
> On Thu, Jul 17, 2003 at 09:15:33PM -0700, Andrew Morton wrote:
> > You could load all those modules one at a time, doing a `cat /proc/ioports'
> > after each one. One sneaky way of doing that would be to make your
> > modprobe executable be:
>
> Ok, this let me track it down to the ALSA snd-sbawe module. I did not have
> isapnp compiled into the kernel and was relying on the userspace isapnp to
> configure the device (carried over from 2.4). Apparently the module didn't
> like this.

OK, thanks for that.

>From my reading, snd_sb16_probe() is, in the case of !CONFIG_PNP, doing:

        /* block the 0x388 port to avoid PnP conflicts */
        acard->fm_res = request_region(0x388, 4, "SoundBlaster FM");

but this reservation is never undone. So later, after the module is
unloaded, a read of /proc/ioports is oopsing when trying to access that
string "SoundBlaster FM". Because it now resides in vfree'd memory.

The fix would be to run release_region() either at the end of
snd_sb16_probe() or on module unload.

Adam or Jaroslav, could you please take care of this?

Thanks.
-
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/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:33 EST