Message ID | 1442827370-26854-1-git-send-email-haokexin@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Scott Wood |
Headers | show |
On Mon, 2015-09-21 at 17:22 +0800, Kevin Hao wrote: > With the reimplementation of probe_kernel_address() in commit > ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using > probe_kernel_read()"), the explication of the cast for the addr > parameter has been dropped. So we have to explicitly cast the > regs->nip to void * when passing it to probe_kernel_address() in > order to fix the following build error: > arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': > arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of 'probe_kernel_read' makes pointer from integer without a cast [-Werror] > ret = probe_kernel_address(regs->nip, inst); > ^ > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > --- > > This is against linux-next. You should be sending this to Andrew Morton, the author of the patch that caused the breakage. Or at the very least CC'ing him. cheers
On Tue, Sep 22, 2015 at 12:08:17PM +1000, Michael Ellerman wrote: > On Mon, 2015-09-21 at 17:22 +0800, Kevin Hao wrote: > > With the reimplementation of probe_kernel_address() in commit > > ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using > > probe_kernel_read()"), the explication of the cast for the addr > > parameter has been dropped. So we have to explicitly cast the > > regs->nip to void * when passing it to probe_kernel_address() in > > order to fix the following build error: > > arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': > > arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of 'probe_kernel_read' makes pointer from integer without a cast [-Werror] > > ret = probe_kernel_address(regs->nip, inst); > > ^ > > > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > > --- > > > > This is against linux-next. > > You should be sending this to Andrew Morton, the author of the patch that > caused the breakage. Or at the very least CC'ing him. OK, will repost. Thanks, Kevin
On Mon, 2015-09-21 at 17:22 +0800, Kevin Hao wrote: > With the reimplementation of probe_kernel_address() in commit > ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using > probe_kernel_read()"), the explication of the cast for the addr > parameter has been dropped. So we have to explicitly cast the > regs->nip to void * when passing it to probe_kernel_address() in > order to fix the following build error: > arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': > arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of > 'probe_kernel_read' makes pointer from integer without a cast [-Werror] > ret = probe_kernel_address(regs->nip, inst); > ^ > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > --- > > This is against linux-next. I don't see ecc83243e1d4 in linux-next. What tree is it in? -Scott
On Mon, Sep 21, 2015 at 09:16:59PM -0500, Scott Wood wrote: > On Mon, 2015-09-21 at 17:22 +0800, Kevin Hao wrote: > > With the reimplementation of probe_kernel_address() in commit > > ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using > > probe_kernel_read()"), the explication of the cast for the addr > > parameter has been dropped. So we have to explicitly cast the > > regs->nip to void * when passing it to probe_kernel_address() in > > order to fix the following build error: > > arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': > > arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of > > 'probe_kernel_read' makes pointer from integer without a cast [-Werror] > > ret = probe_kernel_address(regs->nip, inst); > > ^ > > > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > > --- > > > > This is against linux-next. > > I don't see ecc83243e1d4 in linux-next. What tree is it in? It's a patch from Andrew Morton. But it seems that the patches commit id from Andrew's tree are not constant. Anyway I just fetched the latest linux-next tree and found this issue was already fixed by commit 3a5f4236fec1 ("uaccess-reimplement-probe_kernel_address-using-probe_kernel_read-fix-fix"). Thanks, Kevin
On Mon, 2015-09-21 at 21:16 -0500, Scott Wood wrote: > On Mon, 2015-09-21 at 17:22 +0800, Kevin Hao wrote: > > With the reimplementation of probe_kernel_address() in commit > > ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using > > probe_kernel_read()"), the explication of the cast for the addr > > parameter has been dropped. So we have to explicitly cast the > > regs->nip to void * when passing it to probe_kernel_address() in > > order to fix the following build error: > > arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': > > arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of > > 'probe_kernel_read' makes pointer from integer without a cast [-Werror] > > ret = probe_kernel_address(regs->nip, inst); > > ^ > > > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > > --- > > > > This is against linux-next. > > I don't see ecc83243e1d4 in linux-next. What tree is it in? It was in linux-next: commit ecc83243e1d4f67015906017e420435aff1104c9 Author: Andrew Morton <akpm@linux-foundation.org> AuthorDate: Thu Sep 17 10:19:09 2015 +1000 Commit: Stephen Rothwell <sfr@canb.auug.org.au> CommitDate: Thu Sep 17 10:19:09 2015 +1000 uaccess: reimplement probe_kernel_address() using probe_kernel_read() But Andrew's tree comes as patches that Stephen commits, so the commit ids change when Andrew pushes new patches, so in today's linux-next it's: commit d2cf644bea102203f9fc221a819f2dcb6a15b8ad Author: Andrew Morton <akpm@linux-foundation.org> AuthorDate: Sat Sep 19 11:36:21 2015 +1000 Commit: Stephen Rothwell <sfr@canb.auug.org.au> CommitDate: Sat Sep 19 11:36:21 2015 +1000 uaccess: reimplement probe_kernel_address() using probe_kernel_read() cheers
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index ebc1f412cf49..13b9bcf5485e 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -999,7 +999,7 @@ int fsl_pci_mcheck_exception(struct pt_regs *regs) ret = get_user(regs->nip, &inst); pagefault_enable(); } else { - ret = probe_kernel_address(regs->nip, inst); + ret = probe_kernel_address((void *)regs->nip, inst); } if (mcheck_handle_load(regs, inst)) {
With the reimplementation of probe_kernel_address() in commit ecc83243e1d4 ("uaccess: reimplement probe_kernel_address() using probe_kernel_read()"), the explication of the cast for the addr parameter has been dropped. So we have to explicitly cast the regs->nip to void * when passing it to probe_kernel_address() in order to fix the following build error: arch/powerpc/sysdev/fsl_pci.c: In function 'fsl_pci_mcheck_exception': arch/powerpc/sysdev/fsl_pci.c:1002:4: error: passing argument 2 of 'probe_kernel_read' makes pointer from integer without a cast [-Werror] ret = probe_kernel_address(regs->nip, inst); ^ Signed-off-by: Kevin Hao <haokexin@gmail.com> --- This is against linux-next. arch/powerpc/sysdev/fsl_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)