All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: David Laight <David.Laight@aculab.com>
Cc: Christoph Hellwig <hch@lst.de>,
	David Hildenbrand <david@redhat.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	"kernel-team@android.com" <kernel-team@android.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <axboe@kernel.dk>, Arnd Bergmann <arnd@arndb.de>,
	David Howells <dhowells@redhat.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-aio@kvack.org" <linux-aio@kvack.org>,
	"io-uring@vger.kernel.org" <io-uring@vger.kernel.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"keyrings@vger.kernel.org" <keyrings@vger.kernel.org>,
	"linux-security-module@vger.kernel.org" 
	<linux-security-module@vger.kernel.org>
Subject: Re: Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c"
Date: Thu, 22 Oct 2020 10:54:06 -0700	[thread overview]
Message-ID: <CAKwvOdnix6YGFhsmT_mY8ORNPTOsN3HwS33Dr0Ykn-pyJ6e-Bw@mail.gmail.com> (raw)
In-Reply-To: <8f1fff0c358b4b669d51cc80098dbba1@AcuMS.aculab.com>

[-- Attachment #1: Type: text/plain, Size: 2086 bytes --]

On Thu, Oct 22, 2020 at 9:35 AM David Laight <David.Laight@aculab.com> wrote:
>
> From: Christoph Hellwig
> > Sent: 22 October 2020 14:24
> >
> > On Thu, Oct 22, 2020 at 11:36:40AM +0200, David Hildenbrand wrote:
> > > My thinking: if the compiler that calls import_iovec() has garbage in
> > > the upper 32 bit
> > >
> > > a) gcc will zero it out and not rely on it being zero.
> > > b) clang will not zero it out, assuming it is zero.
> > >
> > > But
> > >
> > > a) will zero it out when calling the !inlined variant
> > > b) clang will zero it out when calling the !inlined variant
> > >
> > > When inlining, b) strikes. We access garbage. That would mean that we
> > > have calling code that's not generated by clang/gcc IIUC.
> >
> > Most callchains of import_iovec start with the assembly syscall wrappers.
>
> Wait...
> readv(2) defines:
>         ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
>
> But the syscall is defined as:
>
> SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
>                 unsigned long, vlen)
> {
>         return do_readv(fd, vec, vlen, 0);
> }
>
> I'm guessing that nothing actually masks the high bits that come
> from an application that is compiled with clang?
>
> The vlen is 'unsigned long' through the first few calls.
> So unless there is a non-inlined function than takes vlen
> as 'int' the high garbage bits from userspace are kept.

Yeah, that's likely a bug: https://godbolt.org/z/KfsPKs

>
> Which makes it a bug in the kernel C syscall wrappers.
> They need to explicitly mask the high bits of 32bit
> arguments on arm64 but not x86-64.

Why not x86-64? Wouldn't it be *any* LP64 ISA?

Attaching a patch that uses the proper width, but I'm pretty sure
there's still a signedness issue .  Greg, would you mind running this
through the wringer?

>
> What does the ARM EABI say about register parameters?

AAPCS is the ABI for 64b ARM, IIUC, which is the ISA GKH is reporting
the problem against. IIUC, EABI is one of the 32b ABIs.  aarch64 is
LP64 just like x86_64.

--
Thanks,
~Nick Desaulniers

[-- Attachment #2: 0001-fs-fix-up-type-confusion-in-readv-writev.patch --]
[-- Type: application/octet-stream, Size: 4630 bytes --]

From aae26b13ffb9e38bb46b8c85985761b5f196b6f6 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Thu, 22 Oct 2020 10:23:47 -0700
Subject: [PATCH] fs: fix up type confusion in readv/writev

The syscall interface doesn't match up with the interface libc is using
or that's defined in the manual pages.

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

The kernel was defining `iovcnt` as `unsigned long` which is a problem
when userspace understands this to be `int`.

(There's still likely a signedness bug here, but use the proper widths
that import_iovec() expects.)

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 fs/read_write.c    | 10 +++++-----
 fs/splice.c        |  2 +-
 include/linux/fs.h |  2 +-
 lib/iov_iter.c     |  4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/read_write.c b/fs/read_write.c
index 19f5c4bf75aa..b858f39a4475 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -890,7 +890,7 @@ ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos,
 EXPORT_SYMBOL(vfs_iter_write);
 
 ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
-		  unsigned long vlen, loff_t *pos, rwf_t flags)
+		  unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -907,7 +907,7 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
-		   unsigned long vlen, loff_t *pos, rwf_t flags)
+		   unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -925,7 +925,7 @@ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t do_readv(unsigned long fd, const struct iovec __user *vec,
-			unsigned long vlen, rwf_t flags)
+			unsigned int vlen, rwf_t flags)
 {
 	struct fd f = fdget_pos(fd);
 	ssize_t ret = -EBADF;
@@ -1025,13 +1025,13 @@ static ssize_t do_pwritev(unsigned long fd, const struct iovec __user *vec,
 }
 
 SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_readv(fd, vec, vlen, 0);
 }
 
 SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_writev(fd, vec, vlen, 0);
 }
diff --git a/fs/splice.c b/fs/splice.c
index 70cc52af780b..7508eccfa143 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -342,7 +342,7 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops = {
 EXPORT_SYMBOL(nosteal_pipe_buf_ops);
 
 static ssize_t kernel_readv(struct file *file, const struct kvec *vec,
-			    unsigned long vlen, loff_t offset)
+			    unsigned int vlen, loff_t offset)
 {
 	mm_segment_t old_fs;
 	loff_t pos = offset;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c4ae9cafbbba..211bce5e6e60 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1895,7 +1895,7 @@ static inline int call_mmap(struct file *file, struct vm_area_struct *vma)
 extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
 extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
 extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
-		unsigned long, loff_t *, rwf_t);
+		unsigned int, loff_t *, rwf_t);
 extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
 				   loff_t, size_t, unsigned int);
 extern ssize_t generic_copy_file_range(struct file *file_in, loff_t pos_in,
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 1635111c5bd2..ded9d9c4eb28 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1734,7 +1734,7 @@ struct iovec *iovec_from_user(const struct iovec __user *uvec,
 }
 
 ssize_t __import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp,
+		 unsigned int nr_segs, unsigned int fast_segs, struct iovec **iovp,
 		 struct iov_iter *i, bool compat)
 {
 	ssize_t total_len = 0;
@@ -1803,7 +1803,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec,
  * Return: Negative error code on error, bytes imported on success
  */
 ssize_t import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs,
+		 unsigned int nr_segs, unsigned int fast_segs,
 		 struct iovec **iovp, struct iov_iter *i)
 {
 	return __import_iovec(type, uvec, nr_segs, fast_segs, iovp, i,
-- 
2.29.0.rc1.297.gfa9743e501-goog


WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: David Laight <David.Laight@aculab.com>
Cc: Christoph Hellwig <hch@lst.de>,
	David Hildenbrand <david@redhat.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	"kernel-team@android.com" <kernel-team@android.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <axboe@kernel.dk>, Arnd Bergmann <arnd@arndb.de>,
	David Howells <dhowells@redhat.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-aio@kvack.org" <linux-aio@kvack.org>,
	"io-uring@vger.kernel.org" <io-uring@vger.kernel.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"keyrings@vger.kernel.org" <keyrings@vger.kernel.org>,
	"linux-security-module@vger.kernel.org"
	<linux-security-module@vger.kernel.org>
Subject: Re: Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it
Date: Thu, 22 Oct 2020 17:54:06 +0000	[thread overview]
Message-ID: <CAKwvOdnix6YGFhsmT_mY8ORNPTOsN3HwS33Dr0Ykn-pyJ6e-Bw@mail.gmail.com> (raw)
In-Reply-To: <8f1fff0c358b4b669d51cc80098dbba1@AcuMS.aculab.com>

[-- Attachment #1: Type: text/plain, Size: 2086 bytes --]

On Thu, Oct 22, 2020 at 9:35 AM David Laight <David.Laight@aculab.com> wrote:
>
> From: Christoph Hellwig
> > Sent: 22 October 2020 14:24
> >
> > On Thu, Oct 22, 2020 at 11:36:40AM +0200, David Hildenbrand wrote:
> > > My thinking: if the compiler that calls import_iovec() has garbage in
> > > the upper 32 bit
> > >
> > > a) gcc will zero it out and not rely on it being zero.
> > > b) clang will not zero it out, assuming it is zero.
> > >
> > > But
> > >
> > > a) will zero it out when calling the !inlined variant
> > > b) clang will zero it out when calling the !inlined variant
> > >
> > > When inlining, b) strikes. We access garbage. That would mean that we
> > > have calling code that's not generated by clang/gcc IIUC.
> >
> > Most callchains of import_iovec start with the assembly syscall wrappers.
>
> Wait...
> readv(2) defines:
>         ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
>
> But the syscall is defined as:
>
> SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
>                 unsigned long, vlen)
> {
>         return do_readv(fd, vec, vlen, 0);
> }
>
> I'm guessing that nothing actually masks the high bits that come
> from an application that is compiled with clang?
>
> The vlen is 'unsigned long' through the first few calls.
> So unless there is a non-inlined function than takes vlen
> as 'int' the high garbage bits from userspace are kept.

