DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] graph: fix node shrink
@ 2023-01-19 10:32 David Marchand
  2023-01-19 13:57 ` [EXT] " Kiran Kumar Kokkilagadda
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Marchand @ 2023-01-19 10:32 UTC (permalink / raw)
  To: dev
  Cc: stable, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram, Pavan Nikhilesh

If the node id check failed, graph_lock was not taken before releasing.

Fixes: c59dac2ca14a ("graph: implement node operations")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 lib/graph/node.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/graph/node.c b/lib/graph/node.c
index fc6345de07..149414dcd9 100644
--- a/lib/graph/node.c
+++ b/lib/graph/node.c
@@ -300,16 +300,16 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
 		if (node->id == id) {
 			if (node->nb_edges < size) {
 				rte_errno = E2BIG;
-				goto fail;
+			} else {
+				node->nb_edges = size;
+				rc = size;
 			}
-			node->nb_edges = size;
-			rc = size;
 			break;
 		}
 	}
 
-fail:
 	graph_spinlock_unlock();
+fail:
 	return rc;
 }
 
-- 
2.39.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [EXT] [PATCH] graph: fix node shrink
  2023-01-19 10:32 [PATCH] graph: fix node shrink David Marchand
@ 2023-01-19 13:57 ` Kiran Kumar Kokkilagadda
  2023-01-23 13:32 ` Jerin Jacob
  2023-01-31 10:13 ` David Marchand
  2 siblings, 0 replies; 6+ messages in thread
From: Kiran Kumar Kokkilagadda @ 2023-01-19 13:57 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: stable, Jerin Jacob Kollanukkaran, Nithin Kumar Dabilpuram,
	Pavan Nikhilesh Bhagavatula



> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: 19 January 2023 04:03 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Kiran
> Kumar Kokkilagadda <kirankumark@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>
> Subject: [EXT] [PATCH] graph: fix node shrink
> 
> External Email
> 
> ----------------------------------------------------------------------
> If the node id check failed, graph_lock was not taken before releasing.
> 
> Fixes: c59dac2ca14a ("graph: implement node operations")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>

> ---
>  lib/graph/node.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/graph/node.c b/lib/graph/node.c index fc6345de07..149414dcd9
> 100644
> --- a/lib/graph/node.c
> +++ b/lib/graph/node.c
> @@ -300,16 +300,16 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t
> size)
>  		if (node->id == id) {
>  			if (node->nb_edges < size) {
>  				rte_errno = E2BIG;
> -				goto fail;
> +			} else {
> +				node->nb_edges = size;
> +				rc = size;
>  			}
> -			node->nb_edges = size;
> -			rc = size;
>  			break;
>  		}
>  	}
> 
> -fail:
>  	graph_spinlock_unlock();
> +fail:
>  	return rc;
>  }
> 
> --
> 2.39.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] graph: fix node shrink
  2023-01-19 10:32 [PATCH] graph: fix node shrink David Marchand
  2023-01-19 13:57 ` [EXT] " Kiran Kumar Kokkilagadda
@ 2023-01-23 13:32 ` Jerin Jacob
  2023-01-23 13:50   ` David Marchand
  2023-01-31 10:13 ` David Marchand
  2 siblings, 1 reply; 6+ messages in thread
From: Jerin Jacob @ 2023-01-23 13:32 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, stable, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram,
	Pavan Nikhilesh

On Thu, Jan 19, 2023 at 4:02 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> If the node id check failed, graph_lock was not taken before releasing.

Thanks for the fix.


Why not this oneline fix?

[main][dpdk.org] $ git diff
diff --git a/lib/graph/node.c b/lib/graph/node.c
index fc6345de07..89cdcf0207 100644
--- a/lib/graph/node.c
+++ b/lib/graph/node.c
@@ -293,8 +293,8 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
        rte_edge_t rc = RTE_EDGE_ID_INVALID;
        struct node *node;

-       NODE_ID_CHECK(id);
        graph_spinlock_lock();
