From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (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 8DD7D401481 for ; Thu, 12 Mar 2026 19:11:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773342707; cv=none; b=reda4MFmJJ+UvD4D6C2n+Ci5643bp3jjN6VH+no5DhRCDMTilglh9NLZ69GUWRF4BDTQluxZ4MrcLXSnBrLiezUIrkLjSx61p32rKZ+2ZZeIo5eMPEtAA1uUPIC95MFMUV5cM/s/03P5Vi4viazuH5zEV+60sogEZa6Wb/OmYS4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773342707; c=relaxed/simple; bh=ucLeCOCDouCO7UufOBxTBTI1pPSlVnt7A7p1S/jHbcE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=P86tLonveDXFHsZ9Iz/87Pt+Qq3EyHI5IosgoadEARiNsIe8NnUA3zjwz2nhjKaXI/AK0ueT8snCm9wqpHVldMqk7XLBSejIIVTQYBi1B3RaJ95pAjdbmdRYI/RhcTCXG/SME4b+OQBRpCNQCH86aHZZ0jv+kGhK24qo4HrzXf8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZuhpkNTN; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZuhpkNTN" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5a142464316so1891490e87.1 for ; Thu, 12 Mar 2026 12:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773342705; x=1773947505; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1oYoshde2XtkYb9vO2NHUjUuyf39EF1O91LJtB3a3dI=; b=ZuhpkNTNAhq3VvUFf+cwx+BjBV0lR1DmfaDoxKsaPBMraQRkBs23JOwgCa9jUoxvBn kPpPiZ+xhwoKn4RLcj6bKzZQdPOUZYfFL39zxYYzCZCQOUWXnIuZf5uBWJMOhJu36OH3 gtd6/2zzx6xT4ZqfJs1e/uGX10KuDfePTiLQ7WdM4OqirLHbSSgkOE2WCKv7wki2v1r0 isGSEZhSURQ8oMF0S55bNy381E8t0Jb4//zQhfsXsVY+D2z41NCZOLlHPIcpRB9f2M1U Hpnm7Ho20zeopt/eYnWYJzkAEM00LxvCivYDgL129WW4iVDCuamltcqk/q3HeMcYIa/E 22Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773342705; x=1773947505; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1oYoshde2XtkYb9vO2NHUjUuyf39EF1O91LJtB3a3dI=; b=QjecwsYcyHYT8DKbFbqqKVYQQOLorOctdmOESSzFgNL0pPCyQ6hSFbEFqIl++nsVWt GXowsFdY/0o2ENsb0DbGH5iQ5kP1WFgsVUTadqtttcY/AnIrDNuibTAiTBp6Ryx25Ed8 xR5jkOrmDD1dRPc7gn449f9h3iFUB1GB5+zNomGp1RVuPmaUPcB8/8Jzqj28gqZOvHA0 Q7W4iun2oZfL9C5ujswmBUJaGUFADSuy8K3bec8tp/JkON8ikTyEivi+GgECFXu5WljG +dWpaqGxFzIasda97z5mOrq2EcWqvoW/KDZR5d8A1NI9NTsPSVLWO/QI0hmmFw4R237/ Jimw== X-Forwarded-Encrypted: i=1; AJvYcCV0N3x8l0GXgjU56APivAeptC/8xsAFTQuOeWzDX77GC+wHfGqSEB/4xoMsI2b1R65Z1P5Y4LVl/4lcOPc=@vger.kernel.org X-Gm-Message-State: AOJu0YwX0pfH6xD2Q/8hppVTy9dLAkuguf/LAISFXHGTeemwuw+oygQN NqlEQb8QtH1zP3hNNRdW12bG7fb3Lh4DQBnKzX1l1sPib7vQQG/XIwZK X-Gm-Gg: ATEYQzztIvXTivCCZ7hDI0+YlTwXkWr5nlYai/BMnuEEbWZyBpa9Q5KfmdoqKpC8uQu QiBvhPAITIc330fI1b5JBPcDFgkgQ7BzwqWw+TVcacSWjUd9PX2DHSU5t8Uj3L/1Awd0WGGBbLY /7SOp9XegGogBI6tCjf55E7UxvRz1SMA/W5TX/F4tscWa8Be6t14ySZuQj2IzqEkCHR73sgsGP1 tmxReM7Y3FlJ738m4PxLRWAKTujZFOTPSeqzG1XWcoW8qiNL1G3s0BdF7vqXzNKEnFTrj48uWr8 90HxBPRe9+r21Z9QGmspXJhxtbWdzH7+WR7Gr4FIoPU/K5jn9CDjTFkHwwf4AQ7pf/JMfC7XU5O ve1KHzwbWbfgsCR9qyluy5suB2rI10NCGlpEY+nkvEIp3csA7nOV7Ee7ySr75S7XL6flSzEm+Vp A635toNNEd5sNHZU6y5KAHBf8syCr4pcdXu8t+KmFCq5EOpUGpHjQt5LJzBWnnTsfrzNXeJ2s= X-Received: by 2002:a05:6512:61d5:10b0:5a1:23fe:1b71 with SMTP id 2adb3069b0e04-5a1626f88aemr179518e87.3.1773342704589; Thu, 12 Mar 2026 12:11:44 -0700 (PDT) Received: from ubuntu.. (static.159.107.27.37.clients.your-server.de. [37.27.107.159]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a156375198sm1112249e87.88.2026.03.12.12.11.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 12:11:44 -0700 (PDT) From: Josh Law X-Google-Original-From: Josh Law To: Masami Hiramatsu , Andrew Morton Cc: Josh Law , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH v2 1/3] lib/bootconfig: fix off-by-one in xbc_verify_tree() unclosed brace error Date: Thu, 12 Mar 2026 19:11:41 +0000 Message-Id: <20260312191143.28719-2-objecting@objecting.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260312191143.28719-1-objecting@objecting.org> References: <20260312191143.28719-1-objecting@objecting.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Josh Law __xbc_open_brace() pushes entries with post-increment (open_brace[brace_index++]), so brace_index always points one past the last valid entry. xbc_verify_tree() reads open_brace[brace_index] to report which brace is unclosed, but this is one past the last pushed entry and contains stale/zero data, causing the error message to reference the wrong node. Use open_brace[brace_index - 1] to correctly identify the unclosed brace. brace_index is known to be > 0 here since we are inside the if (brace_index) guard. Signed-off-by: Josh Law --- lib/bootconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bootconfig.c b/lib/bootconfig.c index 2bcd5c2aa87e..a1e6a2e14b01 100644 --- a/lib/bootconfig.c +++ b/lib/bootconfig.c @@ -802,7 +802,7 @@ static int __init xbc_verify_tree(void) /* Brace closing */ if (brace_index) { - n = &xbc_nodes[open_brace[brace_index]]; + n = &xbc_nodes[open_brace[brace_index - 1]]; return xbc_parse_error("Brace is not closed", xbc_node_get_data(n)); } -- 2.34.1