From patchwork Fri Jun 2 02:35:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13264685 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E78C15BA for ; Fri, 2 Jun 2023 02:35:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E44EC433A7; Fri, 2 Jun 2023 02:35:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1685673355; bh=+VDxKsUYDvyMqHDVPGzyFg47QX+FsJyHX/y2Cmqnupo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ONzT9gRai+vG10BkP7YI/R+TdjXNj6TpfPtcNDZwDjrmHS8+cdtDoegn4EvPwJFe5 HtZO3R/NrqD8swQL56JR9wwd7dbq5Cw/nNi2QqFIKmr2BwWRasfgqao1FdYDSq5ZqK hQsxSBT9pIl1dUt1pdkOwZkME3yprVA3yFGDmS06rRGJTjfO6hGfRLsdE4F0ySEyNT ke17OxOtQH2+me4UPcGYwjqN4cV6tTGj1t1c3dccHRUQ/3Z7q22gKspsRpa1+d6Ezw mQmfcIUZPQGbNlOGklSRXKFmxRgF49eHLhJTVIxtNKWE8XoNCl+5khKuezTXgZFz5a 8XhBNHCFrerjQ== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, Jakub Kicinski Subject: [PATCH net-next 05/10] tools: ynl-gen: add error checking for nested structs Date: Thu, 1 Jun 2023 19:35:43 -0700 Message-Id: <20230602023548.463441-6-kuba@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230602023548.463441-1-kuba@kernel.org> References: <20230602023548.463441-1-kuba@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org Parsing nested types may return an error, propagate it. Not marking as a fix, because nothing uses YNL upstream. Signed-off-by: Jakub Kicinski --- tools/net/ynl/ynl-gen-c.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py index 2ceb4ce1423f..8bf4b70216d7 100755 --- a/tools/net/ynl/ynl-gen-c.py +++ b/tools/net/ynl/ynl-gen-c.py @@ -424,7 +424,8 @@ from lib import SpecFamily, SpecAttrSet, SpecAttr, SpecOperation, SpecEnumSet, S f"{self.enum_name}, &{var}->{self.c_name})") def _attr_get(self, ri, var): - get_lines = [f"{self.nested_render_name}_parse(&parg, attr);"] + get_lines = [f"if ({self.nested_render_name}_parse(&parg, attr))", + "return MNL_CB_ERROR;"] init_lines = [f"parg.rsp_policy = &{self.nested_render_name}_nest;", f"parg.data = &{var}->{self.c_name};"] return get_lines, init_lines, None