From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Pirko Subject: Re: [PATCH v3 04/11] net: sched: always take reference to action Date: Mon, 28 May 2018 16:19:37 +0200 Message-ID: <20180528141937.GB2173@nanopsycho> References: <20180527175739.GA3337@nanopsycho> <1527455849-22327-1-git-send-email-vladbu@mellanox.com> <1527455849-22327-5-git-send-email-vladbu@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, jhs@mojatatu.com, xiyou.wangcong@gmail.com, davem@davemloft.net, ast@kernel.org, daniel@iogearbox.net, kliteyn@mellanox.com To: Vlad Buslov Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:35550 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162041AbeE1OUB (ORCPT ); Mon, 28 May 2018 10:20:01 -0400 Received: by mail-wm0-f66.google.com with SMTP id o78-v6so32609375wmg.0 for ; Mon, 28 May 2018 07:20:01 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1527455849-22327-5-git-send-email-vladbu@mellanox.com> Sender: netdev-owner@vger.kernel.org List-ID: Sun, May 27, 2018 at 11:17:22PM CEST, vladbu@mellanox.com wrote: >Without rtnl lock protection it is no longer safe to use pointer to tc >action without holding reference to it. (it can be destroyed concurrently) > >Remove unsafe action idr lookup function. Instead of it, implement safe tcf >idr check function that atomically looks up action in idr and increments >its reference and bind counters. Implement both action search and check >using new safe function > >Reference taken by idr check is temporal and should not be accounted by >userspace clients (both logically and to preserver current API behavior). >Subtract temporal reference when dumping action to userspace using existing >tca_get_fill function arguments. > >Signed-off-by: Vlad Buslov Signed-off-by: Jiri Pirko