@@ -129,13 +129,13 @@ static bool pvcalls_conn_back_read(void *opaque)
129129 if (masked_prod < masked_cons ) {
130130 vec [0 ].iov_base = data -> in + masked_prod ;
131131 vec [0 ].iov_len = wanted ;
132- iov_iter_kvec (& msg .msg_iter , WRITE , vec , 1 , wanted );
132+ iov_iter_kvec (& msg .msg_iter , READ , vec , 1 , wanted );
133133 } else {
134134 vec [0 ].iov_base = data -> in + masked_prod ;
135135 vec [0 ].iov_len = array_size - masked_prod ;
136136 vec [1 ].iov_base = data -> in ;
137137 vec [1 ].iov_len = wanted - vec [0 ].iov_len ;
138- iov_iter_kvec (& msg .msg_iter , WRITE , vec , 2 , wanted );
138+ iov_iter_kvec (& msg .msg_iter , READ , vec , 2 , wanted );
139139 }
140140
141141 atomic_set (& map -> read , 0 );
@@ -188,13 +188,13 @@ static bool pvcalls_conn_back_write(struct sock_mapping *map)
188188 if (pvcalls_mask (prod , array_size ) > pvcalls_mask (cons , array_size )) {
189189 vec [0 ].iov_base = data -> out + pvcalls_mask (cons , array_size );
190190 vec [0 ].iov_len = size ;
191- iov_iter_kvec (& msg .msg_iter , READ , vec , 1 , size );
191+ iov_iter_kvec (& msg .msg_iter , WRITE , vec , 1 , size );
192192 } else {
193193 vec [0 ].iov_base = data -> out + pvcalls_mask (cons , array_size );
194194 vec [0 ].iov_len = array_size - pvcalls_mask (cons , array_size );
195195 vec [1 ].iov_base = data -> out ;
196196 vec [1 ].iov_len = size - vec [0 ].iov_len ;
197- iov_iter_kvec (& msg .msg_iter , READ , vec , 2 , size );
197+ iov_iter_kvec (& msg .msg_iter , WRITE , vec , 2 , size );
198198 }
199199
200200 atomic_set (& map -> write , 0 );
0 commit comments