diff mbox

linux-next: build failure after merge of the powerpc tree

Message ID 20160107191613.0228560b@canb.auug.org.au (mailing list archive)
State Accepted
Headers show

Commit Message

Stephen Rothwell Jan. 7, 2016, 8:16 a.m. UTC
Hi all,

After merging the powerpc tree, today's linux-next build (powerpc64
allnoconfig) failed like this:

arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context'
  return get_paca()->context.user_psize;
                   ^
arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^

Caused by commit

  2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")

This build has CONFIG_PPC_MM_SLICES not set ...

I have applied the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 7 Jan 2016 19:07:18 +1100
Subject: [PATCH] powerpc: restore the user_psize member of the mm_context_t in
 the paca

It is used when CONFIG_PPC_MM_SLICES is not set.

Fixes: 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/include/asm/paca.h | 2 ++
 arch/powerpc/mm/hash_utils_64.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Michael Ellerman Jan. 7, 2016, 10:30 a.m. UTC | #1
On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the powerpc tree, today's linux-next build (powerpc64
> allnoconfig) failed like this:
> 
> arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
> arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context'
>   return get_paca()->context.user_psize;
>                    ^
> arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type]
>  }
>  ^
> 
> Caused by commit
> 
>   2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")

Well that's rather embarrassing, for Mikey ;D

> This build has CONFIG_PPC_MM_SLICES not set ...

Ugh, but it would seem none of our defconfigs do :/

> I have applied the following patch for today:

Thanks.

I'll merge it or something similar once I get a chance to test it.

cheers
Michael Ellerman Jan. 12, 2016, 12:32 p.m. UTC | #2
On Thu, 2016-07-01 at 08:16:13 UTC, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the powerpc tree, today's linux-next build (powerpc64
> allnoconfig) failed like this:
> 
> arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
> arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context'
>   return get_paca()->context.user_psize;
>                    ^
> arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type]
>  }
>  ^
> 
> Caused by commit
> 
>   2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")
> 
> This build has CONFIG_PPC_MM_SLICES not set ...
> 
> I have applied the following patch for today:
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 7 Jan 2016 19:07:18 +1100
> Subject: [PATCH] powerpc: restore the user_psize member of the mm_context_t in
>  the paca
> 
> It is used when CONFIG_PPC_MM_SLICES is not set.
> 
> Fixes: 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/c33e54fafacaf83b3e345aae0e

cheers
Aneesh Kumar K.V Jan. 13, 2016, 5:46 a.m. UTC | #3
Michael Ellerman <mpe@ellerman.id.au> writes:

> On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote:
>> Hi all,
>> 
>> After merging the powerpc tree, today's linux-next build (powerpc64
>> allnoconfig) failed like this:
>> 
>> arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
>> arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context'
>>   return get_paca()->context.user_psize;
>>                    ^
>> arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type]
>>  }
>>  ^
>> 
>> Caused by commit
>> 
>>   2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")
>
> Well that's rather embarrassing, for Mikey ;D
>
>> This build has CONFIG_PPC_MM_SLICES not set ...
>
> Ugh, but it would seem none of our defconfigs do :/

4K page size with hugetlb disabled will get that 

-aneesh
Michael Ellerman Jan. 13, 2016, 7:44 a.m. UTC | #4
On Wed, 2016-01-13 at 11:16 +0530, Aneesh Kumar K.V wrote:
> Michael Ellerman <mpe@ellerman.id.au> writes:
> > On Thu, 2016-01-07 at 19:16 +1100, Stephen Rothwell wrote:
> > > After merging the powerpc tree, today's linux-next build (powerpc64
> > > allnoconfig) failed like this:
> > > 
> > > arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
> > > arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no member named 'context'
> > >   return get_paca()->context.user_psize;
> > >                    ^
> > > arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void function [-Werror=return-type]
> > >  }
> > >  ^
> > > 
> > > Caused by commit
> > > 
> > >   2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the paca")
> > 
> > Well that's rather embarrassing, for Mikey ;D

> > > This build has CONFIG_PPC_MM_SLICES not set ...
> > 
> > Ugh, but it would seem none of our defconfigs do :/
> 
> 4K page size with hugetlb disabled will get that 

Yeah, but none of our defconfigs do that.

I've got a kisskb target for it now:

  http://kisskb.ellerman.id.au/kisskb/target/28577/

cheers
diff mbox

Patch

diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index ef78c288c712..546540b91095 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -138,6 +138,7 @@  struct paca_struct {
 	u64 mm_ctx_low_slices_psize;
 	unsigned char mm_ctx_high_slices_psize[SLICE_ARRAY_SIZE];
 #else
+	u16 mm_ctx_user_psize;
 	u16 mm_ctx_sllp;
 #endif
 #endif
@@ -212,6 +213,7 @@  static inline void copy_mm_to_paca(mm_context_t *context)
 	memcpy(&get_paca()->mm_ctx_high_slices_psize,
 	       &context->high_slices_psize, SLICE_ARRAY_SIZE);
 #else
+	get_paca()->mm_ctx_user_psize = context->user_psize;
 	get_paca()->mm_ctx_sllp = context->sllp;
 #endif
 }
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index db744576d730..ba59d5977f34 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -866,7 +866,7 @@  static unsigned int get_paca_psize(unsigned long addr)
 #else
 unsigned int get_paca_psize(unsigned long addr)
 {
-	return get_paca()->context.user_psize;
+	return get_paca()->mm_ctx_user_psize;
 }
 #endif