Fix: ensure power of 2 check handles 64-bit size_t entirely
[lttng-modules.git] / lib / ringbuffer / ring_buffer_splice.c
index 5fa779f5a63e1038ad477abea8d7807a335fbf2c..41a6ff8aa02526705e6c0b73151b40eb13ea7077 100644 (file)
@@ -69,7 +69,7 @@ static int subbuf_splice_actor(struct file *in,
 {
        struct lib_ring_buffer *buf = in->private_data;
        struct channel *chan = buf->backend.chan;
-       const struct lib_ring_buffer_config *config = chan->backend.config;
+       const struct lib_ring_buffer_config *config = &chan->backend.config;
        unsigned int poff, subbuf_pages, nr_pages;
        struct page *pages[PIPE_DEF_BUFFERS];
        struct partial_page partial[PIPE_DEF_BUFFERS];
@@ -81,7 +81,7 @@ static int subbuf_splice_actor(struct file *in,
                .ops = &ring_buffer_pipe_buf_ops,
                .spd_release = lib_ring_buffer_page_release,
        };
-       unsigned long consumed_old, consumed_idx, roffset;
+       unsigned long consumed_old, roffset;
        unsigned long bytes_avail;
 
        /*
@@ -90,7 +90,6 @@ static int subbuf_splice_actor(struct file *in,
        WARN_ON(atomic_long_read(&buf->active_readers) != 1);
        consumed_old = lib_ring_buffer_get_consumed(config, buf);
        consumed_old += *ppos;
-       consumed_idx = subbuf_index(consumed_old, chan);
 
        /*
         * Adjust read len, if longer than what is available.
@@ -152,7 +151,7 @@ ssize_t lib_ring_buffer_splice_read(struct file *in, loff_t *ppos,
 {
        struct lib_ring_buffer *buf = in->private_data;
        struct channel *chan = buf->backend.chan;
-       const struct lib_ring_buffer_config *config = chan->backend.config;
+       const struct lib_ring_buffer_config *config = &chan->backend.config;
        ssize_t spliced;
        int ret;
 
This page took 0.025718 seconds and 4 git commands to generate.