Yeah, that's likely a bug: https://godbolt.org/z/KfsPKs

>
> Which makes it a bug in the kernel C syscall wrappers.
> They need to explicitly mask the high bits of 32bit
> arguments on arm64 but not x86-64.

Why not x86-64? Wouldn't it be *any* LP64 ISA?

Attaching a patch that uses the proper width, but I'm pretty sure
there's still a signedness issue .  Greg, would you mind running this
through the wringer?

>
> What does the ARM EABI say about register parameters?

AAPCS is the ABI for 64b ARM, IIUC, which is the ISA GKH is reporting
the problem against. IIUC, EABI is one of the 32b ABIs.  aarch64 is
LP64 just like x86_64.

--
Thanks,
~Nick Desaulniers

[-- Attachment #2: 0001-fs-fix-up-type-confusion-in-readv-writev.patch --]
[-- Type: application/octet-stream, Size: 4630 bytes --]

From aae26b13ffb9e38bb46b8c85985761b5f196b6f6 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Thu, 22 Oct 2020 10:23:47 -0700
Subject: [PATCH] fs: fix up type confusion in readv/writev

The syscall interface doesn't match up with the interface libc is using
or that's defined in the manual pages.

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

The kernel was defining `iovcnt` as `unsigned long` which is a problem
when userspace understands this to be `int`.

(There's still likely a signedness bug here, but use the proper widths
that import_iovec() expects.)

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 fs/read_write.c    | 10 +++++-----
 fs/splice.c        |  2 +-
 include/linux/fs.h |  2 +-
 lib/iov_iter.c     |  4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/read_write.c b/fs/read_write.c
index 19f5c4bf75aa..b858f39a4475 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -890,7 +890,7 @@ ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos,
 EXPORT_SYMBOL(vfs_iter_write);
 
 ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
-		  unsigned long vlen, loff_t *pos, rwf_t flags)
+		  unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -907,7 +907,7 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
-		   unsigned long vlen, loff_t *pos, rwf_t flags)
+		   unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -925,7 +925,7 @@ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t do_readv(unsigned long fd, const struct iovec __user *vec,
-			unsigned long vlen, rwf_t flags)
+			unsigned int vlen, rwf_t flags)
 {
 	struct fd f = fdget_pos(fd);
 	ssize_t ret = -EBADF;
@@ -1025,13 +1025,13 @@ static ssize_t do_pwritev(unsigned long fd, const struct iovec __user *vec,
 }
 
 SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_readv(fd, vec, vlen, 0);
 }
 
 SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_writev(fd, vec, vlen, 0);
 }
diff --git a/fs/splice.c b/fs/splice.c
index 70cc52af780b..7508eccfa143 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -342,7 +342,7 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops = {
 EXPORT_SYMBOL(nosteal_pipe_buf_ops);
 
 static ssize_t kernel_readv(struct file *file, const struct kvec *vec,
-			    unsigned long vlen, loff_t offset)
+			    unsigned int vlen, loff_t offset)
 {
 	mm_segment_t old_fs;
 	loff_t pos = offset;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c4ae9cafbbba..211bce5e6e60 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1895,7 +1895,7 @@ static inline int call_mmap(struct file *file, struct vm_area_struct *vma)
 extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
 extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
 extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
-		unsigned long, loff_t *, rwf_t);
+		unsigned int, loff_t *, rwf_t);
 extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
 				   loff_t, size_t, unsigned int);
 extern ssize_t generic_copy_file_range(struct file *file_in, loff_t pos_in,
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 1635111c5bd2..ded9d9c4eb28 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1734,7 +1734,7 @@ struct iovec *iovec_from_user(const struct iovec __user *uvec,
 }
 
 ssize_t __import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp,
+		 unsigned int nr_segs, unsigned int fast_segs, struct iovec **iovp,
 		 struct iov_iter *i, bool compat)
 {
 	ssize_t total_len = 0;
@@ -1803,7 +1803,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec,
  * Return: Negative error code on error, bytes imported on success
  */
 ssize_t import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs,
+		 unsigned int nr_segs, unsigned int fast_segs,
 		 struct iovec **iovp, struct iov_iter *i)
 {
 	return __import_iovec(type, uvec, nr_segs, fast_segs, iovp, i,
-- 
2.29.0.rc1.297.gfa9743e501-goog


WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: David Laight <David.Laight@aculab.com>
Cc: "linux-aio@kvack.org" <linux-aio@kvack.org>,
	David Hildenbrand <david@redhat.com>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	David Howells <dhowells@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"keyrings@vger.kernel.org" <keyrings@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"kernel-team@android.com" <kernel-team@android.com>,
	Arnd Bergmann <arnd@arndb.de>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	"io-uring@vger.kernel.org" <io-uring@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Jens Axboe <axboe@kernel.dk>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-security-module@vger.kernel.org"
	<linux-security-module@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c"
Date: Thu, 22 Oct 2020 10:54:06 -0700	[thread overview]
Message-ID: <CAKwvOdnix6YGFhsmT_mY8ORNPTOsN3HwS33Dr0Ykn-pyJ6e-Bw@mail.gmail.com> (raw)
In-Reply-To: <8f1fff0c358b4b669d51cc80098dbba1@AcuMS.aculab.com>

[-- Attachment #1: Type: text/plain, Size: 2086 bytes --]

On Thu, Oct 22, 2020 at 9:35 AM David Laight <David.Laight@aculab.com> wrote:
>
> From: Christoph Hellwig
> > Sent: 22 October 2020 14:24
> >
> > On Thu, Oct 22, 2020 at 11:36:40AM +0200, David Hildenbrand wrote:
> > > My thinking: if the compiler that calls import_iovec() has garbage in
> > > the upper 32 bit
> > >
> > > a) gcc will zero it out and not rely on it being zero.
> > > b) clang will not zero it out, assuming it is zero.
> > >
> > > But
> > >
> > > a) will zero it out when calling the !inlined variant
> > > b) clang will zero it out when calling the !inlined variant
> > >
> > > When inlining, b) strikes. We access garbage. That would mean that we
> > > have calling code that's not generated by clang/gcc IIUC.
> >
> > Most callchains of import_iovec start with the assembly syscall wrappers.
>
> Wait...
> readv(2) defines:
>         ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
>
> But the syscall is defined as:
>
> SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
>                 unsigned long, vlen)
> {
>         return do_readv(fd, vec, vlen, 0);
> }
>
> I'm guessing that nothing actually masks the high bits that come
> from an application that is compiled with clang?
>
> The vlen is 'unsigned long' through the first few calls.
> So unless there is a non-inlined function than takes vlen
> as 'int' the high garbage bits from userspace are kept.

Yeah, that's likely a bug: https://godbolt.org/z/KfsPKs

>
> Which makes it a bug in the kernel C syscall wrappers.
> They need to explicitly mask the high bits of 32bit
> arguments on arm64 but not x86-64.

Why not x86-64? Wouldn't it be *any* LP64 ISA?

