Fix: event notifier: racy use of last subbuffer record
[lttng-modules.git] / src / lttng-abi.c
index f8004e9b708a6a840b162a6fb6f99e70706aa444..9b1cceac0d99ce7bd2adc91356fc7fd64ec504bc 100644 (file)
@@ -1016,7 +1016,7 @@ ssize_t lttng_event_notifier_group_notif_read(struct file *filp, char __user *us
 
        /* Finish copy of previous record */
        if (*ppos != 0) {
-               if (read_count < count) {
+               if (count != 0) {
                        len = chan->iter.len_left;
                        read_offset = *ppos;
                        goto skip_get_next;
@@ -1096,7 +1096,8 @@ nodata:
        chan->iter.len_left = 0;
 
 put_record:
-       lib_ring_buffer_put_current_record(buf);
+       if (*ppos == 0)
+               lib_ring_buffer_put_current_record(buf);
        return read_count;
 }
 
This page took 0.023708 seconds and 4 git commands to generate.