netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: Horatiu Vultur <horatiu.vultur@microchip.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	Steen.Hegelund@microchip.com, lars.povlsen@microchip.com,
	daniel.machon@microchip.com, richardcochran@gmail.com,
	UNGLinuxDriver@microchip.com, olteanv@gmail.com
Subject: Re: [PATCH net-next v3 1/4] net: microchip: vcap: Add vcap_get_rule
Date: Tue, 06 Dec 2022 13:31:53 +0100	[thread overview]
Message-ID: <256f533f019b6392b41701707eb7aa056b2f16c0.camel@redhat.com> (raw)
In-Reply-To: <20221203104348.1749811-2-horatiu.vultur@microchip.com>

Hello,

On Sat, 2022-12-03 at 11:43 +0100, Horatiu Vultur wrote:
> @@ -632,32 +264,22 @@ static int vcap_show_admin(struct vcap_control *vctrl,
>  			   struct vcap_admin *admin,
>  			   struct vcap_output_print *out)
>  {
> -	struct vcap_rule_internal *elem, *ri;
> +	struct vcap_rule_internal *elem;
> +	struct vcap_rule *vrule;
>  	int ret = 0;
>  
>  	vcap_show_admin_info(vctrl, admin, out);
> -	mutex_lock(&admin->lock);
>  	list_for_each_entry(elem, &admin->rules, list) {

Not strictly related to this patch, as the patter is AFAICS already
there in other places, but I'd like to understand the admin->rules
locking schema.

It looks like addition/removal are protected by admin->lock, but
traversal is usually lockless, which in turn looks buggy ?!?

Note: as this patch does not introduce the mentioned behavior, I'm not
going to block the series for the above.

Thanks,

Paolo
> -		ri = vcap_dup_rule(elem);
> -		if (IS_ERR(ri)) {
> -			ret = PTR_ERR(ri);
> -			goto err_unlock;
> +		vrule = vcap_get_rule(vctrl, elem->data.id);
> +		if (IS_ERR_OR_NULL(vrule)) {
> +			ret = PTR_ERR(vrule);
> +			break;
>  		}
> -		/* Read data from VCAP */
> -		ret = vcap_read_rule(ri);
> -		if (ret)
> -			goto err_free_rule;
> +
>  		out->prf(out->dst, "\n");
> -		vcap_show_admin_rule(vctrl, admin, out, ri);
> -		vcap_free_rule((struct vcap_rule *)ri);
> +		vcap_show_admin_rule(vctrl, admin, out, to_intrule(vrule));
> +		vcap_free_rule(vrule);
>  	}
> -	mutex_unlock(&admin->lock);
> -	return 0;
> -
> -err_free_rule:
> -	vcap_free_rule((struct vcap_rule *)ri);
> -err_unlock:
> -	mutex_unlock(&admin->lock);
>  	return ret;
>  }


  reply	other threads:[~2022-12-06 12:33 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-03 10:43 [PATCH net-next v3 0/4] net: lan966x: Enable PTP on bridge interfaces Horatiu Vultur
2022-12-03 10:43 ` [PATCH net-next v3 1/4] net: microchip: vcap: Add vcap_get_rule Horatiu Vultur
2022-12-06 12:31   ` Paolo Abeni [this message]
2022-12-07  8:30     ` Horatiu Vultur
2022-12-03 10:43 ` [PATCH net-next v3 2/4] net: microchip: vcap: Add vcap_mod_rule Horatiu Vultur
2022-12-03 10:43 ` [PATCH net-next v3 3/4] net: microchip: vcap: Add vcap_rule_get_key_u32 Horatiu Vultur
2022-12-03 10:43 ` [PATCH net-next v3 4/4] net: lan966x: Add ptp trap rules Horatiu Vultur
2022-12-08  9:25   ` Michael Walle
2022-12-08  9:27     ` Michael Walle
2022-12-08 13:04       ` Horatiu Vultur
2022-12-08 13:18         ` Michael Walle
2022-12-09  9:29           ` Horatiu Vultur
2022-12-09 12:10             ` Michael Walle
2022-12-09 12:58               ` Horatiu Vultur
2022-12-09 12:56                 ` Vladimir Oltean
2022-12-09 14:05                   ` Michael Walle
2022-12-09 14:14                     ` Vladimir Oltean
2022-12-09 14:20                     ` Horatiu Vultur
2022-12-09 14:23                       ` Michael Walle
2022-12-09 14:54                         ` Horatiu Vultur
2022-12-09 14:43                       ` Vladimir Oltean
2022-12-09 14:47                         ` Vladimir Oltean
2022-12-09 14:57                         ` Horatiu Vultur
2022-12-09 14:56                           ` Vladimir Oltean
2022-12-09 15:30                             ` Horatiu Vultur
2022-12-09 15:27                               ` Vladimir Oltean
2022-12-09 23:03                                 ` Jakub Kicinski
2022-12-12 14:27                                   ` Horatiu Vultur
2022-12-12 14:20                                 ` Horatiu Vultur
2023-01-05 15:09             ` Michael Walle
2023-01-05 21:55               ` Horatiu Vultur
2022-12-06 12:40 ` [PATCH net-next v3 0/4] net: lan966x: Enable PTP on bridge interfaces patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=256f533f019b6392b41701707eb7aa056b2f16c0.camel@redhat.com \
    --to=pabeni@redhat.com \
    --cc=Steen.Hegelund@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=daniel.machon@microchip.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horatiu.vultur@microchip.com \
    --cc=kuba@kernel.org \
    --cc=lars.povlsen@microchip.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=richardcochran@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).