Attaching a patch that uses the proper width, but I'm pretty sure
there's still a signedness issue .  Greg, would you mind running this
through the wringer?

>
> What does the ARM EABI say about register parameters?

AAPCS is the ABI for 64b ARM, IIUC, which is the ISA GKH is reporting
the problem against. IIUC, EABI is one of the 32b ABIs.  aarch64 is
LP64 just like x86_64.

--
Thanks,
~Nick Desaulniers

[-- Attachment #2: 0001-fs-fix-up-type-confusion-in-readv-writev.patch --]
[-- Type: application/octet-stream, Size: 4630 bytes --]

From aae26b13ffb9e38bb46b8c85985761b5f196b6f6 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Thu, 22 Oct 2020 10:23:47 -0700
Subject: [PATCH] fs: fix up type confusion in readv/writev

The syscall interface doesn't match up with the interface libc is using
or that's defined in the manual pages.

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

The kernel was defining `iovcnt` as `unsigned long` which is a problem
when userspace understands this to be `int`.

(There's still likely a signedness bug here, but use the proper widths
that import_iovec() expects.)

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 fs/read_write.c    | 10 +++++-----
 fs/splice.c        |  2 +-
 include/linux/fs.h |  2 +-
 lib/iov_iter.c     |  4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/read_write.c b/fs/read_write.c
index 19f5c4bf75aa..b858f39a4475 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -890,7 +890,7 @@ ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos,
 EXPORT_SYMBOL(vfs_iter_write);
 
 ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
-		  unsigned long vlen, loff_t *pos, rwf_t flags)
+		  unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -907,7 +907,7 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
-		   unsigned long vlen, loff_t *pos, rwf_t flags)
+		   unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -925,7 +925,7 @@ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t do_readv(unsigned long fd, const struct iovec __user *vec,
-			unsigned long vlen, rwf_t flags)
+			unsigned int vlen, rwf_t flags)
 {
 	struct fd f = fdget_pos(fd);
 	ssize_t ret = -EBADF;
@@ -1025,13 +1025,13 @@ static ssize_t do_pwritev(unsigned long fd, const struct iovec __user *vec,
 }
 
 SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_readv(fd, vec, vlen, 0);
 }
 
 SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_writev(fd, vec, vlen, 0);
 }
diff --git a/fs/splice.c b/fs/splice.c
index 70cc52af780b..7508eccfa143 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -342,7 +342,7 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops = {
 EXPORT_SYMBOL(nosteal_pipe_buf_ops);
 
 static ssize_t kernel_readv(struct file *file, const struct kvec *vec,
-			    unsigned long vlen, loff_t offset)
+			    unsigned int vlen, loff_t offset)
 {
 	mm_segment_t old_fs;
 	loff_t pos = offset;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c4ae9cafbbba..211bce5e6e60 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1895,7 +1895,7 @@ static inline int call_mmap(struct file *file, struct vm_area_struct *vma)
 extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
 extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
 extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
-		unsigned long, loff_t *, rwf_t);
+		unsigned int, loff_t *, rwf_t);
 extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
 				   loff_t, size_t, unsigned int);
 extern ssize_t generic_copy_file_range(struct file *file_in, loff_t pos_in,
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 1635111c5bd2..ded9d9c4eb28 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1734,7 +1734,7 @@ struct iovec *iovec_from_user(const struct iovec __user *uvec,
 }
 
 ssize_t __import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp,
+		 unsigned int nr_segs, unsigned int fast_segs, struct iovec **iovp,
 		 struct iov_iter *i, bool compat)
 {
 	ssize_t total_len = 0;
@@ -1803,7 +1803,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec,
  * Return: Negative error code on error, bytes imported on success
  */
 ssize_t import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs,
+		 unsigned int nr_segs, unsigned int fast_segs,
 		 struct iovec **iovp, struct iov_iter *i)
 {
 	return __import_iovec(type, uvec, nr_segs, fast_segs, iovp, i,
-- 
2.29.0.rc1.297.gfa9743e501-goog


WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com>
To: David Laight <David.Laight@aculab.com>
Cc: "linux-aio@kvack.org" <linux-aio@kvack.org>,
	David Hildenbrand <david@redhat.com>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	David Howells <dhowells@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"keyrings@vger.kernel.org" <keyrings@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"kernel-team@android.com" <kernel-team@android.com>,
	Arnd Bergmann <arnd@arndb.de>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	"io-uring@vger.kernel.org" <io-uring@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Jens Axboe <axboe@kernel.dk>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-security-module@vger.kernel.org"
	<linux-security-module@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c"
Date: Thu, 22 Oct 2020 10:54:06 -0700	[thread overview]
Message-ID: <CAKwvOdnix6YGFhsmT_mY8ORNPTOsN3HwS33Dr0Ykn-pyJ6e-Bw@mail.gmail.com> (raw)
In-Reply-To: <8f1fff0c358b4b669d51cc80098dbba1@AcuMS.aculab.com>

[-- Attachment #1: Type: text/plain, Size: 2086 bytes --]

On Thu, Oct 22, 2020 at 9:35 AM David Laight <David.Laight@aculab.com> wrote:
>
> From: Christoph Hellwig
> > Sent: 22 October 2020 14:24
> >
> > On Thu, Oct 22, 2020 at 11:36:40AM +0200, David Hildenbrand wrote:
> > > My thinking: if the compiler that calls import_iovec() has garbage in
> > > the upper 32 bit
> > >
> > > a) gcc will zero it out and not rely on it being zero.
> > > b) clang will not zero it out, assuming it is zero.
> > >
> > > But
> > >
> > > a) will zero it out when calling the !inlined variant
> > > b) clang will zero it out when calling the !inlined variant
> > >
> > > When inlining, b) strikes. We access garbage. That would mean that we
> > > have calling code that's not generated by clang/gcc IIUC.
> >
> > Most callchains of import_iovec start with the assembly syscall wrappers.
>
> Wait...
> readv(2) defines:
>         ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
>
> But the syscall is defined as:
>
> SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
>                 unsigned long, vlen)
> {
>         return do_readv(fd, vec, vlen, 0);
> }
>
> I'm guessing that nothing actually masks the high bits that come
> from an application that is compiled with clang?
>
> The vlen is 'unsigned long' through the first few calls.
> So unless there is a non-inlined function than takes vlen
> as 'int' the high garbage bits from userspace are kept.

Yeah, that's likely a bug: https://godbolt.org/z/KfsPKs

>
> Which makes it a bug in the kernel C syscall wrappers.
> They need to explicitly mask the high bits of 32bit
> arguments on arm64 but not x86-64.

Why not x86-64? Wouldn't it be *any* LP64 ISA?

Attaching a patch that uses the proper width, but I'm pretty sure
there's still a signedness issue .  Greg, would you mind running this
through the wringer?

>
> What does the ARM EABI say about register parameters?

AAPCS is the ABI for 64b ARM, IIUC, which is the ISA GKH is reporting
the problem against. IIUC, EABI is one of the 32b ABIs.  aarch64 is
LP64 just like x86_64.

--
Thanks,
~Nick Desaulniers

[-- Attachment #2: 0001-fs-fix-up-type-confusion-in-readv-writev.patch --]
[-- Type: application/octet-stream, Size: 4630 bytes --]

From aae26b13ffb9e38bb46b8c85985761b5f196b6f6 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Thu, 22 Oct 2020 10:23:47 -0700
Subject: [PATCH] fs: fix up type confusion in readv/writev

The syscall interface doesn't match up with the interface libc is using
or that's defined in the manual pages.

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

The kernel was defining `iovcnt` as `unsigned long` which is a problem
when userspace understands this to be `int`.

(There's still likely a signedness bug here, but use the proper widths
that import_iovec() expects.)

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 fs/read_write.c    | 10 +++++-----
 fs/splice.c        |  2 +-
 include/linux/fs.h |  2 +-
 lib/iov_iter.c     |  4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/read_write.c b/fs/read_write.c
index 19f5c4bf75aa..b858f39a4475 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -890,7 +890,7 @@ ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos,
 EXPORT_SYMBOL(vfs_iter_write);
 
 ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
-		  unsigned long vlen, loff_t *pos, rwf_t flags)
+		  unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -907,7 +907,7 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
-		   unsigned long vlen, loff_t *pos, rwf_t flags)
+		   unsigned int vlen, loff_t *pos, rwf_t flags)
 {
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
@@ -925,7 +925,7 @@ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 }
 
 static ssize_t do_readv(unsigned long fd, const struct iovec __user *vec,
-			unsigned long vlen, rwf_t flags)
+			unsigned int vlen, rwf_t flags)
 {
 	struct fd f = fdget_pos(fd);
 	ssize_t ret = -EBADF;
@@ -1025,13 +1025,13 @@ static ssize_t do_pwritev(unsigned long fd, const struct iovec __user *vec,
 }
 
 SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_readv(fd, vec, vlen, 0);
 }
 
 SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