+       NODE_ID_CHECK(id);

        STAILQ_FOREACH(node, &node_list, next) {
                if (node->id == id) {


>
> Fixes: c59dac2ca14a ("graph: implement node operations")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  lib/graph/node.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/graph/node.c b/lib/graph/node.c
> index fc6345de07..149414dcd9 100644
> --- a/lib/graph/node.c
> +++ b/lib/graph/node.c
> @@ -300,16 +300,16 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
>                 if (node->id == id) {
>                         if (node->nb_edges < size) {
>                                 rte_errno = E2BIG;
> -                               goto fail;
> +                       } else {
> +                               node->nb_edges = size;
> +                               rc = size;
>                         }
> -                       node->nb_edges = size;
> -                       rc = size;
>                         break;
>                 }
>         }
>
> -fail:
>         graph_spinlock_unlock();
> +fail:
>         return rc;
>  }
>
> --
> 2.39.0
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] graph: fix node shrink
  2023-01-23 13:32 ` Jerin Jacob
@ 2023-01-23 13:50   ` David Marchand
  2023-01-23 13:53     ` Jerin Jacob
  0 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2023-01-23 13:50 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, stable, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram,
	Pavan Nikhilesh

On Mon, Jan 23, 2023 at 2:33 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> On Thu, Jan 19, 2023 at 4:02 PM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > If the node id check failed, graph_lock was not taken before releasing.
>
> Thanks for the fix.
>
>
> Why not this oneline fix?
>
> [main][dpdk.org] $ git diff
> diff --git a/lib/graph/node.c b/lib/graph/node.c
> index fc6345de07..89cdcf0207 100644
> --- a/lib/graph/node.c
> +++ b/lib/graph/node.c
> @@ -293,8 +293,8 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
>         rte_edge_t rc = RTE_EDGE_ID_INVALID;
>         struct node *node;
>
> -       NODE_ID_CHECK(id);
>         graph_spinlock_lock();
> +       NODE_ID_CHECK(id);
>
>         STAILQ_FOREACH(node, &node_list, next) {
>                 if (node->id == id) {

Other calls to NODE_ID_CHECK input check are done out of the lock.
And to keep consistency with the rest of this library code.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] graph: fix node shrink
  2023-01-23 13:50   ` David Marchand
@ 2023-01-23 13:53     ` Jerin Jacob
  0 siblings, 0 replies; 6+ messages in thread
From: Jerin Jacob @ 2023-01-23 13:53 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, stable, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram,
	Pavan Nikhilesh

On Mon, Jan 23, 2023 at 7:21 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> On Mon, Jan 23, 2023 at 2:33 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
> >
> > On Thu, Jan 19, 2023 at 4:02 PM David Marchand
> > <david.marchand@redhat.com> wrote:
> > >
> > > If the node id check failed, graph_lock was not taken before releasing.
> >
> > Thanks for the fix.
> >
> >
> > Why not this oneline fix?
> >
> > [main][dpdk.org] $ git diff
> > diff --git a/lib/graph/node.c b/lib/graph/node.c
> > index fc6345de07..89cdcf0207 100644
> > --- a/lib/graph/node.c
> > +++ b/lib/graph/node.c
> > @@ -293,8 +293,8 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
> >         rte_edge_t rc = RTE_EDGE_ID_INVALID;
> >         struct node *node;
> >
> > -       NODE_ID_CHECK(id);
> >         graph_spinlock_lock();
> > +       NODE_ID_CHECK(id);
> >
> >         STAILQ_FOREACH(node, &node_list, next) {
> >                 if (node->id == id) {
>
> Other calls to NODE_ID_CHECK input check are done out of the lock.
> And to keep consistency with the rest of this library code.


Acked-by: Jerin Jacob <jerinj@marvell.com>


>
> --
> David Marchand
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] graph: fix node shrink
  2023-01-19 10:32 [PATCH] graph: fix node shrink David Marchand
  2023-01-19 13:57 ` [EXT] " Kiran Kumar Kokkilagadda
  2023-01-23 13:32 ` Jerin Jacob
@ 2023-01-31 10:13 ` David Marchand
  2 siblings, 0 replies; 6+ messages in thread
From: David Marchand @ 2023-01-31 10:13 UTC (permalink / raw)
  To: dev
  Cc: stable, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram, Pavan Nikhilesh

On Thu, Jan 19, 2023 at 11:32 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> If the node id check failed, graph_lock was not taken before releasing.
>
> Fixes: c59dac2ca14a ("graph: implement node operations")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>

> If the node id check failed, graph_lock was not taken before releasing.
>
> Fixes: c59dac2ca14a ("graph: implement node operations")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>

Applied, thanks.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-01-31 10:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19 10:32 [PATCH] graph: fix node shrink David Marchand
2023-01-19 13:57 ` [EXT] " Kiran Kumar Kokkilagadda
2023-01-23 13:32 ` Jerin Jacob
2023-01-23 13:50   ` David Marchand
2023-01-23 13:53     ` Jerin Jacob
2023-01-31 10:13 ` David Marchand

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).