X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fcmd.c;h=9ef9686bd40b3c29727451a9d52d11a4367e64f0;hb=1124da525fd5271809172a9820029ae4a8821ccf;hp=339a7659e5ae63b00d8547d6ac47656cb81e69a8;hpb=cc9a657a4c39f85c03e0fcbbbf8ad5c95821ab55;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index 339a7659e..9ef9686bd 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -850,6 +850,16 @@ int cmd_enable_channel(struct ltt_session *session, rcu_read_lock(); + /* + * The ringbuffer (both in user space and kernel) behave badly in overwrite + * mode and with less than 2 subbuf so block it right away and send back an + * invalid attribute error. + */ + if (attr->attr.overwrite && attr->attr.num_subbuf < 2) { + ret = LTTNG_ERR_INVALID; + goto error; + } + switch (domain->type) { case LTTNG_DOMAIN_KERNEL: {