- TP_CONDITION(start != end),
-
- TP_STRUCT__entry(
- __dynamic_array_text(char, msg,
- min_t(unsigned, end - start, MSG_TRACE_MAX_LEN) + 1)
- ),
-
- TP_fast_assign(
- tp_memcpy_dyn(msg,
- ({
- char lmsg[MSG_TRACE_MAX_LEN + 1];
-
- if ((end - start) > MSG_TRACE_MAX_LEN)
- start = end - MSG_TRACE_MAX_LEN;
-
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
- if ((start & (log_buf_len - 1)) >
- (end & (log_buf_len - 1))) {
- memcpy(lmsg,
- log_buf +
- (start & (log_buf_len - 1)),
- log_buf_len -
- (start & (log_buf_len - 1)));
- memcpy(lmsg + log_buf_len -
- (start & (log_buf_len - 1)),
- log_buf,
- end & (log_buf_len - 1));
- } else
- memcpy(lmsg,
- log_buf +
- (start & (log_buf_len - 1)),
- end - start);
-#else
- memcpy(lmsg, log_buf + start, end - start);
-#endif
- lmsg[end - start] = 0;
- lmsg;
- })
- )
- ),