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