[lttng-dev] [PATCH lttng-modules] fix: use user ns wrapper code in new id trackers

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Dec 17 12:23:33 EST 2019


Merged into master, thanks!

Mathieu

----- On Dec 17, 2019, at 12:11 PM, Michael Jeanson mjeanson at efficios.com wrote:

> These wrappers are required to translate kuid on kernels prior to v3.5.
> 
> Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
> ---
> probes/lttng-tracepoint-event-impl.h | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/probes/lttng-tracepoint-event-impl.h
> b/probes/lttng-tracepoint-event-impl.h
> index 39454fb..321cdfa 100644
> --- a/probes/lttng-tracepoint-event-impl.h
> +++ b/probes/lttng-tracepoint-event-impl.h
> @@ -11,7 +11,6 @@
> #include <linux/rculist.h>
> #include <asm/byteorder.h>
> #include <linux/swab.h>
> -#include <linux/uidgid.h>
> 
> #include <probes/lttng.h>
> #include <probes/lttng-types.h>
> @@ -20,6 +19,7 @@
> #include <wrapper/ringbuffer/frontend_types.h>
> #include <wrapper/ringbuffer/backend.h>
> #include <wrapper/rcu.h>
> +#include <wrapper/user_namespace.h>
> #include <lttng-events.h>
> #include <lttng-tracer-core.h>
> #include <lttng-tp-mempool.h>
> @@ -1146,19 +1146,19 @@ static void __event_probe__##_name(void *__data, _proto)
> 		      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->uid_tracker.p);		      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kuid(&init_user_ns, current_uid()))))	      \
> +			lttng_current_uid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->vuid_tracker.p);	      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kuid(current_user_ns(), current_uid()))))	      \
> +			lttng_current_vuid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->gid_tracker.p);		      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kgid(&init_user_ns, current_gid()))))	      \
> +			lttng_current_gid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->vgid_tracker.p);	      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kgid(current_user_ns(), current_gid()))))	      \
> +			lttng_current_vgid())))				      \
> 		return;							      \
> 	__orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
> 	__dynamic_len_idx = __orig_dynamic_len_offset;			      \
> @@ -1239,19 +1239,19 @@ static void __event_probe__##_name(void *__data)
> 			      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->uid_tracker.p);		      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kuid(&init_user_ns, current_uid()))))	      \
> +			lttng_current_uid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->vuid_tracker.p);	      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kuid(current_user_ns(), current_uid()))))	      \
> +			lttng_current_vuid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->gid_tracker.p);		      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kgid(&init_user_ns, current_gid()))))	      \
> +			lttng_current_gid())))				      \
> 		return;							      \
> 	__lf = lttng_rcu_dereference(__session->vgid_tracker.p);	      \
> 	if (__lf && likely(!lttng_id_tracker_lookup(__lf,		      \
> -			from_kgid(current_user_ns(), current_gid()))))	      \
> +			lttng_current_vgid())))				      \
> 		return;							      \
> 	__orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
> 	__dynamic_len_idx = __orig_dynamic_len_offset;			      \
> --
> 2.17.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list