@@ -129,13 +129,13 @@ static bool pvcalls_conn_back_read(void *opaque)
129
129
if (masked_prod < masked_cons ) {
130
130
vec [0 ].iov_base = data -> in + masked_prod ;
131
131
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 );
133
133
} else {
134
134
vec [0 ].iov_base = data -> in + masked_prod ;
135
135
vec [0 ].iov_len = array_size - masked_prod ;
136
136
vec [1 ].iov_base = data -> in ;
137
137
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 );
139
139
}
140
140
141
141
atomic_set (& map -> read , 0 );
@@ -188,13 +188,13 @@ static bool pvcalls_conn_back_write(struct sock_mapping *map)
188
188
if (pvcalls_mask (prod , array_size ) > pvcalls_mask (cons , array_size )) {
189
189
vec [0 ].iov_base = data -> out + pvcalls_mask (cons , array_size );
190
190
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 );
192
192
} else {
193
193
vec [0 ].iov_base = data -> out + pvcalls_mask (cons , array_size );
194
194
vec [0 ].iov_len = array_size - pvcalls_mask (cons , array_size );
195
195
vec [1 ].iov_base = data -> out ;
196
196
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 );
198
198
}
199
199
200
200
atomic_set (& map -> write , 0 );
0 commit comments