[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 02 Feb 2010 15:55:25 +0100
From: Patrick McHardy <kaber@...sh.net>
To: Alexey Dobriyan <adobriyan@...il.com>
CC: davem@...emloft.net, netdev@...r.kernel.org, kuznet@....inr.ac.ru
Subject: Re: [PATCH] netlink: fix for too early rmmod
Alexey Dobriyan wrote:
> Netlink code does module autoload if protocol userspace is asking for is
> not ready. However, module can dissapear right after it was autoloaded.
> Example: modprobe/rmmod stress-testing and xfrm_user.ko providing NETLINK_XFRM.
>
> netlink_create() in such situation _will_ create userspace socket and
> _will_not_ pin module. Now if module was removed and we're going to call
> ->netlink_rcv into nothing:
>
> BUG: unable to handle kernel paging request at ffffffffa02f842a
> ^^^^^^^^^^^^^^^^
> modules are loaded near these addresses here
>
> ...
>
> If module was quickly removed after autoloading, return -E.
>
> Return -EPROTONOSUPPORT if module was quickly removed after autoloading.
>
> Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>
> ---
>
> NOTE: due to commit 513c25000005257e5474f261bf27d4a3c1dff1e3
> "[NETLINK]: Don't prevent creating sockets when no kernel socket is registered"
> error should probably be -ENOENT, but I have no idea what this
> pam-audit thing is.
Quoting from the thread back then (couldn't find a public reference):
> FC4 includes a pam-0.77-audit.patch which adds a pam module that
> uses libaudit to probe for audit availability. It calls audit_open
> and ignores connection refused but returns an pam error for all
> other errors.
The current version of libaudit properly checks for EPROTONOSUPPORT,
but I don't know when this was fixed and whether we can assume the
broken code is not used anymore.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists