Make kernel tracer version global to the session daemon
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index 535a5b8e8c4035918f0e2665ac0af8f0e7ad8eda..35758e3bd02f252eaa90daa9719c7866a0f2b53f 100644 (file)
@@ -824,38 +824,38 @@ error:
 /*
  * Get kernel version and validate it.
  */
-int kernel_validate_version(int tracer_fd)
+int kernel_validate_version(int tracer_fd,
+               struct lttng_kernel_tracer_version *version,
+               struct lttng_kernel_tracer_abi_version *abi_version)
 {
        int ret;
-       struct lttng_kernel_tracer_version version;
-       struct lttng_kernel_tracer_abi_version abi_version;
 
-       ret = kernctl_tracer_version(tracer_fd, &version);
+       ret = kernctl_tracer_version(tracer_fd, version);
        if (ret < 0) {
                ERR("Failed to retrieve the lttng-modules version");
                goto error;
        }
 
        /* Validate version */
-       if (version.major != VERSION_MAJOR) {
+       if (version->major != VERSION_MAJOR) {
                ERR("Kernel tracer major version (%d) is not compatible with lttng-tools major version (%d)",
-                       version.major, VERSION_MAJOR);
+                       version->major, VERSION_MAJOR);
                goto error_version;
        }
-       ret = kernctl_tracer_abi_version(tracer_fd, &abi_version);
+       ret = kernctl_tracer_abi_version(tracer_fd, abi_version);
        if (ret < 0) {
                ERR("Failed to retrieve lttng-modules ABI version");
                goto error;
        }
-       if (abi_version.major != LTTNG_MODULES_ABI_MAJOR_VERSION) {
+       if (abi_version->major != LTTNG_MODULES_ABI_MAJOR_VERSION) {
                ERR("Kernel tracer ABI version (%d.%d) does not match the expected ABI major version (%d.*)",
-                       abi_version.major, abi_version.minor,
+                       abi_version->major, abi_version->minor,
                        LTTNG_MODULES_ABI_MAJOR_VERSION);
                goto error;
        }
        DBG2("Kernel tracer version validated (%d.%d, ABI %d.%d)",
-                       version.major, version.minor,
-                       abi_version.major, abi_version.minor);
+                       version->major, version->minor,
+                       abi_version->major, abi_version->minor);
        return 0;
 
 error_version:
This page took 0.025995 seconds and 5 git commands to generate.