diff for duplicates of <20170806182203.GA12956@ZenIV.linux.org.uk> diff --git a/a/1.txt b/N1/1.txt index 1f403a8..348dd94 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,8 +2,8 @@ On Sat, Aug 05, 2017 at 11:00:50PM +0300, Dmitry V. Levin wrote: > The latest change of compat_sys_sigpending has broken it in two ways. > > First, it tries to write 4 bytes more than userspace expects: -> sizeof(old_sigset_t) = sizeof(long) = 8 instead of -> sizeof(compat_old_sigset_t) = sizeof(u32) = 4. +> sizeof(old_sigset_t) == sizeof(long) == 8 instead of +> sizeof(compat_old_sigset_t) == sizeof(u32) == 4. > > Second, on big endian architectures these bytes are being written > in the wrong order. @@ -15,7 +15,7 @@ On Sat, Aug 05, 2017 at 11:00:50PM +0300, Dmitry V. Levin wrote: > +#ifdef __BIG_ENDIAN > sigset_t set; > - int err = do_sigpending(&set, sizeof(old_sigset_t)); -> - if (err = 0) +> - if (err == 0) > - if (copy_to_user(set32, &set, sizeof(old_sigset_t))) > - err = -EFAULT; > + int err = do_sigpending(&set, sizeof(set.sig[0])); diff --git a/a/content_digest b/N1/content_digest index 75ad94e..4cec820 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020170805200050.GA24804@altlinux.org\0" "From\0Al Viro <viro@zeniv.linux.org.uk>\0" "Subject\0Re: [PATCH] Fix compat_sys_sigpending breakage introduced by v4.13-rc1~6^2~12\0" - "Date\0Sun, 06 Aug 2017 18:22:03 +0000\0" + "Date\0Sun, 6 Aug 2017 19:22:03 +0100\0" "To\0Ingo Molnar <mingo@kernel.org>" Thomas Gleixner <tglx@linutronix.de> Andrew Morton <akpm@linux-foundation.org> @@ -16,8 +16,8 @@ "> The latest change of compat_sys_sigpending has broken it in two ways.\n" "> \n" "> First, it tries to write 4 bytes more than userspace expects:\n" - "> sizeof(old_sigset_t) = sizeof(long) = 8 instead of\n" - "> sizeof(compat_old_sigset_t) = sizeof(u32) = 4.\n" + "> sizeof(old_sigset_t) == sizeof(long) == 8 instead of\n" + "> sizeof(compat_old_sigset_t) == sizeof(u32) == 4.\n" "> \n" "> Second, on big endian architectures these bytes are being written\n" "> in the wrong order.\n" @@ -29,7 +29,7 @@ "> +#ifdef __BIG_ENDIAN\n" "> \tsigset_t set;\n" "> -\tint err = do_sigpending(&set, sizeof(old_sigset_t)); \n" - "> -\tif (err = 0)\n" + "> -\tif (err == 0)\n" "> -\t\tif (copy_to_user(set32, &set, sizeof(old_sigset_t)))\n" "> -\t\t\terr = -EFAULT;\n" "> +\tint err = do_sigpending(&set, sizeof(set.sig[0]));\n" @@ -114,4 +114,4 @@ "or so, assuming I'll have any sanity left by that time). Could somebody\n" else pick that one? Linus? -96aa68041a45800cb031d87f88ea81eefed5a7a8dd2f44563224ad6af7cf716c +550d11cdec4c4f1cccd7ffb9072426376d229294cea235e3396b1578a21d8d80
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.