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
| ||
|
Message-ID: <x49wq93xt5e.fsf@segfault.boston.devel.redhat.com> Date: Tue, 16 Sep 2014 15:27:41 -0400 From: Jeff Moyer <jmoyer@...hat.com> To: Milosz Tanski <milosz@...in.com> Cc: linux-kernel@...r.kernel.org, Christoph Hellwig <hch@...radead.org>, linux-fsdevel@...r.kernel.org, linux-aio@...ck.org, Mel Gorman <mgorman@...e.de>, Volker Lendecke <Volker.Lendecke@...net.de>, Tejun Heo <tj@...nel.org> Subject: Re: [PATCH 7/7] check for O_NONBLOCK in all read_iter instances Christoph Hellwig <milosz@...in.com> writes: Hrm, you're not Christoph... > Acked-by: Milosz Tanski <milosz@...in.com> > --- > fs/ceph/file.c | 2 ++ > fs/cifs/file.c | 6 ++++++ > fs/nfs/file.c | 5 ++++- > fs/ocfs2/file.c | 6 ++++++ > fs/pipe.c | 3 ++- > fs/read_write.c | 17 +++++++++++------ > fs/xfs/xfs_file.c | 4 ++++ > mm/shmem.c | 4 ++++ > 8 files changed, 39 insertions(+), 8 deletions(-) > > diff --git a/fs/ceph/file.c b/fs/ceph/file.c > index 4776257..b62e3a5 100644 > --- a/fs/ceph/file.c > +++ b/fs/ceph/file.c > @@ -808,6 +808,8 @@ again: > if ((got & (CEPH_CAP_FILE_CACHE|CEPH_CAP_FILE_LAZYIO)) == 0 || > (iocb->ki_filp->f_flags & O_DIRECT) || > (fi->flags & CEPH_F_SYNC)) { > + if (flags & O_NONBLOCK) > + return -EAGAIN; Again, the right return value for the O_DIRECT case is EINVAL. > diff --git a/fs/nfs/file.c b/fs/nfs/file.c > index 4072f3a..116bed2 100644 > --- a/fs/nfs/file.c > +++ b/fs/nfs/file.c > @@ -170,8 +170,11 @@ nfs_file_read(struct kiocb *iocb, struct iov_iter *to, int flags) > struct inode *inode = file_inode(iocb->ki_filp); > ssize_t result; > > - if (iocb->ki_filp->f_flags & O_DIRECT) > + if (iocb->ki_filp->f_flags & O_DIRECT) { > + if (flags & O_NONBLOCK) > + return -EAGAIN; > return nfs_file_direct_read(iocb, to, iocb->ki_pos, true); > + } And here. I stopped looking for that case at this point. Cheers, Jeff -- 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