[PATCH] Fix readv/writev return value
A patch from Janet Morgan <janetmor@us.ibm.com> If you feed an iovec with a bad address not at the zeroeth segment into readv or writev, it returns the wrong value. iovec 1: base is 8050b20 len is 64 iovec 2: base is ffffffff len is 64 iovec 3: base is 8050ba0 len is 64 The writev should return 64 bytes but is returning 128 This is because we've added the new segment's length into `count' before running access_ok(). The patch changes it to fix that up on the slow path, if access_ok() fails.
Showing
Please register or sign in to comment