From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42D7A430300 for ; Mon, 27 Jul 2026 17:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785173208; cv=none; b=bVcUwYcSbm8GXwEM1p2wzrh5jvbxJqhii8BsYFXotSqSyC6Q/ebUR1i2fu2c6I0Ytkhek28Q8DIzDj8cXL+ImF9yX2irnEkABQ8+FaxC6f1W5QYil8maYqp6azl2ft7b29sBoqi6lAmdwtO7h40h1hJ+RFZV2/mYTnwxlOaOb1k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785173208; c=relaxed/simple; bh=DYJVjDY3Hh8r6nJ40O2QEGlKAbitjQ2tcYV4SgI2IgE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=pzhYY8Gqck/pgbl+S/x0cCaXEneE4U0OYXsOmSGB+wYi60w5UEQOMyU573bz5rOJn+LOmonvkq/ud9T+mTQEenRrVRJWwvAxEaEp7UyRZx5croqo5kuVRmYhdfEpQ0eSSuS7x4UvfUk1RuXCcD5RPSo/Qr9+k0R3bQuf2KsciBo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=dama.to; spf=none smtp.mailfrom=dama.to; dkim=pass (2048-bit key) header.d=dama-to.20251104.gappssmtp.com header.i=@dama-to.20251104.gappssmtp.com header.b=asI5DVfs; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=dama.to Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=dama.to Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=dama-to.20251104.gappssmtp.com header.i=@dama-to.20251104.gappssmtp.com header.b="asI5DVfs" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2cc73e322dbso28548135ad.1 for ; Mon, 27 Jul 2026 10:26:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dama-to.20251104.gappssmtp.com; s=20251104; t=1785173196; x=1785777996; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:mail-followup-to:message-id:subject:cc:to:from:date:from :to:cc:subject:date:message-id:reply-to:content-type; bh=nmWUnAlGsYxzTsFGMc342HIpAkEWy6v0F2egVQDfD7k=; b=asI5DVfsori3jEn0YiuADYZ2V37V/cXqv6jNrtr4dwcKzWsu+HOrgckEfeD5wz2k1G LzR+RL8IgQ9tNxXgEhGfoqxcb3Xk8bc5/2lJ1CBkQzDruxvW4iGjxz9zwGN0QZI66bth mHvvdehHJrLVVJ2a3saFjq0occUwxaJH5ubw/kHr53Ks1waQTwVu2qya+7zDoZDyYCus 02Vsp24396j3c57wrT+B9OQP8ABigzUrlhpRig9eSvRCjHEtaff/WszMe22GcEP3nxr2 DH1rt+K1ql5gpy3etwgBTAhKVAHRunn0KwJBcW8TFuqWssrOPJJxw+kDarN8Qd/siy2t C6jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785173196; x=1785777996; h=in-reply-to:content-disposition:content-type:mime-version :references:mail-followup-to:message-id:subject:cc:to:from:date :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=nmWUnAlGsYxzTsFGMc342HIpAkEWy6v0F2egVQDfD7k=; b=eYhqAn3DRg1pMukZzRXoWBeo3fkVuknzS0qm/Mk9BXyqyApUqPzEspkJ0yEDRBDE7V 4fpWrTcMtJJTY4wU4+lvrxekPyMyX0J65tlhyUniUYQ38jY+KQZS6Kk3tnDAqbMmVaZe m2x3IbybWpuk44WfQWOVbP1l5d5G7WX8C5ZYwdS9cZIPqb4+k8hU9Dk1GY6i/vdrfwdf juFqFaktwKeyBoCVnSkxgt0TulSCoErGj2WWYykQIwIjaUflUfki9ufFqa9UUWuJ6XdV 8p4Y6PPxENOVxtwpxxsuTX7mgy9eUnn0GgM65ErTZtIi9wu6Oyka71vpJSJsFfEMyle4 sfbg== X-Forwarded-Encrypted: i=1; AHgh+Rqb14aU7NqgWQVH/RjoalHwEeAxR63kE16xtHeB5oRMJFPD5fsPwMvp6AdvtygWo4j1dymAZw7jkKZiCb8=@vger.kernel.org X-Gm-Message-State: AOJu0Yzf4EVRvnw9QDw32pctBrnFoZcFbbRwQLc+MkNMtOZAb6dketSp rr6laJiTIZCkW8sYczR7c52Bv7Vsf/ddhq4nJWKURL7iApDO2Nzmnx00kvcK5DUArDc= X-Gm-Gg: AR+sD13UgCKB9NmCoOnYPoTgKrRINZBMMpHKjnoHVE4hh5JF2N2vrbshLJ2PF7ci664 X1yqTz6fKSpsTHr1JJV0tvDLGOcN9ArlLw2ARW1T273zYpygGnynUG5ypGdySD+kFvWTEOfGMEZ 7p39lQZr0JDv1C6P3bH57q0pmd6RGNj2Hq5sDTDoEmC+d/J+1bsQIp+Fi/Feby/brij5BobONRc /sCcK3h424M/ihGDmjSfwvihmOhjuLLo1yJpQd5bV0gW/UC9lL42U9v4tfJ8v5IEpznZ9+kETvB xysoVV63Pfhs9hBn4lqGEXIcVGlsCfk+1kBbB+pbIv4gevPFuheMeUfgKSW0DkXtIerK0bpU4IM lFlK1YkBJwJ1j2fcYL7LlfJj0uZlBGvy1NbF9NiKqkOXgtVUW5XMhDZgnU3M= X-Received: by 2002:a17:902:d4c6:b0:2ca:c68:c554 with SMTP id d9443c01a7336-2d00f45aab8mr1466035ad.38.1785173196275; Mon, 27 Jul 2026 10:26:36 -0700 (PDT) Received: from localhost ([2a03:2880:2ff:53::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cfde81cd27sm39388635ad.79.2026.07.27.10.26.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 10:26:35 -0700 (PDT) Date: Mon, 27 Jul 2026 10:26:34 -0700 From: Joe Damato To: Abdun Nihaal Cc: Steen.Hegelund@microchip.com, daniel.machon@microchip.com, UNGLinuxDriver@microchip.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH net] net: microchip: vcap api: Fix possible memory leak in vcap_decode_rule() Message-ID: Mail-Followup-To: Joe Damato , Abdun Nihaal , Steen.Hegelund@microchip.com, daniel.machon@microchip.com, UNGLinuxDriver@microchip.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <20260727125757.134611-1-nihaal@cse.iitm.ac.in> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260727125757.134611-1-nihaal@cse.iitm.ac.in> On Mon, Jul 27, 2026 at 06:27:55PM +0530, Abdun Nihaal wrote: > The memory allocated for struct vcap_rule_internal, keyfields and > actionfields inside vcap_dup_rule() are not freed in some of the error > paths in vcap_decode_rule(). Fix that by calling vcap_free_rule(). > > Fixes: 610c32b2ce66 ("net: microchip: vcap: Add vcap_get_rule") > Cc: stable@vger.kernel.org > Signed-off-by: Abdun Nihaal > --- > Compile tested only. Issue found using static analysis. > > drivers/net/ethernet/microchip/vcap/vcap_api.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api.c b/drivers/net/ethernet/microchip/vcap/vcap_api.c > index ff86cde11a32..0cc0db7b641b 100644 > --- a/drivers/net/ethernet/microchip/vcap/vcap_api.c > +++ b/drivers/net/ethernet/microchip/vcap/vcap_api.c > @@ -2427,18 +2427,21 @@ struct vcap_rule *vcap_decode_rule(struct vcap_rule_internal *elem) > > err = vcap_read_rule(ri); > if (err) > - return ERR_PTR(err); > + goto err; > > err = vcap_decode_keyset(ri); > if (err) > - return ERR_PTR(err); > + goto err; > > err = vcap_decode_actionset(ri); > if (err) > - return ERR_PTR(err); > + goto err; > > out: > return &ri->data; > +err: > + vcap_free_rule(&ri->data); > + return ERR_PTR(err); > } Not sure what the style guidelines say, but the label err and the local variable err having the same name is a bit confusing. Maybe you could make the label "out_err" and update the gotos instead? Either way, the code looks right other than the style nit, so if you resend you can apply my tag: Reviewed-by: Joe Damato