Re: [PATCH] fix use after free in netlink_kernel_create()

David Miller
2006-08-14T04:01:40Z

From: Patrick McHardy <kaber@trash.net>
Date: Sun, 13 Aug 2006 20:49:06 +0200

> Andrew Morton wrote:
> > On Sun, 13 Aug 2006 13:52:58 +0200
> > Patrick McHardy <kaber@trash.net> wrote:
> >
> >>Quite a few users of netlink_kernel_create will panic when creating
> >>the socket fails (rtnetlink for example, which is always present),
> >>so you might as well call panic here directly.
> >
> >
> > That's a bit lame. Panicing at do_initcalls() time is OK (something is
> > seriously screwed anyway) but we usually try to handle the ENOMEM nicely if
> > it happens at modprobe-time.
>
> The users I looked at can't be built as modules (rtnetlink, genetlink,
> audit subsystem), I'm not aware of any modules panicing on
> netlink_kernel_create failure. But all of netlink, genetlink and
> rtnetlink are always built-in when CONFIG_NET=y, so we might as well
> panic here.

Agreed.

netlink_proto_init() is a core_initcall(), we are pretty much in
an irrecoverable bind if that thing fails, so panic() is appropriate
here.