From: Simon Marchi Date: Fri, 5 May 2023 17:44:25 +0000 (-0400) Subject: lib: restrict bt_clock_class_{g,s}et_uuid to MIP 0 X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=ca07a92b5573cac5107c1f47020d999d12c556c3;p=babeltrace.git lib: restrict bt_clock_class_{g,s}et_uuid to MIP 0 Change-Id: Id689c9b470f03837355216a56e8e44b2724fd7cd Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/12676 Tested-by: jenkins Reviewed-by: Philippe Proulx --- diff --git a/src/lib/assert-cond.h b/src/lib/assert-cond.h index 46224ce4..cba1655a 100644 --- a/src/lib/assert-cond.h +++ b/src/lib/assert-cond.h @@ -1010,6 +1010,12 @@ _mip_version >= _val, \ "MIP version is less than %" PRIu64, _val) +/* + * Asserts that the effective MIP version for `_clock_class` is equal to `_val`. + */ +#define BT_ASSERT_PRE_CC_MIP_VERSION_EQ(_clock_class, _val) \ + BT_ASSERT_PRE_MIP_VERSION_EQ((_clock_class)->mip_version, _val) + /* * Asserts that the effective MIP version for `_trace_class` is equal to `_val`. */ diff --git a/src/lib/trace-ir/clock-class.c b/src/lib/trace-ir/clock-class.c index 78fa1cb9..0a6437ec 100644 --- a/src/lib/trace-ir/clock-class.c +++ b/src/lib/trace-ir/clock-class.c @@ -251,6 +251,7 @@ BT_EXPORT bt_uuid bt_clock_class_get_uuid(const struct bt_clock_class *clock_class) { BT_ASSERT_PRE_DEV_CLK_CLS_NON_NULL(clock_class); + BT_ASSERT_PRE_CC_MIP_VERSION_EQ(clock_class, 0); return clock_class->uuid.value; } @@ -261,6 +262,7 @@ void bt_clock_class_set_uuid(struct bt_clock_class *clock_class, BT_ASSERT_PRE_CLK_CLS_NON_NULL(clock_class); BT_ASSERT_PRE_UUID_NON_NULL(uuid); BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class); + BT_ASSERT_PRE_CC_MIP_VERSION_EQ(clock_class, 0); bt_uuid_copy(clock_class->uuid.uuid, uuid); clock_class->uuid.value = clock_class->uuid.uuid; BT_LIB_LOGD("Set clock class's UUID: %!+K", clock_class);