diff for duplicates of <20180319160513.16384-166-alexander.levin@microsoft.com>
diff --git a/a/1.txt b/N1/1.txt
index ac5bd58..ce0507a 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -7,7 +7,7 @@ This is the same si_code as SI_USER. Posix and common sense requires
that SI_USER not be a signal specific si_code. As such this use of 0
for the si_code is a pretty horribly broken ABI.
-Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a
+Further use of si_code =3D=3D 0 guaranteed that copy_siginfo_to_user saw a
value of __SI_KILL and now sees a value of SIL_KILL with the result
that uid and pid fields are copied and which might copying the si_addr
field by accident but certainly not by design. Making this a very
@@ -27,8 +27,10 @@ Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@lists.ozlabs.org
Ref: 9bad068c24d7 ("[PATCH] ppc32: support for e500 and 85xx")
-Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various exceptions.")
-History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
+Ref: 0ed70f6105ef ("PPC32: Provide proper siginfo information on various ex=
+ceptions.")
+History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.=
+git
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
@@ -36,14 +38,15 @@ Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
arch/powerpc/kernel/traps.c | 10 +++++-----
2 files changed, 20 insertions(+), 5 deletions(-)
-diff --git a/arch/powerpc/include/uapi/asm/siginfo.h b/arch/powerpc/include/uapi/asm/siginfo.h
+diff --git a/arch/powerpc/include/uapi/asm/siginfo.h b/arch/powerpc/include=
+/uapi/asm/siginfo.h
index ccce3ef5cd86..9c437eaf7c21 100644
--- a/arch/powerpc/include/uapi/asm/siginfo.h
+++ b/arch/powerpc/include/uapi/asm/siginfo.h
@@ -17,4 +17,19 @@
#undef NSIGTRAP
#define NSIGTRAP 4
-
+=20
+/*
+ * SIGFPE si_codes
+ */
@@ -65,42 +68,44 @@ index e4dcb0a43e3f..9ac9dfa6f796 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -771,7 +771,7 @@ void unknown_exception(struct pt_regs *regs)
- printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
+ printk("Bad trap at PC: %lx, SR: %lx, vector=3D%lx\n",
regs->nip, regs->msr, regs->trap);
-
+=20
- _exception(SIGTRAP, regs, 0, 0);
+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
-
+=20
exception_exit(prev_state);
}
-@@ -793,7 +793,7 @@ void instruction_breakpoint_exception(struct pt_regs *regs)
-
+@@ -793,7 +793,7 @@ void instruction_breakpoint_exception(struct pt_regs *r=
+egs)
+=20
void RunModeException(struct pt_regs *regs)
{
- _exception(SIGTRAP, regs, 0, 0);
+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
}
-
+=20
void __kprobes single_step_exception(struct pt_regs *regs)
@@ -828,7 +828,7 @@ static void emulate_single_step(struct pt_regs *regs)
-
+=20
static inline int __parse_fpscr(unsigned long fpscr)
{
-- int ret = 0;
-+ int ret = FPE_FIXME;
-
+- int ret =3D 0;
++ int ret =3D FPE_FIXME;
+=20
/* Invalid operation */
if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
@@ -1764,7 +1764,7 @@ void SPEFloatingPointException(struct pt_regs *regs)
extern int do_spe_mathemu(struct pt_regs *regs);
unsigned long spefscr;
int fpexc_mode;
-- int code = 0;
-+ int code = FPE_FIXME;
+- int code =3D 0;
++ int code =3D FPE_FIXME;
int err;
-
+=20
flush_spe_to_thread(current);
-@@ -1833,7 +1833,7 @@ void SPEFloatingPointRoundException(struct pt_regs *regs)
+@@ -1833,7 +1833,7 @@ void SPEFloatingPointRoundException(struct pt_regs *r=
+egs)
printk(KERN_ERR "unrecognized spe instruction "
"in %s at %lx\n", current->comm, regs->nip);
} else {
@@ -109,5 +114,5 @@ index e4dcb0a43e3f..9ac9dfa6f796 100644
return;
}
}
---
+--=20
2.14.1
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index e89f6f5..28459a7 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -39,7 +39,7 @@
"that SI_USER not be a signal specific si_code. As such this use of 0\n",
"for the si_code is a pretty horribly broken ABI.\n",
"\n",
- "Further use of si_code == 0 guaranteed that copy_siginfo_to_user saw a\n",
+ "Further use of si_code =3D=3D 0 guaranteed that copy_siginfo_to_user saw a\n",
"value of __SI_KILL and now sees a value of SIL_KILL with the result\n",
"that uid and pid fields are copied and which might copying the si_addr\n",
"field by accident but certainly not by design. Making this a very\n",
@@ -59,8 +59,10 @@
"Cc: Benjamin Herrenschmidt <benh\@kernel.crashing.org>\n",
"Cc: linuxppc-dev\@lists.ozlabs.org\n",
"Ref: 9bad068c24d7 (\"[PATCH] ppc32: support for e500 and 85xx\")\n",
- "Ref: 0ed70f6105ef (\"PPC32: Provide proper siginfo information on various exceptions.\")\n",
- "History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git\n",
+ "Ref: 0ed70f6105ef (\"PPC32: Provide proper siginfo information on various ex=\n",
+ "ceptions.\")\n",
+ "History Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.=\n",
+ "git\n",
"Signed-off-by: \"Eric W. Biederman\" <ebiederm\@xmission.com>\n",
"Signed-off-by: Sasha Levin <alexander.levin\@microsoft.com>\n",
"---\n",
@@ -68,14 +70,15 @@
" arch/powerpc/kernel/traps.c | 10 +++++-----\n",
" 2 files changed, 20 insertions(+), 5 deletions(-)\n",
"\n",
- "diff --git a/arch/powerpc/include/uapi/asm/siginfo.h b/arch/powerpc/include/uapi/asm/siginfo.h\n",
+ "diff --git a/arch/powerpc/include/uapi/asm/siginfo.h b/arch/powerpc/include=\n",
+ "/uapi/asm/siginfo.h\n",
"index ccce3ef5cd86..9c437eaf7c21 100644\n",
"--- a/arch/powerpc/include/uapi/asm/siginfo.h\n",
"+++ b/arch/powerpc/include/uapi/asm/siginfo.h\n",
"\@\@ -17,4 +17,19 \@\@\n",
" #undef NSIGTRAP\n",
" #define NSIGTRAP\t4\n",
- " \n",
+ "=20\n",
"+/*\n",
"+ * SIGFPE si_codes\n",
"+ */\n",
@@ -97,42 +100,44 @@
"--- a/arch/powerpc/kernel/traps.c\n",
"+++ b/arch/powerpc/kernel/traps.c\n",
"\@\@ -771,7 +771,7 \@\@ void unknown_exception(struct pt_regs *regs)\n",
- " \tprintk(\"Bad trap at PC: %lx, SR: %lx, vector=%lx\\n\",\n",
+ " \tprintk(\"Bad trap at PC: %lx, SR: %lx, vector=3D%lx\\n\",\n",
" \t regs->nip, regs->msr, regs->trap);\n",
- " \n",
+ "=20\n",
"-\t_exception(SIGTRAP, regs, 0, 0);\n",
"+\t_exception(SIGTRAP, regs, TRAP_FIXME, 0);\n",
- " \n",
+ "=20\n",
" \texception_exit(prev_state);\n",
" }\n",
- "\@\@ -793,7 +793,7 \@\@ void instruction_breakpoint_exception(struct pt_regs *regs)\n",
- " \n",
+ "\@\@ -793,7 +793,7 \@\@ void instruction_breakpoint_exception(struct pt_regs *r=\n",
+ "egs)\n",
+ "=20\n",
" void RunModeException(struct pt_regs *regs)\n",
" {\n",
"-\t_exception(SIGTRAP, regs, 0, 0);\n",
"+\t_exception(SIGTRAP, regs, TRAP_FIXME, 0);\n",
" }\n",
- " \n",
+ "=20\n",
" void __kprobes single_step_exception(struct pt_regs *regs)\n",
"\@\@ -828,7 +828,7 \@\@ static void emulate_single_step(struct pt_regs *regs)\n",
- " \n",
+ "=20\n",
" static inline int __parse_fpscr(unsigned long fpscr)\n",
" {\n",
- "-\tint ret = 0;\n",
- "+\tint ret = FPE_FIXME;\n",
- " \n",
+ "-\tint ret =3D 0;\n",
+ "+\tint ret =3D FPE_FIXME;\n",
+ "=20\n",
" \t/* Invalid operation */\n",
" \tif ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))\n",
"\@\@ -1764,7 +1764,7 \@\@ void SPEFloatingPointException(struct pt_regs *regs)\n",
" \textern int do_spe_mathemu(struct pt_regs *regs);\n",
" \tunsigned long spefscr;\n",
" \tint fpexc_mode;\n",
- "-\tint code = 0;\n",
- "+\tint code = FPE_FIXME;\n",
+ "-\tint code =3D 0;\n",
+ "+\tint code =3D FPE_FIXME;\n",
" \tint err;\n",
- " \n",
+ "=20\n",
" \tflush_spe_to_thread(current);\n",
- "\@\@ -1833,7 +1833,7 \@\@ void SPEFloatingPointRoundException(struct pt_regs *regs)\n",
+ "\@\@ -1833,7 +1833,7 \@\@ void SPEFloatingPointRoundException(struct pt_regs *r=\n",
+ "egs)\n",
" \t\tprintk(KERN_ERR \"unrecognized spe instruction \"\n",
" \t\t \"in %s at %lx\\n\", current->comm, regs->nip);\n",
" \t} else {\n",
@@ -141,8 +146,8 @@
" \t\treturn;\n",
" \t}\n",
" }\n",
- "-- \n",
+ "--=20\n",
"2.14.1"
]
-50c755285a84f39c1e8b1031530df30c3d680f7fcd63273591b217b38ef435e6
+29a4b601788bd3ed77be834feed1c6e9bc61eba2d5abc0ca89288ef316b76248
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.