crypto: af_alg: Use extract_iter_to_sg() to create scatterlists
[platform/kernel/linux-starfive.git] / kernel / relay.c
index 9aa70ae..a80fa01 100644 (file)
@@ -989,7 +989,8 @@ static size_t relay_file_read_start_pos(struct rchan_buf *buf)
        size_t subbuf_size = buf->chan->subbuf_size;
        size_t n_subbufs = buf->chan->n_subbufs;
        size_t consumed = buf->subbufs_consumed % n_subbufs;
-       size_t read_pos = consumed * subbuf_size + buf->bytes_consumed;
+       size_t read_pos = (consumed * subbuf_size + buf->bytes_consumed)
+                       % (n_subbufs * subbuf_size);
 
        read_subbuf = read_pos / subbuf_size;
        padding = buf->padding[read_subbuf];