-		unsigned long, vlen)
+		unsigned int, vlen)
 {
 	return do_writev(fd, vec, vlen, 0);
 }
diff --git a/fs/splice.c b/fs/splice.c
index 70cc52af780b..7508eccfa143 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -342,7 +342,7 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops = {
 EXPORT_SYMBOL(nosteal_pipe_buf_ops);
 
 static ssize_t kernel_readv(struct file *file, const struct kvec *vec,
-			    unsigned long vlen, loff_t offset)
+			    unsigned int vlen, loff_t offset)
 {
 	mm_segment_t old_fs;
 	loff_t pos = offset;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c4ae9cafbbba..211bce5e6e60 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1895,7 +1895,7 @@ static inline int call_mmap(struct file *file, struct vm_area_struct *vma)
 extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
 extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
 extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
-		unsigned long, loff_t *, rwf_t);
+		unsigned int, loff_t *, rwf_t);
 extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
 				   loff_t, size_t, unsigned int);
 extern ssize_t generic_copy_file_range(struct file *file_in, loff_t pos_in,
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 1635111c5bd2..ded9d9c4eb28 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1734,7 +1734,7 @@ struct iovec *iovec_from_user(const struct iovec __user *uvec,
 }
 
 ssize_t __import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp,
+		 unsigned int nr_segs, unsigned int fast_segs, struct iovec **iovp,
 		 struct iov_iter *i, bool compat)
 {
 	ssize_t total_len = 0;
@@ -1803,7 +1803,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec,
  * Return: Negative error code on error, bytes imported on success
  */
 ssize_t import_iovec(int type, const struct iovec __user *uvec,
-		 unsigned nr_segs, unsigned fast_segs,
+		 unsigned int nr_segs, unsigned int fast_segs,
 		 struct iovec **iovp, struct iov_iter *i)
 {
 	return __import_iovec(type, uvec, nr_segs, fast_segs, iovp, i,
-- 
2.29.0.rc1.297.gfa9743e501-goog


[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-10-22 17:54 UTC|newest]

Thread overview: 840+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-25  4:51 let import_iovec deal with compat_iovecs as well v4 Christoph Hellwig
2020-09-25  4:51 ` Christoph Hellwig
2020-09-25  4:51 ` Christoph Hellwig
2020-09-25  4:51 ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 1/9] compat.h: fix a spelling error in <linux/compat.h> Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-10-21 16:13   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-21 16:13     ` Greg KH
2020-10-21 16:13     ` Greg KH
2020-10-21 16:13     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c Greg KH
2020-10-21 20:59     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-21 20:59       ` David Laight
2020-10-21 20:59       ` David Laight
2020-10-21 20:59       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-21 20:59       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-21 23:39     ` Al Viro
2020-10-21 23:39       ` Al Viro
2020-10-21 23:39       ` Al Viro
2020-10-21 23:39       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22  8:26       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22  8:26         ` Greg KH
2020-10-22  8:26         ` Greg KH
2020-10-22  8:26         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22  8:35         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22  8:35           ` David Hildenbrand
2020-10-22  8:35           ` David Hildenbrand
2020-10-22  8:35           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22  8:40           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  8:40             ` David Laight
2020-10-22  8:40             ` David Laight
2020-10-22  8:40             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22  8:40             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  8:48             ` David Hildenbrand
2020-10-22  8:48               ` David Hildenbrand
2020-10-22  8:48               ` David Hildenbrand
2020-10-22  8:48               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22  8:48               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22  9:01               ` Greg KH
2020-10-22  9:01                 ` Greg KH
2020-10-22  9:01                 ` Greg KH
2020-10-22  9:01                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22  9:01                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22  9:06                 ` David Laight
2020-10-22  9:06                   ` David Laight
2020-10-22  9:06                   ` David Laight
2020-10-22  9:06                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22  9:06                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  9:19                 ` David Hildenbrand
2020-10-22  9:19                   ` David Hildenbrand
2020-10-22  9:19                   ` David Hildenbrand
2020-10-22  9:19                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22  9:19                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22  9:25                   ` David Hildenbrand
2020-10-22  9:25                     ` David Hildenbrand
2020-10-22  9:25                     ` David Hildenbrand
2020-10-22  9:25                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22  9:25                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22  9:32                     ` David Laight
2020-10-22  9:32                       ` David Laight
2020-10-22  9:32                       ` David Laight
2020-10-22  9:32                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22  9:32                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  9:36                       ` David Hildenbrand
2020-10-22  9:36                         ` David Hildenbrand
2020-10-22  9:36                         ` David Hildenbrand
2020-10-22  9:36                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22  9:36                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22 10:48                         ` Greg KH
2020-10-22 10:48                           ` Greg KH
2020-10-22 10:48                           ` Greg KH
2020-10-22 10:48                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22 10:48                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22 12:18                           ` Greg KH
2020-10-22 12:18                             ` Greg KH
2020-10-22 12:18                             ` Greg KH
2020-10-22 12:18                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22 12:18                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22 12:42                             ` David Hildenbrand
2020-10-22 12:42                               ` David Hildenbrand
2020-10-22 12:42                               ` David Hildenbrand
2020-10-22 12:42                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-22 12:42                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22 12:57                               ` Greg KH
2020-10-22 12:57                                 ` Greg KH
2020-10-22 12:57                                 ` Greg KH
2020-10-22 12:57                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22 12:57                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22 13:50                                 ` Greg KH
2020-10-22 13:50                                   ` Greg KH
2020-10-22 13:50                                   ` Greg KH
2020-10-22 13:50                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22 13:50                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22 14:28                                   ` Arnd Bergmann
2020-10-22 14:28                                     ` Arnd Bergmann
2020-10-22 14:40                                     ` Greg KH
2020-10-22 14:40                                       ` Greg KH
2020-10-22 14:40                                       ` Greg KH
2020-10-22 14:40                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Greg KH
2020-10-22 14:40                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Greg KH
2020-10-22 16:15                                       ` David Laight
2020-10-22 16:15                                         ` David Laight
2020-10-22 16:15                                         ` David Laight
2020-10-22 16:15                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22 16:15                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 12:46                                   ` David Laight
2020-10-23 12:46                                     ` David Laight
2020-10-23 12:46                                     ` David Laight
2020-10-23 12:46                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-23 12:46                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 13:09                                     ` David Hildenbrand
2020-10-23 13:09                                       ` David Hildenbrand
2020-10-23 13:09                                       ` David Hildenbrand
2020-10-23 13:09                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-23 13:09                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-23 14:33                                       ` David Hildenbrand
2020-10-23 14:33                                         ` David Hildenbrand
2020-10-23 14:33                                         ` David Hildenbrand
2020-10-23 14:33                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-23 14:33                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-23 14:39                                         ` David Laight
2020-10-23 14:39                                           ` David Laight
2020-10-23 14:39                                           ` David Laight
2020-10-23 14:39                                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-23 14:39                                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 14:47                                           ` 'Greg KH'
2020-10-23 14:47                                             ` 'Greg KH'
2020-10-23 14:47                                             ` 'Greg KH'
2020-10-23 14:47                                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it 'Greg KH'
2020-10-23 14:47                                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" 'Greg KH'
2020-10-23 16:33                                             ` David Hildenbrand
2020-10-23 16:33                                               ` David Hildenbrand
2020-10-23 16:33                                               ` David Hildenbrand
2020-10-23 16:33                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-23 16:33                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-11-02  9:06                                             ` David Laight
2020-11-02  9:06                                               ` David Laight
2020-11-02  9:06                                               ` David Laight
2020-11-02  9:06                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-11-02  9:06                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-11-02 13:52                                               ` 'Greg KH'
2020-11-02 13:52                                                 ` 'Greg KH'
2020-11-02 13:52                                                 ` 'Greg KH'
2020-11-02 13:52                                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it 'Greg KH'
2020-11-02 13:52                                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" 'Greg KH'
2020-11-02 18:23                                                 ` David Laight
2020-11-02 18:23                                                   ` David Laight
2020-11-02 18:23                                                   ` David Laight
2020-11-02 18:23                                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-11-02 18:23                                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 17:58                                       ` Al Viro
2020-10-23 17:58                                         ` Al Viro
2020-10-23 17:58                                         ` Al Viro
2020-10-23 17:58                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-23 17:58                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-23 18:27                                         ` Segher Boessenkool
2020-10-23 18:27                                           ` Segher Boessenkool
2020-10-23 18:27                                           ` Segher Boessenkool
2020-10-23 18:27                                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Segher Boessenkool
2020-10-23 18:27                                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Segher Boessenkool
2020-10-23 21:28                                           ` David Laight
2020-10-23 21:28                                             ` David Laight
2020-10-23 21:28                                             ` David Laight
2020-10-23 21:28                                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-23 21:28                                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-24 17:29                                             ` Segher Boessenkool
2020-10-24 17:29                                               ` Segher Boessenkool
2020-10-24 17:29                                               ` Segher Boessenkool
2020-10-24 17:29                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Segher Boessenkool
2020-10-24 17:29                                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Segher Boessenkool
2020-10-24 21:12                                               ` David Laight
2020-10-24 21:12                                                 ` David Laight
2020-10-24 21:12                                                 ` David Laight
2020-10-24 21:12                                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-24 21:12                                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 13:23                                     ` Arnd Bergmann
2020-10-23 13:23                                       ` Arnd Bergmann
2020-10-23 13:28                                       ` David Laight
2020-10-23 13:28                                         ` David Laight
2020-10-23 13:28                                         ` David Laight
2020-10-23 13:28                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-23 13:28                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22 13:23                         ` Christoph Hellwig
2020-10-22 13:23                           ` Christoph Hellwig
2020-10-22 13:23                           ` Christoph Hellwig
2020-10-22 13:23                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Christoph Hellwig
2020-10-22 13:23                           ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Christoph Hellwig
2020-10-22 16:35                           ` David Laight
2020-10-22 16:35                             ` David Laight
2020-10-22 16:35                             ` David Laight
2020-10-22 16:35                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22 16:35                             ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22 16:40                             ` Matthew Wilcox
2020-10-22 16:40                               ` Matthew Wilcox
2020-10-22 16:40                               ` Matthew Wilcox
2020-10-22 16:40                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Matthew Wilcox
2020-10-22 16:40                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Matthew Wilcox
2020-10-22 16:50                               ` David Laight
2020-10-22 16:50                                 ` David Laight
2020-10-22 16:50                                 ` David Laight
2020-10-22 16:50                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22 16:50                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22 17:00                               ` Nick Desaulniers
2020-10-22 17:00                                 ` Nick Desaulniers
2020-10-22 17:00                                 ` Nick Desaulniers
2020-10-22 17:00                                 ` Nick Desaulniers
2020-10-22 17:00                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Nick Desaulniers
2020-10-22 17:00                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Nick Desaulniers
2020-10-22 20:59                                 ` Eric Biggers
2020-10-22 20:59                                   ` Eric Biggers
2020-10-22 20:59                                   ` Eric Biggers
2020-10-22 20:59                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Eric Biggers
2020-10-22 20:59                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Eric Biggers
2020-10-22 21:28                                   ` Al Viro
2020-10-22 21:28                                     ` Al Viro
2020-10-22 21:28                                     ` Al Viro
2020-10-22 21:28                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 21:28                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 18:19                               ` Al Viro
2020-10-22 18:19                                 ` Al Viro
2020-10-22 18:19                                 ` Al Viro
2020-10-22 18:19                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 18:19                                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 17:54                             ` Nick Desaulniers [this message]
2020-10-22 17:54                               ` Nick Desaulniers
2020-10-22 17:54                               ` Nick Desaulniers
2020-10-22 17:54                               ` Nick Desaulniers
2020-10-22 17:54                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Nick Desaulniers
2020-10-22 17:54                               ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Nick Desaulniers
2020-10-22 18:12                               ` Arnd Bergmann
2020-10-22 18:12                                 ` Arnd Bergmann
2020-10-22 19:04                                 ` Nick Desaulniers
2020-10-22 19:04                                   ` Nick Desaulniers
2020-10-22 19:04                                   ` Nick Desaulniers
2020-10-22 19:04                                   ` Nick Desaulniers
2020-10-22 19:04                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Nick Desaulniers
2020-10-22 19:04                                   ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Nick Desaulniers
2020-10-22 19:24                                   ` Al Viro
2020-10-22 19:24                                     ` Al Viro
2020-10-22 19:24                                     ` Al Viro
2020-10-22 19:24                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 19:24                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 19:27                                     ` Al Viro
2020-10-22 19:27                                       ` Al Viro
2020-10-22 19:27                                       ` Al Viro
2020-10-22 19:27                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 19:27                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 20:06                                     ` Al Viro
2020-10-22 20:06                                       ` Al Viro
2020-10-22 20:06                                       ` Al Viro
2020-10-22 20:06                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 20:06                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 20:09                                       ` Al Viro
2020-10-22 20:09                                         ` Al Viro
2020-10-22 20:09                                         ` Al Viro
2020-10-22 20:09                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Al Viro
2020-10-22 20:09                                         ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Al Viro
2020-10-22 20:11                                     ` Nick Desaulniers
2020-10-22 20:11                                       ` Nick Desaulniers
2020-10-22 20:11                                       ` Nick Desaulniers
2020-10-22 20:11                                       ` Nick Desaulniers
2020-10-22 20:11                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it Nick Desaulniers
2020-10-22 20:11                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" Nick Desaulniers
2020-10-22 22:07                                     ` David Laight
2020-10-22 22:07                                       ` David Laight
2020-10-22 22:07                                       ` David Laight
2020-10-22 22:07                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22 22:07                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-23 13:12                                     ` David Hildenbrand
2020-10-23 13:12                                       ` David Hildenbrand
2020-10-23 13:12                                       ` David Hildenbrand
2020-10-23 13:12                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Hildenbrand
2020-10-23 13:12                                       ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Hildenbrand
2020-10-22 20:06                                   ` Arnd Bergmann
2020-10-22 20:06                                     ` Arnd Bergmann
2020-10-22 22:04                                   ` David Laight
2020-10-22 22:04                                     ` David Laight
2020-10-22 22:04                                     ` David Laight
2020-10-22 22:04                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22 22:04                                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  9:28                   ` David Laight
2020-10-22  9:28                     ` David Laight
2020-10-22  9:28                     ` David Laight
2020-10-22  9:28                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22  9:28                     ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  9:02               ` David Laight
2020-10-22  9:02                 ` David Laight
2020-10-22  9:02                 ` David Laight
2020-10-22  9:02                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_it David Laight
2020-10-22  9:02                 ` Buggy commit tracked to: "Re: [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c" David Laight
2020-10-22  9:14         ` Arnd Bergmann
2020-10-22  9:14           ` Arnd Bergmann
2020-10-22  9:16         ` Arnd Bergmann
2020-10-22  9:16           ` Arnd Bergmann
2020-10-22  9:16           ` Arnd Bergmann
2020-09-25  4:51 ` [PATCH 3/9] iov_iter: refactor rw_copy_check_uvector and import_iovec Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 4/9] iov_iter: transparently handle compat iovecs in import_iovec Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 5/9] fs: remove various compat readv/writev helpers Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 6/9] fs: remove the compat readv/writev syscalls Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 7/9] fs: remove compat_sys_vmsplice Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 8/9] mm: remove compat_process_vm_{readv,writev} Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51 ` [PATCH 9/9] security/keys: remove compat_keyctl_instantiate_key_iov Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25  4:51   ` Christoph Hellwig
2020-09-25 15:23 ` let import_iovec deal with compat_iovecs as well v4 Al Viro
2020-09-25 15:23   ` Al Viro
2020-09-25 15:23   ` Al Viro
2020-09-25 15:23   ` Al Viro
  -- strict thread matches above, loose matches on Subject: below --
2020-09-23  6:05 let import_iovec deal with compat_iovecs as well v3 Christoph Hellwig
2020-09-23  6:05 ` Christoph Hellwig
2020-09-23  6:05 ` Christoph Hellwig
2020-09-23  6:05 ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 1/9] compat.h: fix a spelling error in <linux/compat.h> Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 2/9] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 3/9] iov_iter: refactor rw_copy_check_uvector and import_iovec Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23 14:16   ` Al Viro
2020-09-23 14:16     ` Al Viro
2020-09-23 14:16     ` Al Viro
2020-09-23 14:16     ` Al Viro
2020-09-23 14:38     ` David Laight
2020-09-23 14:38       ` David Laight
2020-09-23 14:38       ` David Laight
2020-09-23 14:38       ` David Laight
2020-09-23 14:49       ` Al Viro
2020-09-23 14:49         ` Al Viro
2020-09-23 14:49         ` Al Viro
2020-09-23 14:49         ` Al Viro
2020-09-23 14:49         ` Al Viro
2020-09-23 14:40     ` Al Viro
2020-09-23 14:40       ` Al Viro
2020-09-23 14:40       ` Al Viro
2020-09-23 14:40       ` Al Viro
2020-09-23  6:05 ` [PATCH 4/9] iov_iter: transparently handle compat iovecs in import_iovec Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 5/9] fs: remove various compat readv/writev helpers Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23 14:25   ` Al Viro
2020-09-23 14:25     ` Al Viro
2020-09-23 14:25     ` Al Viro
2020-09-23 14:25     ` Al Viro
2020-09-23 14:32     ` Christoph Hellwig
2020-09-23 14:32       ` Christoph Hellwig
2020-09-23 14:32       ` Christoph Hellwig
2020-09-23 14:32       ` Christoph Hellwig
2020-09-23 14:59       ` Al Viro
2020-09-23 14:59         ` Al Viro
2020-09-23 14:59         ` Al Viro
2020-09-23 14:59         ` Al Viro
2020-09-23 16:38         ` Al Viro
2020-09-23 16:38           ` Al Viro
2020-09-23 16:38           ` Al Viro
2020-09-23 16:38           ` Al Viro
2020-09-23 17:05           ` Al Viro
2020-09-23 17:05             ` Al Viro
2020-09-23 17:05             ` Al Viro
2020-09-23 17:05             ` Al Viro
2020-09-23 17:46             ` Christoph Hellwig
2020-09-23 17:46               ` Christoph Hellwig
2020-09-23 17:46               ` Christoph Hellwig
2020-09-23 17:46               ` Christoph Hellwig
2020-09-23 17:08           ` Brian Gerst
2020-09-23 17:08             ` Brian Gerst
2020-09-23 17:08             ` Brian Gerst
2020-09-23 17:08             ` Brian Gerst
2020-09-23 17:08             ` Brian Gerst
2020-09-23 18:45           ` Arnd Bergmann
2020-09-23 18:45             ` Arnd Bergmann
2020-09-23 18:45             ` Arnd Bergmann
2020-09-23 18:45             ` Arnd Bergmann
2020-09-23 18:45             ` Arnd Bergmann
2020-09-23 19:47             ` Al Viro
2020-09-23 19:47               ` Al Viro
2020-09-23 19:47               ` Al Viro
2020-09-23 19:47               ` Al Viro
2020-09-23 19:52               ` Arnd Bergmann
2020-09-23 19:52                 ` Arnd Bergmann
2020-09-23 19:52                 ` Arnd Bergmann
2020-09-23 19:52                 ` Arnd Bergmann
2020-09-23 19:52                 ` Arnd Bergmann
2020-09-23 21:30             ` David Laight
2020-09-23 21:30               ` David Laight
2020-09-23 21:30               ` David Laight
2020-09-23 21:30               ` David Laight
2020-09-23  6:05 ` [PATCH 6/9] fs: remove the compat readv/writev syscalls Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 7/9] fs: remove compat_sys_vmsplice Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 8/9] mm: remove compat_process_vm_{readv,writev} Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05 ` [PATCH 9/9] security/keys: remove compat_keyctl_instantiate_key_iov Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-23  6:05   ` Christoph Hellwig
2020-09-21 14:34 let import_iovec deal with compat_iovecs as well v2 Christoph Hellwig
2020-09-21 14:34 ` Christoph Hellwig
2020-09-21 14:34 ` Christoph Hellwig
2020-09-21 14:34 ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 01/11] compat.h: fix a spelling error in <linux/compat.h> Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 02/11] mm: call import_iovec() instead of rw_copy_check_uvector() in process_vm_rw() Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:48   ` Matthew Wilcox
2020-09-21 14:48     ` Matthew Wilcox
2020-09-21 14:48     ` Matthew Wilcox
2020-09-21 14:48     ` Matthew Wilcox
2020-09-21 15:02   ` Al Viro
2020-09-21 15:02     ` Al Viro
2020-09-21 15:02     ` Al Viro
2020-09-21 15:02     ` Al Viro
2020-09-21 15:21     ` David Laight
2020-09-21 15:21       ` David Laight
2020-09-21 15:21       ` David Laight
2020-09-21 15:21       ` David Laight
2020-09-21 15:29       ` Al Viro
2020-09-21 15:29         ` Al Viro
2020-09-21 15:29         ` Al Viro
2020-09-21 15:29         ` Al Viro
2020-09-21 15:29         ` Al Viro
2020-09-21 15:44         ` David Laight
2020-09-21 15:44           ` David Laight
2020-09-21 15:44           ` David Laight
2020-09-21 15:44           ` David Laight
2020-09-21 16:27           ` Al Viro
2020-09-21 16:27             ` Al Viro
2020-09-21 16:27             ` Al Viro
2020-09-21 16:27             ` Al Viro
2020-09-21 16:27             ` Al Viro
2020-09-21 16:12         ` Christoph Hellwig
2020-09-21 16:12           ` Christoph Hellwig
2020-09-21 16:12           ` Christoph Hellwig
2020-09-21 16:12           ` Christoph Hellwig
2020-09-21 16:12           ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 03/11] iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c and mark it static Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 04/11] iov_iter: explicitly check for CHECK_IOVEC_ONLY in rw_copy_check_uvector Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 15:05   ` David Laight
2020-09-21 15:05     ` David Laight
2020-09-21 15:05     ` David Laight
2020-09-21 15:05     ` David Laight
2020-09-21 15:11     ` Al Viro
2020-09-21 15:11       ` Al Viro
2020-09-21 15:11       ` Al Viro
2020-09-21 15:11       ` Al Viro
2020-09-21 15:11       ` Al Viro
2020-09-21 15:26       ` David Laight
2020-09-21 15:26         ` David Laight
2020-09-21 15:26         ` David Laight
2020-09-21 15:26         ` David Laight
2020-09-21 15:07   ` Al Viro
2020-09-21 15:07     ` Al Viro
2020-09-21 15:07     ` Al Viro
2020-09-21 15:07     ` Al Viro
2020-09-21 14:34 ` [PATCH 05/11] iov_iter: merge the compat case into rw_copy_check_uvector Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 15:14   ` Al Viro
2020-09-21 15:14     ` Al Viro
2020-09-21 15:14     ` Al Viro
2020-09-21 15:14     ` Al Viro
2021-01-08 11:49   ` David Laight
2021-01-08 11:49     ` David Laight
2021-01-08 11:49     ` David Laight
2021-01-08 11:49     ` David Laight
2021-01-08 11:49     ` David Laight
2020-09-21 14:34 ` [PATCH 06/11] iov_iter: handle the compat case in import_iovec Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 15:20   ` Al Viro
2020-09-21 15:20     ` Al Viro
2020-09-21 15:20     ` Al Viro
2020-09-21 15:20     ` Al Viro
2020-09-21 14:34 ` [PATCH 07/11] fs: remove various compat readv/writev helpers Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 08/11] fs: remove the compat readv/writev syscalls Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 09/11] fs: remove compat_sys_vmsplice Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 10/11] mm: remove compat_process_vm_{readv,writev} Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34 ` [PATCH 11/11] security/keys: remove compat_keyctl_instantiate_key_iov Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-21 14:34   ` Christoph Hellwig
2020-09-18 12:45 let import_iovec deal with compat_iovecs as well Christoph Hellwig
2020-09-18 12:45 ` Christoph Hellwig
2020-09-18 12:45 ` Christoph Hellwig
2020-09-18 12:45 ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 1/9] kernel: add a PF_FORCE_COMPAT flag Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 13:40   ` Al Viro
2020-09-18 13:40     ` Al Viro
2020-09-18 13:40     ` Al Viro
2020-09-18 13:40     ` Al Viro
2020-09-18 13:44     ` Christoph Hellwig
2020-09-18 13:44       ` Christoph Hellwig
2020-09-18 13:44       ` Christoph Hellwig
2020-09-18 13:44       ` Christoph Hellwig
2020-09-18 13:58       ` Al Viro
2020-09-18 13:58         ` Al Viro
2020-09-18 13:58         ` Al Viro
2020-09-18 13:58         ` Al Viro
2020-09-18 15:16         ` Christoph Hellwig
2020-09-18 15:16           ` Christoph Hellwig
2020-09-18 15:16           ` Christoph Hellwig
2020-09-18 15:16           ` Christoph Hellwig
2020-09-19 16:21           ` Andy Lutomirski
2020-09-19 16:21             ` Andy Lutomirski
2020-09-19 16:21             ` Andy Lutomirski
2020-09-19 16:21             ` Andy Lutomirski
2020-09-19 16:21             ` Andy Lutomirski
2020-09-19 21:16             ` Arnd Bergmann
2020-09-19 21:16               ` Arnd Bergmann
2020-09-19 21:16               ` Arnd Bergmann
2020-09-19 21:16               ` Arnd Bergmann
2020-09-19 21:16               ` Arnd Bergmann
2020-09-19 21:52               ` Finn Thain
2020-09-19 21:52                 ` Finn Thain
2020-09-19 21:52                 ` Finn Thain
2020-09-19 21:52                 ` Finn Thain
2020-09-19 21:52                 ` Finn Thain
2020-09-19 22:22               ` Andy Lutomirski
2020-09-19 22:22                 ` Andy Lutomirski
2020-09-19 22:22                 ` Andy Lutomirski
2020-09-19 22:22                 ` Andy Lutomirski
2020-09-19 22:22                 ` Andy Lutomirski
2020-09-21 16:10                 ` Pavel Begunkov
2020-09-21 16:10                   ` Pavel Begunkov
2020-09-21 16:10                   ` Pavel Begunkov
2020-09-21 16:10                   ` Pavel Begunkov
2020-09-21 16:10                   ` Pavel Begunkov
2020-09-21 16:13                   ` Pavel Begunkov
2020-09-21 16:13                     ` Pavel Begunkov
2020-09-21 16:13                     ` Pavel Begunkov
2020-09-21 16:13                     ` Pavel Begunkov
2020-09-21 16:13                     ` Pavel Begunkov
2020-09-21 23:51                     ` Andy Lutomirski
2020-09-21 23:51                       ` Andy Lutomirski
2020-09-21 23:51                       ` Andy Lutomirski
2020-09-21 23:51                       ` Andy Lutomirski
2020-09-21 23:51                       ` Andy Lutomirski
2020-09-21 23:51                       ` Andy Lutomirski
2020-09-22  0:22                       ` Pavel Begunkov
2020-09-22  0:22                         ` Pavel Begunkov
2020-09-22  0:22                         ` Pavel Begunkov
2020-09-22  0:22                         ` Pavel Begunkov
2020-09-22  0:22                         ` Pavel Begunkov
2020-09-22  0:58                         ` Andy Lutomirski
2020-09-22  0:58                           ` Andy Lutomirski
2020-09-22  0:58                           ` Andy Lutomirski
2020-09-22  0:58                           ` Andy Lutomirski
2020-09-22  0:58                           ` Andy Lutomirski
2020-09-22  0:58                           ` Andy Lutomirski
2020-09-22  6:30                           ` Pavel Begunkov
2020-09-22  6:30                             ` Pavel Begunkov
2020-09-22  6:30                             ` Pavel Begunkov
2020-09-22  6:30                             ` Pavel Begunkov
2020-09-22  7:23                             ` Arnd Bergmann
2020-09-22  7:23                               ` Arnd Bergmann
2020-09-22  7:23                               ` Arnd Bergmann
2020-09-22  7:23                               ` Arnd Bergmann
2020-09-22  7:23                               ` Arnd Bergmann
2020-09-22  7:57                               ` Pavel Begunkov
2020-09-22  7:57                                 ` Pavel Begunkov
2020-09-22  7:57                                 ` Pavel Begunkov
2020-09-22  7:57                                 ` Pavel Begunkov
2020-09-22  9:01                                 ` Arnd Bergmann
2020-09-22  9:01                                   ` Arnd Bergmann
2020-09-22  9:01                                   ` Arnd Bergmann
2020-09-22  9:01                                   ` Arnd Bergmann
2020-09-22  9:01                                   ` Arnd Bergmann
2020-09-22 16:20                                   ` Andy Lutomirski
2020-09-22 16:20                                     ` Andy Lutomirski
2020-09-22 16:20                                     ` Andy Lutomirski
2020-09-22 16:20                                     ` Andy Lutomirski
2020-09-23  8:01                                   ` Pavel Begunkov
2020-09-23  8:01                                     ` Pavel Begunkov
2020-09-23  8:01                                     ` Pavel Begunkov
2020-09-23  8:01                                     ` Pavel Begunkov
2020-09-23 13:22                                     ` Al Viro
2020-09-23 13:22                                       ` Al Viro
2020-09-23 13:22                                       ` Al Viro
2020-09-23 13:22                                       ` Al Viro
2020-09-19 22:09           ` Al Viro
2020-09-19 22:09             ` Al Viro
2020-09-19 22:09             ` Al Viro
2020-09-19 22:09             ` Al Viro
2020-09-19 22:23             ` Andy Lutomirski
2020-09-19 22:23               ` Andy Lutomirski
2020-09-19 22:23               ` Andy Lutomirski
2020-09-19 22:23               ` Andy Lutomirski
2020-09-19 22:23               ` Andy Lutomirski
2020-09-19 22:41               ` Al Viro
2020-09-19 22:41                 ` Al Viro
2020-09-19 22:41                 ` Al Viro
2020-09-19 22:41                 ` Al Viro
2020-09-19 22:41                 ` Al Viro
2020-09-19 22:53                 ` Andy Lutomirski
2020-09-19 22:53                   ` Andy Lutomirski
2020-09-19 22:53                   ` Andy Lutomirski
2020-09-19 22:53                   ` Andy Lutomirski
2020-09-19 23:24                   ` Al Viro
2020-09-19 23:24                     ` Al Viro
2020-09-19 23:24                     ` Al Viro
2020-09-19 23:24                     ` Al Viro
2020-09-20  0:14                     ` Andy Lutomirski
2020-09-20  0:14                       ` Andy Lutomirski
2020-09-20  0:14                       ` Andy Lutomirski
2020-09-20  0:14                       ` Andy Lutomirski
2020-09-20  0:14                       ` Andy Lutomirski
2020-09-20  2:57                       ` Al Viro
2020-09-20  2:57                         ` Al Viro
2020-09-20  2:57                         ` Al Viro
2020-09-20  2:57                         ` Al Viro
2020-09-20 16:59                         ` Andy Lutomirski
2020-09-20 16:59                           ` Andy Lutomirski
2020-09-20 16:59                           ` Andy Lutomirski
2020-09-20 16:59                           ` Andy Lutomirski
2020-09-20 16:59                           ` Andy Lutomirski
2020-09-20 18:12                           ` Al Viro
2020-09-20 18:12                             ` Al Viro
2020-09-20 18:12                             ` Al Viro
2020-09-20 18:12                             ` Al Viro
2020-09-20 13:55             ` Arnd Bergmann
2020-09-20 13:55               ` Arnd Bergmann
2020-09-20 13:55               ` Arnd Bergmann
2020-09-20 13:55               ` Arnd Bergmann
2020-09-20 13:55               ` Arnd Bergmann
2020-09-20 15:02               ` Al Viro
2020-09-20 15:02                 ` Al Viro
2020-09-20 15:02                 ` Al Viro
2020-09-20 15:02                 ` Al Viro
2020-09-19 14:53         ` David Laight
2020-09-19 14:53           ` David Laight
2020-09-19 14:53           ` David Laight
2020-09-19 14:53           ` David Laight
2020-09-19 14:53           ` David Laight
2020-09-18 13:59       ` Arnd Bergmann
2020-09-18 13:59         ` Arnd Bergmann
2020-09-18 13:59         ` Arnd Bergmann
2020-09-18 13:59         ` Arnd Bergmann
2020-09-18 13:59         ` Arnd Bergmann
2020-09-20 15:15   ` Matthew Wilcox
2020-09-20 15:15     ` Matthew Wilcox
2020-09-20 15:15     ` Matthew Wilcox
2020-09-20 15:15     ` Matthew Wilcox
2020-09-20 15:55     ` William Kucharski
2020-09-20 15:55       ` William Kucharski
2020-09-20 15:55       ` William Kucharski
2020-09-20 15:55       ` William Kucharski
2020-09-21 16:20       ` Pavel Begunkov
2020-09-21 16:20         ` Pavel Begunkov
2020-09-21 16:20         ` Pavel Begunkov
2020-09-21 16:20         ` Pavel Begunkov
2020-09-20 16:00     ` Arnd Bergmann
2020-09-20 16:00       ` Arnd Bergmann
2020-09-20 16:00       ` Arnd Bergmann
2020-09-20 16:00       ` Arnd Bergmann
2020-09-20 16:00       ` Arnd Bergmann
2020-09-20 18:07     ` Al Viro
2020-09-20 18:07       ` Al Viro
2020-09-20 18:07       ` Al Viro
2020-09-20 18:07       ` Al Viro
2020-09-20 18:41       ` Al Viro
2020-09-20 18:41         ` Al Viro
2020-09-20 18:41         ` Al Viro
2020-09-20 18:41         ` Al Viro
2020-09-20 18:41         ` Al Viro
2020-09-20 19:01       ` Matthew Wilcox
2020-09-20 19:01         ` Matthew Wilcox
2020-09-20 19:01         ` Matthew Wilcox
2020-09-20 19:01         ` Matthew Wilcox
2020-09-20 19:10         ` Al Viro
2020-09-20 19:10           ` Al Viro
2020-09-20 19:10           ` Al Viro
2020-09-20 19:10           ` Al Viro
2020-09-20 19:22           ` Matthew Wilcox
2020-09-20 19:22             ` Matthew Wilcox
2020-09-20 19:22             ` Matthew Wilcox
2020-09-20 19:22             ` Matthew Wilcox
2020-09-20 19:28             ` Andy Lutomirski
2020-09-20 19:28               ` Andy Lutomirski
2020-09-20 19:28               ` Andy Lutomirski
2020-09-20 19:28               ` Andy Lutomirski
2020-09-20 19:28               ` Andy Lutomirski
2020-09-20 20:49               ` Arnd Bergmann
2020-09-20 20:49                 ` Arnd Bergmann
2020-09-20 20:49                 ` Arnd Bergmann
2020-09-20 20:49                 ` Arnd Bergmann
2020-09-20 20:49                 ` Arnd Bergmann
2020-09-20 21:13                 ` David Laight
2020-09-20 21:13                   ` David Laight
2020-09-20 21:13                   ` David Laight
2020-09-20 21:13                   ` David Laight
2020-09-21 16:31                   ` Pavel Begunkov
2020-09-21 16:31                     ` Pavel Begunkov
2020-09-21 16:31                     ` Pavel Begunkov
2020-09-21 16:31                     ` Pavel Begunkov
2020-09-20 21:42             ` Al Viro
2020-09-20 21:42               ` Al Viro
2020-09-20 21:42               ` Al Viro
2020-09-20 21:42               ` Al Viro
2020-09-21 16:26             ` Pavel Begunkov
2020-09-21 16:26               ` Pavel Begunkov
2020-09-21 16:26               ` Pavel Begunkov
2020-09-21 16:26               ` Pavel Begunkov
2020-09-20 19:14       ` Andy Lutomirski
2020-09-20 19:14         ` Andy Lutomirski
2020-09-20 19:14         ` Andy Lutomirski
2020-09-20 19:14         ` Andy Lutomirski
2020-09-20 19:14         ` Andy Lutomirski
2020-09-21  4:28         ` Christoph Hellwig
2020-09-21  4:28           ` Christoph Hellwig
2020-09-21  4:28           ` Christoph Hellwig
2020-09-21  4:28           ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 2/9] compat.h: fix a spelling error in <linux/compat.h> Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 13:37   ` Johannes Thumshirn
2020-09-18 13:37     ` Johannes Thumshirn
2020-09-18 13:37     ` Johannes Thumshirn
2020-09-18 13:37     ` Johannes Thumshirn
2020-09-18 12:45 ` [PATCH 3/9] fs: explicitly check for CHECK_IOVEC_ONLY in rw_copy_check_uvector Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:56   ` Matthew Wilcox
2020-09-18 12:56     ` Matthew Wilcox
2020-09-18 12:56     ` Matthew Wilcox
2020-09-18 12:56     ` Matthew Wilcox
2020-09-18 13:39   ` Johannes Thumshirn
2020-09-18 13:39     ` Johannes Thumshirn
2020-09-18 13:39     ` Johannes Thumshirn
2020-09-18 13:39     ` Johannes Thumshirn
2020-09-18 12:45 ` [PATCH 4/9] fs: handle the compat case in import_iovec Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 5/9] fs: remove various compat readv/writev helpers Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 6/9] fs: remove the compat readv/writev syscalls Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 7/9] fs: remove compat_sys_vmsplice Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45 ` [PATCH 8/9] mm: remove compat_process_vm_{readv,writev} Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 13:48   ` Arnd Bergmann
2020-09-18 13:48     ` Arnd Bergmann
2020-09-18 13:48     ` Arnd Bergmann
2020-09-18 13:48     ` Arnd Bergmann
2020-09-18 13:48     ` Arnd Bergmann
2020-09-18 12:45 ` [PATCH 9/9] security/keys: remove compat_keyctl_instantiate_key_iov Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-18 12:45   ` Christoph Hellwig
2020-09-19 14:24 ` let import_iovec deal with compat_iovecs as well David Laight
2020-09-19 14:24   ` David Laight
2020-09-19 14:24   ` David Laight
2020-09-19 14:24   ` David Laight
2020-09-21  4:41   ` 'Christoph Hellwig'
2020-09-21  4:41     ` 'Christoph Hellwig'
2020-09-21  4:41     ` 'Christoph Hellwig'
2020-09-21  4:41     ` 'Christoph Hellwig'
2020-09-21  4:41     ` 'Christoph Hellwig'
2020-09-21 11:11     ` David Laight
2020-09-21 11:11       ` David Laight
2020-09-21 11:11       ` David Laight
2020-09-21 11:11       ` David Laight

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKwvOdnix6YGFhsmT_mY8ORNPTOsN3HwS33Dr0Ykn-pyJ6e-Bw@mail.gmail.com \
    --to=ndesaulniers@google.com \
    --cc=David.Laight@aculab.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=axboe@kernel.dk \
    --cc=david@redhat.com \
    --cc=dhowells@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=io-uring@vger.kernel.org \
    --cc=kernel-team@android.com \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-aio@kvack.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=netdev@vger.kernel.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.