[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20150531.002801.2081582008644330193.davem@davemloft.net>
Date: Sun, 31 May 2015 00:28:01 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: ast@...mgrid.com
Cc: daniel@...earbox.net, holzheu@...ux.vnet.ibm.com,
schwidefsky@...ibm.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] bpf: add missing rcu protection when
releasing programs from prog_array
From: Alexei Starovoitov <ast@...mgrid.com>
Date: Thu, 28 May 2015 19:26:02 -0700
> Normally the program attachment place (like sockets, qdiscs) takes
> care of rcu protection and calls bpf_prog_put() after a grace period.
> The programs stored inside prog_array may not be attached anywhere,
> so prog_array needs to take care of preserving rcu protection.
> Otherwise bpf_tail_call() will race with bpf_prog_put().
> To solve that introduce bpf_prog_put_rcu() helper function and use
> it in 3 places where unattached program can decrement refcnt:
> closing program fd, deleting/replacing program in prog_array.
>
> Fixes: 04fd61ab36ec ("bpf: allow bpf programs to tail-call other bpf programs")
> Reported-by: Martin Schwidefsky <schwidefsky@...ibm.com>
> Signed-off-by: Alexei Starovoitov <ast@...mgrid.com>
Applied, thank you.
--
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