summaryrefslogtreecommitdiff
path: root/kernel/trace/trace_dynevent.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_dynevent.c')
-rw-r--r--kernel/trace/trace_dynevent.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/kernel/trace/trace_dynevent.c b/kernel/trace/trace_dynevent.c
index 154996684fb5..c14f99af79ed 100644
--- a/kernel/trace/trace_dynevent.c
+++ b/kernel/trace/trace_dynevent.c
@@ -290,21 +290,19 @@ int dynevent_arg_add(struct dynevent_cmd *cmd,
struct dynevent_arg *arg,
dynevent_check_arg_fn_t check_arg)
{
- int ret = 0;
-
if (check_arg) {
- ret = check_arg(arg);
+ int ret = check_arg(arg);
if (ret)
return ret;
}
- ret = seq_buf_printf(&cmd->seq, " %s%c", arg->str, arg->separator);
- if (ret) {
+ prt_printf(&cmd->seq, " %s%c", arg->str, arg->separator);
+ if (printbuf_overflowed(&cmd->seq)) {
pr_err("String is too long: %s%c\n", arg->str, arg->separator);
return -E2BIG;
}
- return ret;
+ return 0;
}
/**
@@ -335,25 +333,23 @@ int dynevent_arg_pair_add(struct dynevent_cmd *cmd,
struct dynevent_arg_pair *arg_pair,
dynevent_check_arg_fn_t check_arg)
{
- int ret = 0;
-
if (check_arg) {
- ret = check_arg(arg_pair);
+ int ret = check_arg(arg_pair);
if (ret)
return ret;
}
- ret = seq_buf_printf(&cmd->seq, " %s%c%s%c", arg_pair->lhs,
- arg_pair->operator, arg_pair->rhs,
- arg_pair->separator);
- if (ret) {
+ prt_printf(&cmd->seq, " %s%c%s%c", arg_pair->lhs,
+ arg_pair->operator, arg_pair->rhs,
+ arg_pair->separator);
+ if (printbuf_overflowed(&cmd->seq)) {
pr_err("field string is too long: %s%c%s%c\n", arg_pair->lhs,
arg_pair->operator, arg_pair->rhs,
arg_pair->separator);
return -E2BIG;
}
- return ret;
+ return 0;
}
/**
@@ -368,15 +364,13 @@ int dynevent_arg_pair_add(struct dynevent_cmd *cmd,
*/
int dynevent_str_add(struct dynevent_cmd *cmd, const char *str)
{
- int ret = 0;
-
- ret = seq_buf_puts(&cmd->seq, str);
- if (ret) {
+ prt_str(&cmd->seq, str);
+ if (printbuf_overflowed(&cmd->seq)) {
pr_err("String is too long: %s\n", str);
return -E2BIG;
}
- return ret;
+ return 0;
}
/**
@@ -405,7 +399,7 @@ void dynevent_cmd_init(struct dynevent_cmd *cmd, char *buf, int maxlen,
{
memset(cmd, '\0', sizeof(*cmd));
- seq_buf_init(&cmd->seq, buf, maxlen);
+ cmd->seq = PRINTBUF_EXTERN(buf, maxlen);
cmd->type = type;
cmd->run_command = run_command;
}