Version 2.4.4
[lttng-modules.git] / lttng-context-hostname.c
index e38340b72ec7bf53f8272ddacac5cf7434212498..15aabe63c3f18bb31800f9b7ed61fc14dd6a859d 100644 (file)
@@ -49,8 +49,11 @@ void hostname_record(struct lttng_ctx_field *field,
        struct uts_namespace *ns;
        char *hostname;
 
-       rcu_read_lock();
-       nsproxy = task_nsproxy(current);
+       /*
+        * No need to take the RCU read-side lock to read current
+        * nsproxy. (documented in nsproxy.h)
+        */
+       nsproxy = current->nsproxy;
        if (nsproxy) {
                ns = nsproxy->uts_ns;
                hostname = ns->name.nodename;
@@ -60,7 +63,6 @@ void hostname_record(struct lttng_ctx_field *field,
                chan->ops->event_memset(ctx, 0,
                                LTTNG_HOSTNAME_CTX_LEN);
        }
-       rcu_read_unlock();
 }
 
 int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx)
@@ -79,7 +81,7 @@ int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx)
        field->event_field.type.u.array.elem_type.atype = atype_integer;
        field->event_field.type.u.array.elem_type.u.basic.integer.size = sizeof(char) * CHAR_BIT;
        field->event_field.type.u.array.elem_type.u.basic.integer.alignment = lttng_alignof(char) * CHAR_BIT;
-       field->event_field.type.u.array.elem_type.u.basic.integer.signedness = is_signed_type(char);
+       field->event_field.type.u.array.elem_type.u.basic.integer.signedness = lttng_is_signed_type(char);
        field->event_field.type.u.array.elem_type.u.basic.integer.reverse_byte_order = 0;
        field->event_field.type.u.array.elem_type.u.basic.integer.base = 10;
        field->event_field.type.u.array.elem_type.u.basic.integer.encoding = lttng_encode_UTF8;
@@ -87,6 +89,7 @@ int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx)
 
        field->get_size = hostname_get_size;
        field->record = hostname_record;
+       lttng_context_update(*ctx);
        wrapper_vmalloc_sync_all();
        return 0;
 }
@@ -95,3 +98,7 @@ EXPORT_SYMBOL_GPL(lttng_add_hostname_to_ctx);
 MODULE_LICENSE("GPL and additional rights");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Linux Trace Toolkit Perf Support");
+MODULE_VERSION(__stringify(LTTNG_MODULES_MAJOR_VERSION) "."
+       __stringify(LTTNG_MODULES_MINOR_VERSION) "."
+       __stringify(LTTNG_MODULES_PATCHLEVEL_VERSION)
+       LTTNG_MODULES_EXTRAVERSION);
This page took 0.024054 seconds and 4 git commands to generate.