2022-08-31 17:42:36

by Jarkko Sakkinen

[permalink] [raw]
Subject: [PATCH v2 6/6] selftests/sgx: Add a bpftrace script for tracking allocation errors

Signed-off-by: Jarkko Sakkinen <[email protected]>
---
v2:
* Added comments.
---
tools/testing/selftests/sgx/alloc-error.bt | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 tools/testing/selftests/sgx/alloc-error.bt

diff --git a/tools/testing/selftests/sgx/alloc-error.bt b/tools/testing/selftests/sgx/alloc-error.bt
new file mode 100644
index 000000000000..0cc8b2e41852
--- /dev/null
+++ b/tools/testing/selftests/sgx/alloc-error.bt
@@ -0,0 +1,9 @@
+/* EPC allocation */
+kr:sgx_alloc_epc_page /(uint64)retval >= (uint64)(-4095)/ {
+ printf("sgx_alloc_epc_page: retval=%d\n", (int64)retval);
+}
+
+/* kzalloc for struct sgx_encl_page */
+kr:sgx_encl_page_alloc /(uint64)retval >= (uint64)(-4095)/ {
+ printf("sgx_encl_page_alloc: retval=%d\n", (int64)retval);
+}
--
2.37.2


2022-08-31 20:43:15

by Reinette Chatre

[permalink] [raw]
Subject: Re: [PATCH v2 6/6] selftests/sgx: Add a bpftrace script for tracking allocation errors

Hi Jarkko,

On 8/31/2022 10:38 AM, Jarkko Sakkinen wrote:
> Signed-off-by: Jarkko Sakkinen <[email protected]>
> ---
> v2:
> * Added comments.
> ---
> tools/testing/selftests/sgx/alloc-error.bt | 9 +++++++++
> 1 file changed, 9 insertions(+)
> create mode 100644 tools/testing/selftests/sgx/alloc-error.bt
>
> diff --git a/tools/testing/selftests/sgx/alloc-error.bt b/tools/testing/selftests/sgx/alloc-error.bt
> new file mode 100644
> index 000000000000..0cc8b2e41852
> --- /dev/null
> +++ b/tools/testing/selftests/sgx/alloc-error.bt
> @@ -0,0 +1,9 @@
> +/* EPC allocation */
> +kr:sgx_alloc_epc_page /(uint64)retval >= (uint64)(-4095)/ {
> + printf("sgx_alloc_epc_page: retval=%d\n", (int64)retval);
> +}
> +
> +/* kzalloc for struct sgx_encl_page */
> +kr:sgx_encl_page_alloc /(uint64)retval >= (uint64)(-4095)/ {
> + printf("sgx_encl_page_alloc: retval=%d\n", (int64)retval);
> +}

I did see you response in [1]. I continue to find this
addition very cryptic in that it assumes global familiarity
with BPF scripting which I do not think can be assumed. I
still think this script can benefit from a comment to describe
what the script does and how to use it.


Reinette


[1] https://lore.kernel.org/linux-sgx/[email protected]/

2022-09-01 22:41:00

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH v2 6/6] selftests/sgx: Add a bpftrace script for tracking allocation errors

On Wed, Aug 31, 2022 at 01:09:21PM -0700, Reinette Chatre wrote:
> Hi Jarkko,
>
> On 8/31/2022 10:38 AM, Jarkko Sakkinen wrote:
> > Signed-off-by: Jarkko Sakkinen <[email protected]>
> > ---
> > v2:
> > * Added comments.
> > ---
> > tools/testing/selftests/sgx/alloc-error.bt | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> > create mode 100644 tools/testing/selftests/sgx/alloc-error.bt
> >
> > diff --git a/tools/testing/selftests/sgx/alloc-error.bt b/tools/testing/selftests/sgx/alloc-error.bt
> > new file mode 100644
> > index 000000000000..0cc8b2e41852
> > --- /dev/null
> > +++ b/tools/testing/selftests/sgx/alloc-error.bt
> > @@ -0,0 +1,9 @@
> > +/* EPC allocation */
> > +kr:sgx_alloc_epc_page /(uint64)retval >= (uint64)(-4095)/ {
> > + printf("sgx_alloc_epc_page: retval=%d\n", (int64)retval);
> > +}
> > +
> > +/* kzalloc for struct sgx_encl_page */
> > +kr:sgx_encl_page_alloc /(uint64)retval >= (uint64)(-4095)/ {
> > + printf("sgx_encl_page_alloc: retval=%d\n", (int64)retval);
> > +}
>
> I did see you response in [1]. I continue to find this
> addition very cryptic in that it assumes global familiarity
> with BPF scripting which I do not think can be assumed. I
> still think this script can benefit from a comment to describe
> what the script does and how to use it.


I think I follow Dave's advice to use perf here. I'll
make a header which explains what the script does.

BR, Jarkko