[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <03eee056-1b69-42a6-1423-a7088cbdd156@iogearbox.net>
Date: Fri, 18 May 2018 00:30:32 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: John Fastabend <john.fastabend@...il.com>, ast@...nel.org
Cc: netdev@...r.kernel.org
Subject: Re: [bpf PATCH v2 1/2] bpf: sockmap update rollback on error can
incorrectly dec prog refcnt
On 05/17/2018 11:06 PM, John Fastabend wrote:
> If the user were to only attach one of the parse or verdict programs
> then it is possible a subsequent sockmap update could incorrectly
> decrement the refcnt on the program. This happens because in the
> rollback logic, after an error, we have to decrement the program
> reference count when its been incremented. However, we only increment
> the program reference count if the user has both a verdict and a
> parse program. The reason for this is because, at least at the
> moment, both are required for any one to be meaningful. The problem
> fixed here is in the rollback path we decrement the program refcnt
> even if only one existing. But we never incremented the refcnt in
> the first place creating an imbalance.
>
> This patch fixes the error path to handle this case.
>
> Fixes: 2f857d04601a ("bpf: sockmap, remove STRPARSER map_flags and add multi-map support")
> Reported-by: Daniel Borkmann <daniel@...earbox.net>
> Signed-off-by: John Fastabend <john.fastabend@...il.com>
> Acked-by: Martin KaFai Lau <kafai@...com>
Applied to bpf tree, thanks!
Powered by blists - more mailing lists