Message ID | 20250321164537.16719-4-bboscaccy@linux.microsoft.com (mailing list archive) |
---|---|
State | Under Review |
Delegated to: | Paul Moore |
Headers | show |
Series | Introducing Hornet LSM | expand |
On Fri, Mar 21, 2025 at 09:45:05AM -0700, Blaise Boscaccy wrote: > This script eases lskel developments against hornet by generating the 1. What iskel? 2. Why hornet is here in lower case? > 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 <bboscaccy@linux.microsoft.com> > --- > 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 > -- > 2.48.1 > BR, Jarkko
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
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 <bboscaccy@linux.microsoft.com> --- scripts/hornet/extract-skel.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 scripts/hornet/extract-skel.sh