lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 9 Nov 2006 10:16:11 +0900 From: Tejun Heo <htejun@...il.com> To: zach.brown@...cle.com, pbadari@...ibm.com, suparna@...ibm.com, jmoyer@...hat.com, akpm@...l.org, cwyang@...tech.co.kr, linux-kernel@...r.kernel.org, htejun@...il.com Cc: Tejun Heo <htejun@...il.com> Subject: [PATCH 2/5] direct-io: fix dio_complete() errno passing in sync completion path In synchronous completion path, the number of transferred bytes is always passed to dio_complete() as @bytes argument whether the transfer succeeded or not. Fix it. Signed-off-by: Tejun Heo <htejun@...il.com> --- fs/direct-io.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/fs/direct-io.c b/fs/direct-io.c index 25721b2..c85aee3 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -1138,10 +1138,11 @@ direct_io_worker(int rw, struct kiocb *i if (rw == READ && (offset + transferred > i_size)) transferred = i_size - offset; } - dio_complete(dio, offset, transferred); if (ret == 0) ret = transferred; + dio_complete(dio, offset, ret); + /* We could have also come here on an AIO file extend */ if (!is_sync_kiocb(iocb) && (rw & WRITE) && ret >= 0 && dio->result == dio->size) -- 1.4.3.3 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists