* [PATCH 5.4.y 0/2] net: qede: return value conflict resolution
@ 2024-05-06 21:24 Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 1/2] net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() Asbjørn Sloth Tønnesen
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-05-06 21:24 UTC (permalink / raw)
To: stable; +Cc: Sasha Levin, Asbjørn Sloth Tønnesen
Thanks Sasha, for picking these fixes up. I have reviewed all the
queues and everything looks good.
Just for completeness sake, I have fixed the conflict in v5.4,
so it can also get the flower patch.
Asbjørn Sloth Tønnesen (2):
net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
net: qede: use return from qede_parse_flow_attr() for flower
drivers/net/ethernet/qlogic/qede/qede_filter.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 5.4.y 1/2] net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
2024-05-06 21:24 [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Asbjørn Sloth Tønnesen
@ 2024-05-06 21:24 ` Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 2/2] net: qede: use return from qede_parse_flow_attr() for flower Asbjørn Sloth Tønnesen
2024-05-11 13:44 ` [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Sasha Levin
2 siblings, 0 replies; 4+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-05-06 21:24 UTC (permalink / raw)
To: stable
Cc: Sasha Levin, Asbjørn Sloth Tønnesen, Simon Horman,
David S . Miller
[ Upstream commit e25714466abd9d96901b15efddf82c60a38abd86 ]
Explicitly set 'rc' (return code), before jumping to the
unlock and return path.
By not having any code depend on that 'rc' remains at
it's initial value of -EINVAL, then we can re-use 'rc' for
the return code of function calls in subsequent patches.
Only compile tested.
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: fcee2065a178 ("net: qede: use return from qede_parse_flow_attr() for flower")
[ resolved conflict in v5.4, no extack for qede_parse_actions() yet ]
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
---
drivers/net/ethernet/qlogic/qede/qede_filter.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c
index 5041994bf03f..69d9b4a32c56 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_filter.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c
@@ -1949,8 +1949,8 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto,
struct flow_cls_offload *f)
{
struct qede_arfs_fltr_node *n;
- int min_hlen, rc = -EINVAL;
struct qede_arfs_tuple t;
+ int min_hlen, rc;
__qede_lock(edev);
@@ -1960,8 +1960,10 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto,
}
/* parse flower attribute and prepare filter */
- if (qede_parse_flow_attr(edev, proto, f->rule, &t))
+ if (qede_parse_flow_attr(edev, proto, f->rule, &t)) {
+ rc = -EINVAL;
goto unlock;
+ }
/* Validate profile mode and number of filters */
if ((edev->arfs->filter_count && edev->arfs->mode != t.mode) ||
@@ -1969,12 +1971,15 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto,
DP_NOTICE(edev,
"Filter configuration invalidated, filter mode=0x%x, configured mode=0x%x, filter count=0x%x\n",
t.mode, edev->arfs->mode, edev->arfs->filter_count);
+ rc = -EINVAL;
goto unlock;
}
/* parse tc actions and get the vf_id */
- if (qede_parse_actions(edev, &f->rule->action))
+ if (qede_parse_actions(edev, &f->rule->action)) {
+ rc = -EINVAL;
goto unlock;
+ }
if (qede_flow_find_fltr(edev, &t)) {
rc = -EEXIST;
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 5.4.y 2/2] net: qede: use return from qede_parse_flow_attr() for flower
2024-05-06 21:24 [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 1/2] net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() Asbjørn Sloth Tønnesen
@ 2024-05-06 21:24 ` Asbjørn Sloth Tønnesen
2024-05-11 13:44 ` [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Sasha Levin
2 siblings, 0 replies; 4+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-05-06 21:24 UTC (permalink / raw)
To: stable
Cc: Sasha Levin, Asbjørn Sloth Tønnesen, Simon Horman,
David S . Miller
[ Upstream commit fcee2065a178f78be6fd516302830378b17dba3d ]
In qede_add_tc_flower_fltr(), when calling
qede_parse_flow_attr() then the return code
was only used for a non-zero check, and then
-EINVAL was returned.
qede_parse_flow_attr() can currently fail with:
* -EINVAL
* -EOPNOTSUPP
* -EPROTONOSUPPORT
This patch changes the code to use the actual
return code, not just return -EINVAL.
The blaimed commit introduced these functions.
Only compile tested.
Fixes: 2ce9c93eaca6 ("qede: Ingress tc flower offload (drop action) support.")
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/ethernet/qlogic/qede/qede_filter.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c
index 69d9b4a32c56..304bdc92bab4 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_filter.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c
@@ -1960,10 +1960,9 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto,
}
/* parse flower attribute and prepare filter */
- if (qede_parse_flow_attr(edev, proto, f->rule, &t)) {
- rc = -EINVAL;
+ rc = qede_parse_flow_attr(edev, proto, f->rule, &t);
+ if (rc)
goto unlock;
- }
/* Validate profile mode and number of filters */
if ((edev->arfs->filter_count && edev->arfs->mode != t.mode) ||
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 5.4.y 0/2] net: qede: return value conflict resolution
2024-05-06 21:24 [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 1/2] net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 2/2] net: qede: use return from qede_parse_flow_attr() for flower Asbjørn Sloth Tønnesen
@ 2024-05-11 13:44 ` Sasha Levin
2 siblings, 0 replies; 4+ messages in thread
From: Sasha Levin @ 2024-05-11 13:44 UTC (permalink / raw)
To: Asbjørn Sloth Tønnesen; +Cc: stable
On Mon, May 06, 2024 at 09:24:21PM +0000, Asbjørn Sloth Tønnesen wrote:
>Thanks Sasha, for picking these fixes up. I have reviewed all the
>queues and everything looks good.
>
>Just for completeness sake, I have fixed the conflict in v5.4,
>so it can also get the flower patch.
Queued up, thanks!
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-05-11 13:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-06 21:24 [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 1/2] net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() Asbjørn Sloth Tønnesen
2024-05-06 21:24 ` [PATCH 5.4.y 2/2] net: qede: use return from qede_parse_flow_attr() for flower Asbjørn Sloth Tønnesen
2024-05-11 13:44 ` [PATCH 5.4.y 0/2] net: qede: return value conflict resolution Sasha Levin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.