[PATCH net v4] net: lan966x: fix parameter check in two functions

Minjie Du posted 1 patch 2 years, 6 months ago
drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH net v4] net: lan966x: fix parameter check in two functions
Posted by Minjie Du 2 years, 6 months ago
Make IS_ERR_OR_NULL() judge the vcap_get_rule() function return.
in lan966x_ptp_add_trap() and lan966x_ptp_del_trap().

Fixes: 72df3489fb10 ("net: lan966x: Add ptp trap rules")
Signed-off-by: Minjie Du <duminjie@vivo.com>
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
---
V2 -> V3: add 'Reviewed-by: Simon Horman' tag.
V2 -> V3: set the target tree in the subject and add 'Reviewed-by:' tag.
V1 -> V2: add Fixes tag.
V1: fix parameter check in two functions.
---
 drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
index 266a21a2d..59dd14247 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c
@@ -59,7 +59,7 @@ static int lan966x_ptp_add_trap(struct lan966x_port *port,
 	int err;
 
 	vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id);
-	if (vrule) {
+	if (!IS_ERR_OR_NULL(vrule)) {
 		u32 value, mask;
 
 		/* Just modify the ingress port mask and exit */
@@ -106,7 +106,7 @@ static int lan966x_ptp_del_trap(struct lan966x_port *port,
 	int err;
 
 	vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id);
-	if (!vrule)
+	if (IS_ERR_OR_NULL(vrule))
 		return -EEXIST;
 
 	vcap_rule_get_key_u32(vrule, VCAP_KF_IF_IGR_PORT_MASK, &value, &mask);
-- 
2.39.0
Re: [PATCH net v4] net: lan966x: fix parameter check in two functions
Posted by Jakub Kicinski 2 years, 6 months ago
On Mon, 17 Jul 2023 10:22:35 +0800 Minjie Du wrote:
>  	vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id);
> -	if (vrule) {
> +	if (!IS_ERR_OR_NULL(vrule)) {

Please make vcap_get_rule() return an error pointer rather than NULL.
Mixing the two is a common source of errors.
-- 
pw-bot: cr