From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) (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 5BA52306D2A for ; Fri, 7 Aug 2026 17:15:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.199 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786122906; cv=none; b=ExDIfuskIXFCSRs2q8S38O+/VAjd4IAbNTIxs2JDspKFUs8Yi91TXv0LHDEOea/qqc7bWtf3q+KXkUEze/pszqZKghoSlE9IhDsCRFFq2+shF+Blv+IBa7NspfpBtbLDAEmRSfy51U5OUhuABo9/FyvCgvnH1tOQrtaLzIKBBuw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786122906; c=relaxed/simple; bh=B86lZOWcfD8VsoPi7dHKyNrkavkB8ZlkCLBOTa9shf4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ZBaa4xKouhIzv2aKUdUW3tNTff7XgoTv/gsntu3l13gC6XHMSTq8LW3Cc1GLS1PQm9bMspvI3yPxv4Kd60wWrYNgb3X5YPoYRQ/ipz+P/EDJ7LpC/nqwxRMBwwKE7tMqfPR7hmlhOaUz0XsZ4MI+7BwlAUPGxwGicJz4v5H9qGQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--thaisonphan.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=nstyVDiy; arc=none smtp.client-ip=209.85.221.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--thaisonphan.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="nstyVDiy" Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-5c0fd6e8385so929850e0c.0 for ; Fri, 07 Aug 2026 10:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1786122904; x=1786727704; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=RuEaxoPBw1+WKiOtbncnQ6tQGAJ/e1/TXA6sNxcAvrI=; b=nstyVDiyP3mccPbRlcswWpBgempw8Rk05jGh2k+GbelmjGdHs6huHhMcaXPbHsP9bA UdcsDf4eDP7DjiSx0HgCcqvsh9lpm5hwxPCknWVcXcUeczaaHOWG4ohzRBft58cUEKtj vEf26QrJ2KmFlp1w04T7qCJmOrgtjPmeIrkThYbhtqr84FprRX8Htg3fapY9de4H//RJ mwXKAT5Z1vkdqTYIsiZRqrleV3PFRGx4Th6vmxYqVizC81nbNG7D2jrH+V6wAsqlS0hf pAu0fLiVrMqyeMkrqHy+Q7Zci4fXZ6teXUQKlGs+QD36UJDdi4wpdg1eloSCeLGcWZDB mQAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786122904; x=1786727704; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=RuEaxoPBw1+WKiOtbncnQ6tQGAJ/e1/TXA6sNxcAvrI=; b=RAA+EuXvPHOZJZwpVjm52W0ExkbILChocjvjq08YVQY3MMXgZm8KoYZq28CYunc3rY W8AxZgsFDLNZsUL7Mu8LRPbf1jNe0bkt2wSvkzs0TajZBFXRFewbQfkSJIKSls4G23tr strpA5dXgyhBFHoi3uAGCPi1KhtVfXBJAh3RqA3Tb2d8ECxnhNGOyxvIXI/9fjioJlq7 GPNOwM/se9vb7UYoQ5macauLMksAVnIDU4t1Uky25Xnej47XX3+QlN9ByrapJgo34pvD SmmeMttGkh4FgfWd80mQ6goODdlcybQnw/Fgrw5F78hD80z4a9Kqs3nrTssA54NjWdp4 gwyA== X-Forwarded-Encrypted: i=1; AHgh+RqdNp/Dna0CvKoj4dXgGQNHPhNuQPKpoqKfip0SPx+D7N16+NXQWUMsq6XKaEGk1YzQsb1iUP4P4x4MZRk=@vger.kernel.org X-Gm-Message-State: AOJu0YyDn3O9EP5YLpyOTqFUludqa38DxE/5YhJv4Ef9R7/F7iqZpKA6 K2lrFpLORp8yIKkj8OvLzKaHcOYopwj3ksImTWYjdTGHHUovFdXRZUye/a3rmXv6H/jdUkr8j/a MD3bY6XYkIBBxzYc1aFaVHX+lVQ== X-Received: from uabib25.prod.google.com ([2002:a05:6130:1c99:b0:95f:f376:3bef]) (user=thaisonphan job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6122:e253:b0:5c3:8568:d540 with SMTP id 71dfb90a1353d-5c4116a4417mr412661e0c.13.1786122904004; Fri, 07 Aug 2026 10:15:04 -0700 (PDT) Date: Fri, 7 Aug 2026 17:14:59 +0000 In-Reply-To: <20260807171500.7188-1-thaisonphan@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260807171500.7188-1-thaisonphan@google.com> X-Mailer: git-send-email 2.55.0.654.g21b8a5bc05-goog Message-ID: <20260807171500.7188-2-thaisonphan@google.com> Subject: [PATCH v2 net-next 1/2] tools: ynl: check for null ptr on dump free From: Thaison Phan To: Jakub Kicinski , Donald Hunter , "David S . Miller " , Eric Dumazet , Paolo Abeni Cc: Simon Horman , Fengyuan Gong , Stan Iliev , "=?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?=" , "Matthieu Baerts (NGI0)" , Thaison Phan , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Static analysis detected code paths where freeing a dump list after early errors when creating the corresponding dump list like in ynl_exec_dump() can result in a null pointer dereference since the first node in the ynl_dump_state would still be zero initialized. To prevent this potential problem updated the ynl c generation script to check for a NULL pointer before continuing to free the nodes in a dump list. Signed-off-by: Thaison Phan --- v1 -> v2: Updated to check for NULL outside of while loop to make intent of check more clear since there can not be a NULL while iterating the list (Suggested by Jakub Kicinski) v1: https://lore.kernel.org/netdev/20260803201652.2752685-2-thaisonphan@google.com/ tools/net/ynl/pyynl/ynl_gen_c.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/net/ynl/pyynl/ynl_gen_c.py b/tools/net/ynl/pyynl/ynl_gen_c.py index cdc3646f2642..95502dbaec94 100755 --- a/tools/net/ynl/pyynl/ynl_gen_c.py +++ b/tools/net/ynl/pyynl/ynl_gen_c.py @@ -2747,6 +2747,9 @@ def print_dump_type_free(ri): ri.cw.block_start() ri.cw.p(f"{sub_type} *next = rsp;") ri.cw.nl() + ri.cw.p('if (!next)') + ri.cw.p('return;') + ri.cw.nl() ri.cw.block_start(line='while ((void *)next != YNL_LIST_END)') _free_type_members_iter(ri, ri.struct['reply']) ri.cw.p('rsp = next;') -- 2.55.0.654.g21b8a5bc05-goog