diff mbox series

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

Message ID 20191217171111.6782-2-mjeanson@efficios.com
State Accepted, archived
Headers show
Series [lttng-modules] fix: use user ns wrapper code in new id trackers | expand

Commit Message

Michael Jeanson Dec. 17, 2019, 5:11 p.m. UTC
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(-)

Comments

Mathieu Desnoyers Dec. 17, 2019, 5:23 p.m. UTC | #1
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
diff mbox series

Patch

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;			      \