clang-tidy: add most bugprone warnings
[lttng-tools.git] / src / common / event-rule / kernel-kprobe.cpp
index 239373aa90136f21bcaf5a885cb2deb8b0de9587..bae7bdfa78380ac0e224cffae54ca77aee58d4a0 100644 (file)
 #include <common/payload-view.hpp>
 #include <common/payload.hpp>
 #include <common/runas.hpp>
-#include <ctype.h>
+
 #include <lttng/constant.h>
 #include <lttng/event-rule/event-rule-internal.hpp>
 #include <lttng/event-rule/event-rule.h>
 #include <lttng/event-rule/kernel-kprobe-internal.hpp>
 #include <lttng/kernel-probe-internal.hpp>
 #include <lttng/kernel-probe.h>
+
+#include <ctype.h>
 #include <stdio.h>
 
 #define IS_KPROBE_EVENT_RULE(rule) \
@@ -41,8 +43,7 @@ static void lttng_event_rule_kernel_kprobe_destroy(struct lttng_event_rule *rule
        free(kprobe);
 }
 
-static bool lttng_event_rule_kernel_kprobe_validate(
-               const struct lttng_event_rule *rule)
+static bool lttng_event_rule_kernel_kprobe_validate(const struct lttng_event_rule *rule)
 {
        bool valid = false;
        struct lttng_event_rule_kernel_kprobe *kprobe;
@@ -60,7 +61,7 @@ static bool lttng_event_rule_kernel_kprobe_validate(
        }
 
        /* Required field. */
-       if(!kprobe->location) {
+       if (!kprobe->location) {
                ERR("Invalid name event rule: a location must be set.");
                goto end;
        }
@@ -70,9 +71,8 @@ end:
        return valid;
 }
 
-static int lttng_event_rule_kernel_kprobe_serialize(
-               const struct lttng_event_rule *rule,
-               struct lttng_payload *payload)
+static int lttng_event_rule_kernel_kprobe_serialize(const struct lttng_event_rule *rule,
+                                                   struct lttng_payload *payload)
 {
        int ret;
        size_t name_len, header_offset, size_before_location;
@@ -93,8 +93,7 @@ static int lttng_event_rule_kernel_kprobe_serialize(
        name_len = strlen(kprobe->name) + 1;
        kprobe_comm.name_len = name_len;
 
-       ret = lttng_dynamic_buffer_append(
-                       &payload->buffer, &kprobe_comm, sizeof(kprobe_comm));
+       ret = lttng_dynamic_buffer_append(&payload->buffer, &kprobe_comm, sizeof(kprobe_comm));
        if (ret) {
                goto end;
        }
@@ -112,8 +111,8 @@ static int lttng_event_rule_kernel_kprobe_serialize(
        }
 
        /* Update the header regarding the probe size. */
-       header = (struct lttng_event_rule_kernel_kprobe_comm*) (
-                       (char *) payload->buffer.data + header_offset);
+       header = (struct lttng_event_rule_kernel_kprobe_comm *) ((char *) payload->buffer.data +
+                                                                header_offset);
        header->location_len = payload->buffer.size - size_before_location;
 
        ret = 0;
@@ -123,7 +122,7 @@ end:
 }
 
 static bool lttng_event_rule_kernel_kprobe_is_equal(const struct lttng_event_rule *_a,
-               const struct lttng_event_rule *_b)
+                                                   const struct lttng_event_rule *_b)
 {
        bool is_equal = false;
        struct lttng_event_rule_kernel_kprobe *a, *b;
@@ -139,72 +138,66 @@ static bool lttng_event_rule_kernel_kprobe_is_equal(const struct lttng_event_rul
        /* Long check */
        LTTNG_ASSERT(a->name);
        LTTNG_ASSERT(b->name);
-       if (strcmp(a->name, b->name)) {
+       if (strcmp(a->name, b->name) != 0) {
                goto end;
        }
 
-       is_equal = lttng_kernel_probe_location_is_equal(
-                       a->location, b->location);
+       is_equal = lttng_kernel_probe_location_is_equal(a->location, b->location);
 end:
        return is_equal;
 }
 
 static enum lttng_error_code lttng_event_rule_kernel_kprobe_generate_filter_bytecode(
-               struct lttng_event_rule *rule __attribute__((unused)),
-               const struct lttng_credentials *creds __attribute__((unused)))
+       struct lttng_event_rule *rule __attribute__((unused)),
+       const struct lttng_credentials *creds __attribute__((unused)))
 {
        /* Nothing to do. */
        return LTTNG_OK;
 }
 
-static const char *lttng_event_rule_kernel_kprobe_get_filter(
-               const struct lttng_event_rule *rule __attribute__((unused)))
+static const char *lttng_event_rule_kernel_kprobe_get_filter(const struct lttng_event_rule *rule
+                                                            __attribute__((unused)))
 {
        /* Not supported. */
-       return NULL;
+       return nullptr;
 }
 
 static const struct lttng_bytecode *
-lttng_event_rule_kernel_kprobe_get_filter_bytecode(
-               const struct lttng_event_rule *rule __attribute__((unused)))
+lttng_event_rule_kernel_kprobe_get_filter_bytecode(const struct lttng_event_rule *rule
+                                                  __attribute__((unused)))
 {
        /* Not supported. */
-       return NULL;
+       return nullptr;
 }
 
 static enum lttng_event_rule_generate_exclusions_status
-lttng_event_rule_kernel_kprobe_generate_exclusions(
-               const struct lttng_event_rule *rule __attribute__((unused)),
-               struct lttng_event_exclusion **exclusions)
+lttng_event_rule_kernel_kprobe_generate_exclusions(const struct lttng_event_rule *rule
+                                                  __attribute__((unused)),
+                                                  struct lttng_event_exclusion **exclusions)
 {
        /* Not supported. */
-       *exclusions = NULL;
+       *exclusions = nullptr;
        return LTTNG_EVENT_RULE_GENERATE_EXCLUSIONS_STATUS_NONE;
 }
 
-static unsigned long
-lttng_event_rule_kernel_kprobe_hash(
-               const struct lttng_event_rule *rule)
+static unsigned long lttng_event_rule_kernel_kprobe_hash(const struct lttng_event_rule *rule)
 {
        unsigned long hash;
        struct lttng_event_rule_kernel_kprobe *krule =
-                       lttng::utils::container_of(rule, &lttng_event_rule_kernel_kprobe::parent);
+               lttng::utils::container_of(rule, &lttng_event_rule_kernel_kprobe::parent);
 
-       hash = hash_key_ulong((void *) LTTNG_EVENT_RULE_TYPE_KERNEL_KPROBE,
-                       lttng_ht_seed);
+       hash = hash_key_ulong((void *) LTTNG_EVENT_RULE_TYPE_KERNEL_KPROBE, lttng_ht_seed);
        hash ^= hash_key_str(krule->name, lttng_ht_seed);
        hash ^= lttng_kernel_probe_location_hash(krule->location);
 
        return hash;
 }
 
-static
-int kernel_probe_set_location(
-               struct lttng_event_rule_kernel_kprobe *kprobe,
-               const struct lttng_kernel_probe_location *location)
+static int kernel_probe_set_location(struct lttng_event_rule_kernel_kprobe *kprobe,
+                                    const struct lttng_kernel_probe_location *location)
 {
        int ret;
-       struct lttng_kernel_probe_location *location_copy = NULL;
+       struct lttng_kernel_probe_location *location_copy = nullptr;
 
        if (!kprobe || !location || kprobe->location) {
                ret = -1;
@@ -218,29 +211,28 @@ int kernel_probe_set_location(
        }
 
        kprobe->location = location_copy;
-       location_copy = NULL;
+       location_copy = nullptr;
        ret = 0;
 end:
        lttng_kernel_probe_location_destroy(location_copy);
        return ret;
 }
 
-static
-enum lttng_error_code lttng_event_rule_kernel_kprobe_mi_serialize(
-               const struct lttng_event_rule *rule, struct mi_writer *writer)
+static enum lttng_error_code
+lttng_event_rule_kernel_kprobe_mi_serialize(const struct lttng_event_rule *rule,
+                                           struct mi_writer *writer)
 {
        int ret;
        enum lttng_error_code ret_code;
        enum lttng_event_rule_status status;
-       const char *event_name = NULL;
-       const struct lttng_kernel_probe_location *location = NULL;
+       const char *event_name = nullptr;
+       const struct lttng_kernel_probe_location *location = nullptr;
 
        LTTNG_ASSERT(rule);
        LTTNG_ASSERT(writer);
        LTTNG_ASSERT(IS_KPROBE_EVENT_RULE(rule));
 
-       status = lttng_event_rule_kernel_kprobe_get_event_name(
-                       rule, &event_name);
+       status = lttng_event_rule_kernel_kprobe_get_event_name(rule, &event_name);
        LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
        LTTNG_ASSERT(event_name);
 
@@ -249,15 +241,14 @@ enum lttng_error_code lttng_event_rule_kernel_kprobe_mi_serialize(
        LTTNG_ASSERT(location);
 
        /* Open event rule kernel kprobe element. */
-       ret = mi_lttng_writer_open_element(
-                       writer, mi_lttng_element_event_rule_kernel_kprobe);
+       ret = mi_lttng_writer_open_element(writer, mi_lttng_element_event_rule_kernel_kprobe);
        if (ret) {
                goto mi_error;
        }
 
        /* Name. */
-       ret = mi_lttng_writer_write_element_string(writer,
-                       mi_lttng_element_event_rule_event_name, event_name);
+       ret = mi_lttng_writer_write_element_string(
+               writer, mi_lttng_element_event_rule_event_name, event_name);
        if (ret) {
                goto mi_error;
        }
@@ -283,10 +274,10 @@ end:
        return ret_code;
 }
 
-struct lttng_event_rule *lttng_event_rule_kernel_kprobe_create(
-               const struct lttng_kernel_probe_location *location)
+struct lttng_event_rule *
+lttng_event_rule_kernel_kprobe_create(const struct lttng_kernel_probe_location *location)
 {
-       struct lttng_event_rule *rule = NULL;
+       struct lttng_event_rule *rule = nullptr;
        struct lttng_event_rule_kernel_kprobe *krule;
 
        krule = zmalloc<lttng_event_rule_kernel_kprobe>();
@@ -301,43 +292,40 @@ struct lttng_event_rule *lttng_event_rule_kernel_kprobe_create(
        krule->parent.equal = lttng_event_rule_kernel_kprobe_is_equal;
        krule->parent.destroy = lttng_event_rule_kernel_kprobe_destroy;
        krule->parent.generate_filter_bytecode =
-                       lttng_event_rule_kernel_kprobe_generate_filter_bytecode;
+               lttng_event_rule_kernel_kprobe_generate_filter_bytecode;
        krule->parent.get_filter = lttng_event_rule_kernel_kprobe_get_filter;
-       krule->parent.get_filter_bytecode =
-                       lttng_event_rule_kernel_kprobe_get_filter_bytecode;
-       krule->parent.generate_exclusions =
-                       lttng_event_rule_kernel_kprobe_generate_exclusions;
+       krule->parent.get_filter_bytecode = lttng_event_rule_kernel_kprobe_get_filter_bytecode;
+       krule->parent.generate_exclusions = lttng_event_rule_kernel_kprobe_generate_exclusions;
        krule->parent.hash = lttng_event_rule_kernel_kprobe_hash;
        krule->parent.mi_serialize = lttng_event_rule_kernel_kprobe_mi_serialize;
 
        if (kernel_probe_set_location(krule, location)) {
                lttng_event_rule_destroy(rule);
-               rule = NULL;
+               rule = nullptr;
        }
 
 end:
        return rule;
 }
 
-ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(
-               struct lttng_payload_view *view,
-               struct lttng_event_rule **_event_rule)
+ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(struct lttng_payload_view *view,
+                                                          struct lttng_event_rule **_event_rule)
 {
        ssize_t ret, offset = 0;
        enum lttng_event_rule_status status;
        const struct lttng_event_rule_kernel_kprobe_comm *kprobe_comm;
        const char *name;
        struct lttng_buffer_view current_buffer_view;
-       struct lttng_event_rule *rule = NULL;
-       struct lttng_kernel_probe_location *location = NULL;
+       struct lttng_event_rule *rule = nullptr;
+       struct lttng_kernel_probe_location *location = nullptr;
 
        if (!_event_rule) {
                ret = -1;
                goto end;
        }
 
-       current_buffer_view = lttng_buffer_view_from_view(
-                       &view->buffer, offset, sizeof(*kprobe_comm));
+       current_buffer_view =
+               lttng_buffer_view_from_view(&view->buffer, offset, sizeof(*kprobe_comm));
        if (!lttng_buffer_view_is_valid(&current_buffer_view)) {
                ERR("Failed to initialize from malformed event rule kprobe: buffer too short to contain header.");
                ret = -1;
@@ -352,8 +340,7 @@ ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(
        {
                /* Map the name. */
                struct lttng_payload_view current_payload_view =
-                               lttng_payload_view_from_view(view, offset,
-                                               kprobe_comm->name_len);
+                       lttng_payload_view_from_view(view, offset, kprobe_comm->name_len);
 
                if (!lttng_payload_view_is_valid(&current_payload_view)) {
                        ret = -1;
@@ -362,8 +349,7 @@ ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(
 
                name = current_payload_view.buffer.data;
                if (!lttng_buffer_view_contains_string(
-                               &current_payload_view.buffer, name,
-                               kprobe_comm->name_len)) {
+                           &current_payload_view.buffer, name, kprobe_comm->name_len)) {
                        ret = -1;
                        goto end;
                }
@@ -375,16 +361,15 @@ ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(
        /* Map the kernel probe location. */
        {
                struct lttng_payload_view current_payload_view =
-                               lttng_payload_view_from_view(view, offset,
-                                               kprobe_comm->location_len);
+                       lttng_payload_view_from_view(view, offset, kprobe_comm->location_len);
 
                if (!lttng_payload_view_is_valid(&current_payload_view)) {
                        ret = -1;
                        goto end;
                }
 
-               ret = lttng_kernel_probe_location_create_from_payload(
-                               &current_payload_view, &location);
+               ret = lttng_kernel_probe_location_create_from_payload(&current_payload_view,
+                                                                     &location);
                if (ret < 0) {
                        ret = -1;
                        goto end;
@@ -414,7 +399,7 @@ ssize_t lttng_event_rule_kernel_kprobe_create_from_payload(
        }
 
        *_event_rule = rule;
-       rule = NULL;
+       rule = nullptr;
        ret = offset;
 end:
        lttng_kernel_probe_location_destroy(location);
@@ -422,9 +407,9 @@ end:
        return ret;
 }
 
-enum lttng_event_rule_status lttng_event_rule_kernel_kprobe_get_location(
-               const struct lttng_event_rule *rule,
-               const struct lttng_kernel_probe_location **location)
+enum lttng_event_rule_status
+lttng_event_rule_kernel_kprobe_get_location(const struct lttng_event_rule *rule,
+                                           const struct lttng_kernel_probe_location **location)
 {
        enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
        struct lttng_event_rule_kernel_kprobe *kprobe;
@@ -446,15 +431,14 @@ end:
        return status;
 }
 
-enum lttng_event_rule_status lttng_event_rule_kernel_kprobe_set_event_name(
-               struct lttng_event_rule *rule, const char *name)
+enum lttng_event_rule_status
+lttng_event_rule_kernel_kprobe_set_event_name(struct lttng_event_rule *rule, const char *name)
 {
-       char *name_copy = NULL;
+       char *name_copy = nullptr;
        struct lttng_event_rule_kernel_kprobe *kprobe;
        enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
 
-       if (!rule || !IS_KPROBE_EVENT_RULE(rule) || !name ||
-                       strlen(name) == 0) {
+       if (!rule || !IS_KPROBE_EVENT_RULE(rule) || !name || strlen(name) == 0) {
                status = LTTNG_EVENT_RULE_STATUS_INVALID;
                goto end;
        }
@@ -469,13 +453,14 @@ enum lttng_event_rule_status lttng_event_rule_kernel_kprobe_set_event_name(
        free(kprobe->name);
 
        kprobe->name = name_copy;
-       name_copy = NULL;
+       name_copy = nullptr;
 end:
        return status;
 }
 
-enum lttng_event_rule_status lttng_event_rule_kernel_kprobe_get_event_name(
-               const struct lttng_event_rule *rule, const char **name)
+enum lttng_event_rule_status
+lttng_event_rule_kernel_kprobe_get_event_name(const struct lttng_event_rule *rule,
+                                             const char **name)
 {
        struct lttng_event_rule_kernel_kprobe *kprobe;
        enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
This page took 0.029848 seconds and 4 git commands to generate.