On 05/10/2022 16:08, Beata Michalska wrote:
The trace event framework lacks support for capabilities (not on its own but does suffer from one) [...]
It's not clear to me what is meant to be conveyed in the brackets here - maybe needs a rephrase?
[...] and casting a user pointer to a type that cannot actually hold a CHERI capability brings its own issues, so, for the time being, use user_ptr_addr to extract the address from a user pointer of interest.
Signed-off-by: Beata Michalska beata.michalska@arm.com
include/trace/events/signal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/trace/events/signal.h b/include/trace/events/signal.h index 1db7e4b07c01..f3a83f8ce9ce 100644 --- a/include/trace/events/signal.h +++ b/include/trace/events/signal.h @@ -103,14 +103,14 @@ TRACE_EVENT(signal_deliver, __field( int, sig ) __field( int, errno ) __field( int, code )
__field( unsigned long, sa_handler )
__field( unsigned long, sa_flags ) ),__field( ptraddr_t, sa_handler )
TP_fast_assign( __entry->sig = sig; TP_STORE_SIGINFO(__entry, info);
__entry->sa_handler = (unsigned long)ka->sa.sa_handler;
__entry->sa_flags = ka->sa.sa_flags; ),__entry->sa_handler = user_ptr_addr(ka->sa.sa_handler);