[PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3207d

6 messages, 4 authors, 2017-12-05 · open the first message on its own page

[PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: Joakim Tjernlund <hidden>
Date: 2017-09-05 12:05:10

get_user() had it args reversed causing NIP to be NULL:ed instead
of fixing up the PCI access.

Note: This still hangs my P1020 Freescale CPU hard, but at least
I get a NIP now.

Signed-off-by: Joakim Tjernlund <redacted>
---
 arch/powerpc/sysdev/fsl_pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 7c8b779c329a..9e64c12dff6a 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs *regs)
 	if (is_in_pci_mem_space(addr)) {
 		if (user_mode(regs)) {
 			pagefault_disable();
-			ret = get_user(regs->nip, &inst);
+			ret = get_user(inst, (__u32 __user *)regs->nip);
 			pagefault_enable();
 		} else {
 			ret = probe_kernel_address(regs->nip, inst);
-- 
2.13.5

Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: York Sun <hidden>
Date: 2017-09-06 15:34:17

On 09/05/2017 04:59 AM, Joakim Tjernlund wrote:=0A=
quoted hunk
get_user() had it args reversed causing NIP to be NULL:ed instead=0A=
of fixing up the PCI access.=0A=
=0A=
Note: This still hangs my P1020 Freescale CPU hard, but at least=0A=
I get a NIP now.=0A=
=0A=
Signed-off-by: Joakim Tjernlund <redacted>=0A=
---=0A=
  arch/powerpc/sysdev/fsl_pci.c | 2 +-=0A=
  1 file changed, 1 insertion(+), 1 deletion(-)=0A=
=0A=
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.=
c=0A=
quoted hunk
index 7c8b779c329a..9e64c12dff6a 100644=0A=
--- a/arch/powerpc/sysdev/fsl_pci.c=0A=
+++ b/arch/powerpc/sysdev/fsl_pci.c=0A=
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs *regs)=0A=
  	if (is_in_pci_mem_space(addr)) {=0A=
  		if (user_mode(regs)) {=0A=
  			pagefault_disable();=0A=
-			ret =3D get_user(regs->nip, &inst);=0A=
+			ret =3D get_user(inst, (__u32 __user *)regs->nip);=0A=
  			pagefault_enable();=0A=
  		} else {=0A=
  			ret =3D probe_kernel_address(regs->nip, inst);=0A=
=0A=
=0A=
Leo,=0A=
=0A=
Can you take a look, or assign it to someone who is familiar with this code=
?=0A=
=0A=
York=0A=

RE: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: Leo Li <hidden>
Date: 2017-09-06 19:19:52

-----Original Message-----
From: York Sun
Sent: Wednesday, September 06, 2017 10:34 AM
To: Leo Li <redacted>
Cc: Joakim Tjernlund <redacted>; linuxppc-dev linuxp=
pc-
dev [off-list ref]
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception
=20
On 09/05/2017 04:59 AM, Joakim Tjernlund wrote:
quoted
get_user() had it args reversed causing NIP to be NULL:ed instead of
fixing up the PCI access.

Note: This still hangs my P1020 Freescale CPU hard, but at least I get
a NIP now.

Signed-off-by: Joakim Tjernlund <redacted>
---
  arch/powerpc/sysdev/fsl_pci.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/sysdev/fsl_pci.c
b/arch/powerpc/sysdev/fsl_pci.c index 7c8b779c329a..9e64c12dff6a
100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs *regs)
  	if (is_in_pci_mem_space(addr)) {
  		if (user_mode(regs)) {
  			pagefault_disable();
-			ret =3D get_user(regs->nip, &inst);
+			ret =3D get_user(inst, (__u32 __user *)regs->nip);
  			pagefault_enable();
  		} else {
  			ret =3D probe_kernel_address(regs->nip, inst);
=20
Leo,
=20
Can you take a look, or assign it to someone who is familiar with this co=
de?

Acked-by: Li Yang <redacted>

Regards,
Leo

Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: Joakim Tjernlund <hidden>
Date: 2017-11-21 17:17:14

On Wed, 2017-09-06 at 19:19 +0000, Leo Li wrote:
quoted
-----Original Message-----
From: York Sun
Sent: Wednesday, September 06, 2017 10:34 AM
To: Leo Li <redacted>
Cc: Joakim Tjernlund <redacted>; linuxppc-dev linu=
xppc-
quoted
dev [off-list ref]
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception
=20
On 09/05/2017 04:59 AM, Joakim Tjernlund wrote:
quoted
get_user() had it args reversed causing NIP to be NULL:ed instead of
fixing up the PCI access.
=20
Note: This still hangs my P1020 Freescale CPU hard, but at least I ge=
t
quoted
quoted
a NIP now.
=20
Signed-off-by: Joakim Tjernlund <redacted>
---
  arch/powerpc/sysdev/fsl_pci.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
=20
diff --git a/arch/powerpc/sysdev/fsl_pci.c
b/arch/powerpc/sysdev/fsl_pci.c index 7c8b779c329a..9e64c12dff6a
100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs *regs=
)
quoted
quoted
  	if (is_in_pci_mem_space(addr)) {
  		if (user_mode(regs)) {
  			pagefault_disable();
-			ret =3D get_user(regs->nip, &inst);
+			ret =3D get_user(inst, (__u32 __user *)regs->nip);
  			pagefault_enable();
  		} else {
  			ret =3D probe_kernel_address(regs->nip, inst);
=20
=20
Leo,
=20
Can you take a look, or assign it to someone who is familiar with this =
code?
=20
Acked-by: Li Yang <redacted>
=20
Regards,
Leo
I think this is forgotten, cannot se it in Linus tree.=

RE: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: Leo Li <hidden>
Date: 2017-12-05 15:16:35

-----Original Message-----
From: Joakim Tjernlund [mailto:Joakim.Tjernlund@infinera.com]
Sent: Tuesday, November 21, 2017 11:17 AM
To: Leo Li <redacted>; York Sun <redacted>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception
=20
On Wed, 2017-09-06 at 19:19 +0000, Leo Li wrote:
quoted
quoted
-----Original Message-----
From: York Sun
Sent: Wednesday, September 06, 2017 10:34 AM
To: Leo Li <redacted>
Cc: Joakim Tjernlund <redacted>; linuxppc-dev
linuxppc- dev [off-list ref]
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

On 09/05/2017 04:59 AM, Joakim Tjernlund wrote:
quoted
get_user() had it args reversed causing NIP to be NULL:ed instead
of fixing up the PCI access.

Note: This still hangs my P1020 Freescale CPU hard, but at least I
get a NIP now.

Signed-off-by: Joakim Tjernlund <redacted>
---
  arch/powerpc/sysdev/fsl_pci.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/sysdev/fsl_pci.c
b/arch/powerpc/sysdev/fsl_pci.c index 7c8b779c329a..9e64c12dff6a
100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs
*regs)
quoted
quoted
quoted
  	if (is_in_pci_mem_space(addr)) {
  		if (user_mode(regs)) {
  			pagefault_disable();
-			ret =3D get_user(regs->nip, &inst);
+			ret =3D get_user(inst, (__u32 __user *)regs->nip);
  			pagefault_enable();
  		} else {
  			ret =3D probe_kernel_address(regs->nip, inst);
Leo,

Can you take a look, or assign it to someone who is familiar with thi=
s
code?
quoted
Acked-by: Li Yang <redacted>

Regards,
Leo
=20
I think this is forgotten, cannot se it in Linus tree.
Hi Scott,

Could you help to review this patch and pick it up?  Thanks.

Regards,
Leo

Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

From: Scott Wood <oss@buserror.net>
Date: 2017-12-05 20:42:16

On Tue, 2017-12-05 at 15:16 +0000, Leo Li wrote:
quoted
-----Original Message-----
From: Joakim Tjernlund [mailto:Joakim.Tjernlund@infinera.com]
Sent: Tuesday, November 21, 2017 11:17 AM
To: Leo Li <redacted>; York Sun <redacted>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

On Wed, 2017-09-06 at 19:19 +0000, Leo Li wrote:
quoted
quoted
-----Original Message-----
From: York Sun
Sent: Wednesday, September 06, 2017 10:34 AM
To: Leo Li <redacted>
Cc: Joakim Tjernlund <redacted>; linuxppc-dev
linuxppc- dev [off-list ref]
Subject: Re: [PATCH] fsl_pci: Correct fsl_pci_mcheck_exception

On 09/05/2017 04:59 AM, Joakim Tjernlund wrote:
quoted
get_user() had it args reversed causing NIP to be NULL:ed instead
of fixing up the PCI access.

Note: This still hangs my P1020 Freescale CPU hard, but at least I
get a NIP now.

Signed-off-by: Joakim Tjernlund <redacted>
---
  arch/powerpc/sysdev/fsl_pci.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/sysdev/fsl_pci.c
b/arch/powerpc/sysdev/fsl_pci.c index 7c8b779c329a..9e64c12dff6a
100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -996,7 +996,7 @@ int fsl_pci_mcheck_exception(struct pt_regs
*regs)
quoted
quoted
quoted
  	if (is_in_pci_mem_space(addr)) {
  		if (user_mode(regs)) {
  			pagefault_disable();
-			ret = get_user(regs->nip, &inst);
+			ret = get_user(inst, (__u32 __user *)regs-
quoted
nip);
  			pagefault_enable();
  		} else {
  			ret = probe_kernel_address(regs->nip,
inst);
Leo,

Can you take a look, or assign it to someone who is familiar with this
code?
quoted
Acked-by: Li Yang <redacted>

Regards,
Leo
I think this is forgotten, cannot se it in Linus tree.
Hi Scott,

Could you help to review this patch and pick it up?  Thanks.
Sure... In the future please CC me on patches you want me to pick up.

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help