Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp672880lqp; Sat, 13 Apr 2024 14:13:38 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUpE87eiRar6t7vJU+4HVQQ/wBfjnaKNb5u823BfItz9NTKs4v9VfrwLy/x79jerLT6iv/3litBCoSztuZAVJmqUWMk2SmM9W8INPLmbA== X-Google-Smtp-Source: AGHT+IHjGNCUZNKQh0cIi8X6g++K8s9832V7Qzdadu+cPlw4SVqrDjpsFmyVq5E95TqVed6KmF1V X-Received: by 2002:a50:9353:0:b0:56d:f47c:5308 with SMTP id n19-20020a509353000000b0056df47c5308mr3836090eda.34.1713042818111; Sat, 13 Apr 2024 14:13:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713042818; cv=pass; d=google.com; s=arc-20160816; b=Hu6tDV386QDkY94czL3Q5bCsfW9dvPnuyURTOxLTlgVxIjAv2CWsi7n2LdE4tdtFXg G+kYlluZnAgt3U3iWn2TWD77WbeZ38IeYfTd3yiKvAqBf59AK24b+yglqAwBQJfBydD2 PK1SHpn85IXqH74WmemLdMDzg3Pmb7LXDSX8bgUSgWM9uddMI5Y83cgUDj518JTz0qwl W1bFU0lxI2jE4TVW6LEU0kbg1NR//TKmrN2cTzShCS3ppCHHgDgzllNeNmAvlfMrFQ+J 5X62rM/eGW+vuburDn1OJ34EieFAh1if0j3ET7XhH6oLoGjxWP1JjwImKSA01FBBGlbZ /7sg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:feedback-id:dkim-signature:dkim-signature; bh=Vb15qo2kI4aLnF/tBRyhuoRFKr8FftX5ce1CP89OW5U=; fh=bHDREpyyZTG/Lqc5HMHhD72p1ga/cQluoC9MOh8PHDA=; b=caQZSlzMhzsQkTvs8lgoGujolyGp0OYtftks8e1cS3wsI3Zncb6/vc2ukr4N03n2qX BmWUukcafmFWptZdKCQD0DIX7/hHRXXIfywno5ITE6qp275nEH9nSFqodwwTNKqnLQOD JKoEuXA4oSws2N1fIXj1T95FuZ9mfhkZ9M7abjrXIQXCaD5vqJrjA8ww3dhL2n1jeiMO UMyXL8bRtqUDiYQIqOpajN4vccLCzCX18dIOCB6P5OsA3fFOs+5o1RBZxrfo92YUII/c Yy1bvZYhUXMGp4L2VPtETirCNR9DxSveW7G0adGjIz8YIqMJD2xrA3pnOYAV0AdAOTBY b1+Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@naccy.de header.s=fm1 header.b="guA0T/K0"; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=TN9PY7j4; arc=pass (i=1 spf=pass spfdomain=naccy.de dkim=pass dkdomain=naccy.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=naccy.de); spf=pass (google.com: domain of linux-kernel+bounces-143876-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-143876-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=naccy.de Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id f12-20020a0564021e8c00b0056dc70cfc95si2934007edf.497.2024.04.13.14.13.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Apr 2024 14:13:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-143876-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@naccy.de header.s=fm1 header.b="guA0T/K0"; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=TN9PY7j4; arc=pass (i=1 spf=pass spfdomain=naccy.de dkim=pass dkdomain=naccy.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=naccy.de); spf=pass (google.com: domain of linux-kernel+bounces-143876-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-143876-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=naccy.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id D45C31F213B9 for ; Sat, 13 Apr 2024 21:13:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3079056B80; Sat, 13 Apr 2024 21:13:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=naccy.de header.i=@naccy.de header.b="guA0T/K0"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="TN9PY7j4" Received: from wfout3-smtp.messagingengine.com (wfout3-smtp.messagingengine.com [64.147.123.146]) (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 0F23F55E4F; Sat, 13 Apr 2024 21:13:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=64.147.123.146 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713042795; cv=none; b=djBOzK2oiAuIeI50yqHqXyGWznsWLiVXNfwu6J9VOqatWTCfKhfbNZMH+tNzkhy5Tp6eKpSyqNjK+wrHFB1G4YEQnKVsCN4/3XVTgB41ysmNc4ua8FT1zoUWusw4JvJZwL28VZJ31tRD0/dGwjqGsgb1aKvhqx9aQt+apbPSFT4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713042795; c=relaxed/simple; bh=TnwOVpWbbZtVgN6LqfHmT/tXLz+PEvXIlov2jxXkZNs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F/3scqmaZ6jdDQ1sHSeCWKQ6fD4/cHfJ4y5iJSRllKhKsFiOy0A4KeN2MLTmmsb1+cqW260HkWqqt/vZj3yeg0UeZwnPS6oZFU6UjtGUA6Kj4dS1gXNir1XBnycJAbEkEdZk3sQcf3+/43ij0SrhrQp7Nt8qNkrR4BdK2ReQnOU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naccy.de; spf=pass smtp.mailfrom=naccy.de; dkim=pass (2048-bit key) header.d=naccy.de header.i=@naccy.de header.b=guA0T/K0; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=TN9PY7j4; arc=none smtp.client-ip=64.147.123.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naccy.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=naccy.de Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfout.west.internal (Postfix) with ESMTP id 97C6A1C000FC; Sat, 13 Apr 2024 17:13:10 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Sat, 13 Apr 2024 17:13:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=naccy.de; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1713042790; x= 1713129190; bh=Vb15qo2kI4aLnF/tBRyhuoRFKr8FftX5ce1CP89OW5U=; b=g uA0T/K0knLMUDBpeID1XaHLwE8KWxFh3IA1WuTTYxaU8BwBoU7ojFg5GNgLkFmKr GZkM0GPL5bR6TwDNuEv2+hIuxIp+Esl9QUYLttl/cVDSi933aInI098BCHMAYZAh fBw90obEnQAxq6Kxrkz1kgLwoKmjvukKlHj5FIs3qZZyPYJCfyFGeESpS2ij4pLZ jeTj03eZfUG/Oqr6CHZn1AwcXwNcu+49iUgW8eYrXU0reumTUtqtTAWvtEz3t5Xj 8ROAm3i/efb9VsS3oBd/vWVqQMpipooKO373OoJQ3ioWpoTW+fMKiZQPzXBxDFAc A6NXvMAAvbmoyzPfwiXQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1713042790; x= 1713129190; bh=Vb15qo2kI4aLnF/tBRyhuoRFKr8FftX5ce1CP89OW5U=; b=T N9PY7j4Ukliqeit4AbbaRTLSFafwV8onDZt0Zdr3TbHJ5gkut289ZW7owF5hx9TA ESfPTPoGmejr3gZEjFM3c/FTgOn0aVmrEy//CcRqoCv+hhmu5nv3spRIggwl3d5+ bQ3LVH/WLdxR1aZBT664afNLuM8bkZcMlwNXaGu5KHnNIiwZA9KmuEbsugw9YKki w7Y3SWDmFpJCi7VTycdOsWKj7mRO1eZ88b9yqPZWxlFqQBv1a9Re4fxKlRSL2452 5Iv9l9gxx12cT6EerssCOLc3kUB8Xv71CxfDfvtwgV0xr0Gavp0Q+EeIxQi3LZGe gu6dm/Dp68cXreZRHZm+A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeiiedgudeiudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefsuhgv nhhtihhnucffvghslhgrnhguvghsuceoqhguvgesnhgrtggthidruggvqeenucggtffrrg htthgvrhhnpeevieehjedtveevueeujedtveehtddugfeukeeffeettddttddtleehudeh feetleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hquggvsehnrggttgihrdguvg X-ME-Proxy: Feedback-ID: i14194934:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 13 Apr 2024 17:13:07 -0400 (EDT) From: Quentin Deslandes To: bpf@vger.kernel.org Cc: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , linux-kernel@vger.kernel.org, kernel-team@meta.com, Quentin Deslandes Subject: [PATCH 1/2] libbpf: fix misaligned array closing bracket Date: Sat, 13 Apr 2024 23:12:57 +0200 Message-ID: <20240413211258.134421-2-qde@naccy.de> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240413211258.134421-1-qde@naccy.de> References: <20240413211258.134421-1-qde@naccy.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In btf_dump_array_data(), libbpf will call btf_dump_dump_type_data() for each element. For an array of characters, each element will be processed the following way: - btf_dump_dump_type_data() is called to print the character - btf_dump_data_pfx() prefixes the current line with the proper number of indentations - btf_dump_int_data() is called to print the character - After the last character is printed, btf_dump_dump_type_data() calls btf_dump_data_pfx() before writing the closing bracket However, for an array containing characters, btf_dump_int_data() won't print any '\0' and subsequent characters. This leads to situations where the line prefix is written, no character is added, then the prefix is written again before adding the closing bracket: (struct sk_metadata){ .str_array = (__u8[14])[ 'H', 'e', 'l', 'l', 'o', ], This change solves this issue by printing the '\0' character, which has two benefits: - The bracket closing the array is properly aligned - It's clear from a user point of view that libbpf uses '\0' as a terminator for arrays of characters. Signed-off-by: Quentin Deslandes --- tools/lib/bpf/btf_dump.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/lib/bpf/btf_dump.c b/tools/lib/bpf/btf_dump.c index 4d9f30bf7f01..6a37e8517435 100644 --- a/tools/lib/bpf/btf_dump.c +++ b/tools/lib/bpf/btf_dump.c @@ -1929,6 +1929,7 @@ static int btf_dump_int_data(struct btf_dump *d, if (d->typed_dump->is_array_terminated) break; if (*(char *)data == '\0') { + btf_dump_type_values(d, "'\\0'"); d->typed_dump->is_array_terminated = true; break; } -- 2.44.0