[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161013.102718.1511430978252015336.davem@davemloft.net>
Date: Thu, 13 Oct 2016 10:27:18 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, kjlx@...pleofstupid.com, jhs@...atatu.com
Subject: Re: [Patch net] net_sched: reorder pernet ops and act ops
registrations
From: Cong Wang <xiyou.wangcong@...il.com>
Date: Tue, 11 Oct 2016 10:56:45 -0700
> Krister reported a kernel NULL pointer dereference after
> tcf_action_init_1() invokes a_o->init(), it is a race condition
> where one thread calling tcf_register_action() to initialize
> the netns data after putting act ops in the global list and
> the other thread searching the list and then calling
> a_o->init(net, ...).
>
> Fix this by moving the pernet ops registration before making
> the action ops visible. This is fine because: a) we don't
> rely on act_base in pernet ops->init(), b) in the worst case we
> have a fully initialized netns but ops is still not ready so
> new actions still can't be created.
>
> Reported-by: Krister Johansen <kjlx@...pleofstupid.com>
> Tested-by: Krister Johansen <kjlx@...pleofstupid.com>
> Cc: Jamal Hadi Salim <jhs@...atatu.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists