From patchwork Fri Mar 21 16:45:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Blaise Boscaccy X-Patchwork-Id: 14025782 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2AB0222DF8A; Fri, 21 Mar 2025 16:46:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742575587; cv=none; b=sLsBrBxJlFOXTujRlvfp7Gl9/lowmYQxw5TlfBhwdm6ViYFWdX85sLdTlsLagVhyFyiJtJF3J9kBMdnE4CD4pZiPLegaXR736HLW9T1VFQNsPsYigokVoNYI8q63yBc4O7QWUPQ/6niWx6cN8ch7OjZFIpUcS3nQfCbtr5WxCWA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742575587; c=relaxed/simple; bh=jQEKhYagKZnxJeEZcSf48KDXQoEqpwq7g7rCaaNBsdg=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dsxbdvC4Edw44DaZz4r+iWExQCoai5jWLcJHgphChkVRe80+z5nH4I6F9gh3tEuJTw3kNIHyXfoc15nUxV1gkeBXbh1enfqtFXMepqUP91ryi4gSWElNJVJZTNc0XigjTfJW0rU1BFaWptyZ4PzmbYGMKpKChn6Z3G9lI3gUQic= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=qjzGXKnt; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="qjzGXKnt" Received: from narnia.corp.microsoft.com (unknown [167.220.2.28]) by linux.microsoft.com (Postfix) with ESMTPSA id 68E0E2025387; Fri, 21 Mar 2025 09:46:18 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 68E0E2025387 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1742575585; bh=P9LyR8pi1VXUSmUxejT8lJYIiGK/ypJIKiMUYzd0hOs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=qjzGXKntmEFem+89nS5SJHQzVz0btQGimlBRvbeOrkQtp1a0eVN7Jh1Ura/vZbgn3 0+NSKw4GO06BFIV27GATLyPxopgY2nIprhyXf3if/BCxyzZzvzXG7U/GZwEAetERhe XqLyYAUjgnYaqX4Fp65lMSnrbXb4ET5G3IBEShE8= From: Blaise Boscaccy To: Jonathan Corbet , David Howells , Herbert Xu , "David S. Miller" , Paul Moore , James Morris , "Serge E. Hallyn" , Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Shuah Khan , =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , =?utf-8?q?G=C3=BCnt?= =?utf-8?q?her_Noack?= , Nick Desaulniers , Bill Wendling , Justin Stitt , Blaise Boscaccy , Jarkko Sakkinen , Jan Stancek , Neal Gompa , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, keyrings@vger.kernel.org, linux-crypto@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kselftest@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev, nkapron@google.com, teknoraver@meta.com, roberto.sassu@huawei.com, xiyou.wangcong@gmail.com Subject: [RFC PATCH security-next 3/4] hornet: Add an example lskel data extactor script Date: Fri, 21 Mar 2025 09:45:05 -0700 Message-ID: <20250321164537.16719-4-bboscaccy@linux.microsoft.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250321164537.16719-1-bboscaccy@linux.microsoft.com> References: <20250321164537.16719-1-bboscaccy@linux.microsoft.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-State: RFC This script eases lskel developments against hornet by generating the data payload used for code signing. It extracts the data out of the autogenerated lskel header that gets created via bpftool. Signed-off-by: Blaise Boscaccy --- scripts/hornet/extract-skel.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 scripts/hornet/extract-skel.sh diff --git a/scripts/hornet/extract-skel.sh b/scripts/hornet/extract-skel.sh new file mode 100755 index 0000000000000..9ace78794b85e --- /dev/null +++ b/scripts/hornet/extract-skel.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (c) 2025 Microsoft Corporation +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of version 2 of the GNU General Public +# License as published by the Free Software Foundation. + +function usage() { + echo "Sample script for extracting instructions and map data out of" + echo "autogenerated eBPF lskel headers" + echo "" + echo "USAGE: header_file output_file" + exit +} + +ARGC=$# + +EXPECTED_ARGS=2 + +if [ $ARGC -ne $EXPECTED_ARGS ] ; then + usage +else + printf $(gcc -E $1 | grep "static const char opts_insn" | \ + awk -F"=" '{print $2}' | sed 's/;\+$//' | sed 's/\"//g') > $2 + printf $(gcc -E $1 | grep "static const char opts_data" | \ + awk -F"=" '{print $2}' | sed 's/;\+$//' | sed 's/\"//g') >> $2 +fi