X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fkernel.c;h=ae8349c897ded12d90bfc2d018ba1994e1822f63;hb=32af2c95c9494c282804964aed17bb2d57887505;hp=7bc713a35be7935250a0f96a63c480419c840706;hpb=1ae5e83e58569f50b38fde0afe3f2aa08010f354;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/kernel.c b/src/bin/lttng-sessiond/kernel.c index 7bc713a35..ae8349c89 100644 --- a/src/bin/lttng-sessiond/kernel.c +++ b/src/bin/lttng-sessiond/kernel.c @@ -16,7 +16,6 @@ */ #define _LGPL_SOURCE -#include #include #include #include @@ -49,7 +48,7 @@ int kernel_add_channel_context(struct ltt_kernel_channel *chan, DBG("Adding context to channel %s", chan->channel->name); ret = kernctl_add_context(chan->fd, &ctx->ctx); if (ret < 0) { - switch (errno) { + switch (-ret) { case ENOSYS: /* Exists but not available for this kernel */ ret = LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE; @@ -203,7 +202,7 @@ int kernel_create_event(struct lttng_event *ev, ret = kernctl_create_event(channel->fd, event->event); if (ret < 0) { - switch (errno) { + switch (-ret) { case EEXIST: break; case ENOSYS: @@ -215,7 +214,6 @@ int kernel_create_event(struct lttng_event *ev, default: PERROR("create event ioctl"); } - ret = -errno; goto free_event; } @@ -236,7 +234,7 @@ int kernel_create_event(struct lttng_event *ev, ret = kernctl_enable(event->fd); if (ret < 0) { - switch (errno) { + switch (-ret) { case EEXIST: ret = LTTNG_ERR_KERN_EVENT_EXIST; break; @@ -283,7 +281,6 @@ int kernel_disable_channel(struct ltt_kernel_channel *chan) ret = kernctl_disable(chan->fd); if (ret < 0) { PERROR("disable chan ioctl"); - ret = errno; goto error; } @@ -306,7 +303,7 @@ int kernel_enable_channel(struct ltt_kernel_channel *chan) assert(chan); ret = kernctl_enable(chan->fd); - if (ret < 0 && errno != EEXIST) { + if (ret < 0 && ret != -EEXIST) { PERROR("Enable kernel chan"); goto error; } @@ -331,7 +328,7 @@ int kernel_enable_event(struct ltt_kernel_event *event) ret = kernctl_enable(event->fd); if (ret < 0) { - switch (errno) { + switch (-ret) { case EEXIST: ret = LTTNG_ERR_KERN_EVENT_EXIST; break; @@ -362,7 +359,7 @@ int kernel_disable_event(struct ltt_kernel_event *event) ret = kernctl_disable(event->fd); if (ret < 0) { - switch (errno) { + switch (-ret) { case EEXIST: ret = LTTNG_ERR_KERN_EVENT_EXIST; break; @@ -393,7 +390,7 @@ int kernel_track_pid(struct ltt_kernel_session *session, int pid) if (!ret) { return LTTNG_OK; } - switch (errno) { + switch (-ret) { case EINVAL: return LTTNG_ERR_INVALID; case ENOMEM: @@ -415,7 +412,7 @@ int kernel_untrack_pid(struct ltt_kernel_session *session, int pid) if (!ret) { return LTTNG_OK; } - switch (errno) { + switch (-ret) { case EINVAL: return LTTNG_ERR_INVALID; case ENOMEM: @@ -836,7 +833,7 @@ int kernel_validate_version(int tracer_fd) ret = kernctl_tracer_version(tracer_fd, &version); if (ret < 0) { - ERR("Failed at getting the lttng-modules version"); + ERR("Failed to retrieve the lttng-modules version"); goto error; } @@ -848,11 +845,11 @@ int kernel_validate_version(int tracer_fd) } ret = kernctl_tracer_abi_version(tracer_fd, &abi_version); if (ret < 0) { - ERR("Failed at getting lttng-modules ABI version"); + ERR("Failed to retrieve lttng-modules ABI version"); goto error; } if (abi_version.major != LTTNG_MODULES_ABI_MAJOR_VERSION) { - ERR("Kernel tracer ABI version (%d.%d) is not compatible with expected ABI major version (%d.*)", + ERR("Kernel tracer ABI version (%d.%d) does not match the expected ABI major version (%d.*)", abi_version.major, abi_version.minor, LTTNG_MODULES_ABI_MAJOR_VERSION); goto error; @@ -866,6 +863,7 @@ error_version: ret = -1; error: + ERR("Kernel tracer version check failed; kernel tracing will not be available"); return ret; }