Re: linux-next: build failure after merge of the akpm tree

2020-12-03 Thread Andrey Konovalov
On Thu, Dec 3, 2020 at 9:52 AM Stephen Rothwell  wrote:
>
> Hi all,
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> mm/kasan/quarantine.c: In function 'quarantine_put':
> mm/kasan/quarantine.c:197:15: error: 'info' undeclared (first use in this 
> function)
>   197 |   qlink_free(>quarantine_link, cache);
>   |   ^~~~
> mm/kasan/quarantine.c:197:15: note: each undeclared identifier is reported 
> only once for each function it appears in
> mm/kasan/quarantine.c:199:3: error: 'return' with no value, in function 
> returning non-void [-Werror=return-type]
>   199 |   return;
>   |   ^~
> mm/kasan/quarantine.c:171:6: note: declared here
>   171 | bool quarantine_put(struct kmem_cache *cache, void *object)
>   |  ^~
>
> Caused by patches
>
>   "kasan: rename get_alloc/free_info"
>   "kasan: sanitize objects when metadata doesn't fit"

Yeah, this is conflict with the "kasan: fix object remain in offline
per-cpu quarantine" patch.

> I have applied the following fix patch:
>
> From: Stephen Rothwell 
> Date: Thu, 3 Dec 2020 19:41:49 +1100
> Subject: [PATCH] kasan-rename-get_alloc-free_info-fix
>
> Signed-off-by: Stephen Rothwell 
> ---
>  mm/kasan/quarantine.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/kasan/quarantine.c b/mm/kasan/quarantine.c
> index feae26ea5cbb..d98b516f372f 100644
> --- a/mm/kasan/quarantine.c
> +++ b/mm/kasan/quarantine.c
> @@ -194,9 +194,9 @@ bool quarantine_put(struct kmem_cache *cache, void 
> *object)
>
> q = this_cpu_ptr(_quarantine);
> if (q->offline) {
> -   qlink_free(>quarantine_link, cache);
> +   qlink_free(>quarantine_link, cache);
> local_irq_restore(flags);
> -   return;
> +   return false;
> }
> qlist_put(q, >quarantine_link, cache->size);
> if (unlikely(q->bytes > QUARANTINE_PERCPU_SIZE)) {
> --
> 2.29.2
>
> --
> Cheers,
> Stephen Rothwell

This fixup looks good to me. Thanks!


Re: linux-next: build failure after merge of the akpm tree

2020-11-15 Thread Stephen Rothwell
Hi Mike,

On Sun, 15 Nov 2020 11:01:05 +0200 Mike Rapoport  wrote:
>
> My preference would be to put the entire function body in '#ifdef
> CONFIG_MEMCG' here.

OK, so today I used this:

From: Stephen Rothwell 
Date: Mon, 16 Nov 2020 16:55:10 +1100
Subject: [PATCH] secretmem-add-memcg-accounting-fix2

Signed-off-by: Stephen Rothwell 
---
 mm/secretmem.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/mm/secretmem.c b/mm/secretmem.c
index 5ed6b2070136..c7a37b2d01ed 100644
--- a/mm/secretmem.c
+++ b/mm/secretmem.c
@@ -59,6 +59,7 @@ bool secretmem_active(void)
 
 static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order)
 {
+#ifdef CONFIG_MEMCG
unsigned long nr_pages = (1 << order);
int i, err;
 
@@ -72,11 +73,13 @@ static int secretmem_memcg_charge(struct page *page, gfp_t 
gfp, int order)
p->memcg_data = page->memcg_data;
}
 
+#endif
return 0;
 }
 
 static void secretmem_memcg_uncharge(struct page *page, int order)
 {
+#ifdef CONFIG_MEMCG
unsigned long nr_pages = (1 << order);
int i;
 
@@ -87,6 +90,7 @@ static void secretmem_memcg_uncharge(struct page *page, int 
order)
}
 
memcg_kmem_uncharge_page(page, PMD_PAGE_ORDER);
+#endif
 }
 
 static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp)
-- 
2.29.2

-- 
Cheers,
Stephen Rothwell


pgpWly60721G2.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2020-11-15 Thread Mike Rapoport
On Fri, Nov 13, 2020 at 05:14:52PM -0800, Andrew Morton wrote:
> On Fri, 13 Nov 2020 18:02:39 +1100 Stephen Rothwell  
> wrote:
> 
> > Hi all,
> > 
> > After merging the akpm tree, today's linux-next build (i386 defconfig)
> > failed like this:
> > 
> > mm/secretmem.c: In function 'secretmem_memcg_charge':
> > mm/secretmem.c:72:4: error: 'struct page' has no member named 'memcg_data'
> >72 |   p->memcg_data = page->memcg_data;
> >   |^~
> > mm/secretmem.c:72:23: error: 'struct page' has no member named 'memcg_data'
> >72 |   p->memcg_data = page->memcg_data;
> >   |   ^~
> > mm/secretmem.c: In function 'secretmem_memcg_uncharge':
> > mm/secretmem.c:86:4: error: 'struct page' has no member named 'memcg_data'
> >86 |   p->memcg_data = 0;
> >   |^~
> > 
> > ...
> >
> > --- a/mm/secretmem.c
> > +++ b/mm/secretmem.c
> > @@ -69,7 +69,9 @@ static int secretmem_memcg_charge(struct page *page, 
> > gfp_t gfp, int order)
> > for (i = 1; i < nr_pages; i++) {
> > struct page *p = page + i;
> >  
> > +#ifdef CONFIG_MEMCG
> > p->memcg_data = page->memcg_data;
> > +#endif
> > }
> >  
> > return 0;
> 
> Thanks, that'll work for now.
> 
> I guess we're looking at adding a set_page_memcg() (I'd prefer
> page_memcg_set()).
> 
> But probably these functions shouldn't be compiled at all if
> CONFIG_MEMCG=n.

My preference would be to put the entire function body in '#ifdef
CONFIG_MEMCG' here.

-- 
Sincerely yours,
Mike.


Re: linux-next: build failure after merge of the akpm tree

2020-11-13 Thread Andrew Morton
On Fri, 13 Nov 2020 18:02:39 +1100 Stephen Rothwell  
wrote:

> Hi all,
> 
> After merging the akpm tree, today's linux-next build (i386 defconfig)
> failed like this:
> 
> mm/secretmem.c: In function 'secretmem_memcg_charge':
> mm/secretmem.c:72:4: error: 'struct page' has no member named 'memcg_data'
>72 |   p->memcg_data = page->memcg_data;
>   |^~
> mm/secretmem.c:72:23: error: 'struct page' has no member named 'memcg_data'
>72 |   p->memcg_data = page->memcg_data;
>   |   ^~
> mm/secretmem.c: In function 'secretmem_memcg_uncharge':
> mm/secretmem.c:86:4: error: 'struct page' has no member named 'memcg_data'
>86 |   p->memcg_data = 0;
>   |^~
> 
> ...
>
> --- a/mm/secretmem.c
> +++ b/mm/secretmem.c
> @@ -69,7 +69,9 @@ static int secretmem_memcg_charge(struct page *page, gfp_t 
> gfp, int order)
>   for (i = 1; i < nr_pages; i++) {
>   struct page *p = page + i;
>  
> +#ifdef CONFIG_MEMCG
>   p->memcg_data = page->memcg_data;
> +#endif
>   }
>  
>   return 0;

Thanks, that'll work for now.

I guess we're looking at adding a set_page_memcg() (I'd prefer
page_memcg_set()).

But probably these functions shouldn't be compiled at all if
CONFIG_MEMCG=n.


Re: linux-next: build failure after merge of the akpm tree

2020-09-28 Thread Christoph Hellwig
Thanks,

the fix looks correct.


Re: linux-next: build failure after merge of the akpm tree

2020-06-04 Thread Stephen Rothwell
Hi all,

On Thu, 4 Jun 2020 16:44:42 +1000 Stephen Rothwell  
wrote:
>
> Hi all,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> arch/powerpc/mm/ptdump/ptdump.c: In function 'walk_pagetables':
> arch/powerpc/mm/ptdump/ptdump.c:337:25: error: implicit declaration of 
> function 'pgd_is_leaf'; did you mean 'p4d_is_leaf'? 
> [-Werror=implicit-function-declaration]
>   337 |   if (pgd_none(*pgd) || pgd_is_leaf(*pgd))
>   | ^~~
>   | p4d_is_leaf
> 
> Caused by commit
> 
>"powerpc: add support for folded p4d page tables"
> 
> I applied the following fix up patch.
> 
> From: Stephen Rothwell 
> Date: Thu, 4 Jun 2020 16:33:01 +1000
> Subject: [PATCH] fixup for powerpc ptdump.c
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/powerpc/mm/ptdump/ptdump.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/mm/ptdump/ptdump.c b/arch/powerpc/mm/ptdump/ptdump.c
> index 9b1c89b05622..de6e05ef871c 100644
> --- a/arch/powerpc/mm/ptdump/ptdump.c
> +++ b/arch/powerpc/mm/ptdump/ptdump.c
> @@ -334,12 +334,12 @@ static void walk_pagetables(struct pg_state *st)
>   for (i = pgd_index(addr); i < PTRS_PER_PGD; i++, pgd++, addr += 
> PGDIR_SIZE) {
>   p4d_t *p4d = p4d_offset(pgd, 0);
>  
> - if (pgd_none(*pgd) || pgd_is_leaf(*pgd))
> + if (p4d_none(*p4d) || p4d_is_leaf(*p4d))
>   note_page(st, addr, 1, p4d_val(*p4d), PGDIR_SIZE);
>   else if (is_hugepd(__hugepd(p4d_val(*p4d
> - walk_hugepd(st, (hugepd_t *)pgd, addr, PGDIR_SHIFT, 1);
> + walk_hugepd(st, (hugepd_t *)p4d, addr, PGDIR_SHIFT, 1);
>   else
> - /* pgd exists */
> + /* p4d exists */
>   walk_pud(st, p4d, addr);
>   }
>  }
>

I have put that in linux-next (for tomorrow) as a fix up for
powerpc-add-support-for-folded-p4d-page-tables.

-- 
Cheers,
Stephen Rothwell


pgpad3T77XNxx.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2020-06-02 Thread Andrew Morton
On Tue, 2 Jun 2020 19:57:41 +1000 Stephen Rothwell  
wrote:

> Subject: [PATCH] turns out that probe_user_write is used in modular code
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  mm/maccess.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/mm/maccess.c b/mm/maccess.c
> index ddfda8e6f4a5..88845eda5047 100644
> --- a/mm/maccess.c
> +++ b/mm/maccess.c
> @@ -246,6 +246,7 @@ long probe_user_write(void __user *dst, const void *src, 
> size_t size)
>   return -EFAULT;
>   return 0;
>  }
> +EXPORT_SYMBOL_GPL(probe_user_write);

Thanks, I shall squish that in and make the appropriate changelog update.


Re: linux-next: build failure after merge of the akpm tree

2020-05-28 Thread Christoph Hellwig
This looks correct, thanks.


Re: linux-next: build failure after merge of the akpm tree

2020-05-25 Thread Stephen Rothwell
Hi John,

On Mon, 25 May 2020 11:18:46 -0700 John Hubbard  wrote:
>
> Yes, looks good. And in fact, Andrew has the same fix-up in the mmotm branch 
> of
> linux-next.git, as
> 
>  commit a76c281a8ddd 
> ("mmap-locking-api-rename-mmap_sem-to-mmap_lock-fix").

For some reason that was not included in the section that gets applied
to linux-next :-(

I have added it to the akpm tree today.
-- 
Cheers,
Stephen Rothwell


pgp7Z4lJLgwRm.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2020-05-25 Thread John Hubbard

On 2020-05-25 05:17, Stephen Rothwell wrote:

Hi all,

After merging the akpm tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from include/linux/kernel.h:14,
  from mm/gup.c:2:
mm/gup.c: In function 'internal_get_user_pages_fast':
mm/gup.c:2732:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did 
you mean 'mmap_base'?
  2732 |   might_lock_read(>mm->mmap_sem);
   | ^~~~

Caused by commit

   64fe66e8a95e ("mmap locking API: rename mmap_sem to mmap_lock")

fron the akpm tree interacting with commit

   b1fc8b5ddb4e ("mm/gup: might_lock_read(mmap_sem) in get_user_pages_fast()")

from the akpm-current tree.

I added the following patch for today.

From: Stephen Rothwell 
Date: Mon, 25 May 2020 22:11:51 +1000
Subject: [PATCH] mm/gup: update for mmap_sem rename

Signed-off-by: Stephen Rothwell 
---
  mm/gup.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/gup.c b/mm/gup.c
index 8977e5fe9843..f4bca3de0b4b 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2729,7 +2729,7 @@ static int internal_get_user_pages_fast(unsigned long 
start, int nr_pages,
return -EINVAL;
  
  	if (!(gup_flags & FOLL_FAST_ONLY))

-   might_lock_read(>mm->mmap_sem);
+   might_lock_read(>mm->mmap_lock);
  
  	start = untagged_addr(start) & PAGE_MASK;

addr = start;



Yes, looks good. And in fact, Andrew has the same fix-up in the mmotm branch of
linux-next.git, as

commit a76c281a8ddd ("mmap-locking-api-rename-mmap_sem-to-mmap_lock-fix").


thanks,
--
John Hubbard
NVIDIA


Re: linux-next: build failure after merge of the akpm tree

2019-02-26 Thread Mike Rapoport
On Tue, Feb 26, 2019 at 06:39:15PM +1100, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> allnoconfig) failed like this:
> 
> /home/sfr/next/next/arch/powerpc/kernel/setup_32.c:176:21: error: 
> redefinition of 'alloc_stack'
>  static void *__init alloc_stack(void)
>  ^~~
> /home/sfr/next/next/arch/powerpc/kernel/setup_32.c:165:21: note: previous 
> definition of 'alloc_stack' was here
>  static void *__init alloc_stack(void)
>  ^~~
> 
> Caused by patch
> 
>   "powerpc: use memblock functions returning virtual address"
> 
> from the akpm tree interacting with commit
> 
>   c8e409a33cf8 ("powerpc/irq: use memblock functions returning virtual 
> address")
> 
> from the powerpc tree.
> 
> Both patches added the alloc_stack() function and git resolved it by
> adding both. :-(  I have added a patch to remove one of them.

Yeah, me too :)

https://lore.kernel.org/linux-mm/20190226064032.GA5873@rapoport-lnx/
 
Stephen, sorry, should have cc'ed you

> -- 
> Cheers,
> Stephen Rothwell

-- 
Sincerely yours,
Mike.



Re: linux-next: build failure after merge of the akpm tree

2018-12-12 Thread Stephen Rothwell
Hi Anshuman,

On Wed, 12 Dec 2018 22:35:38 +0530 Anshuman Khandual 
 wrote:
>
> On 12/03/2018 12:30 PM, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > After merging the akpm tree, today's linux-next build (powerpc_le perf)
> > failed like this:
> > 
> > bench/numa.c:37:10: fatal error: linux/numa.h: No such file or directory
> >  #include 
> >   ^~
> > 
> > Caused by patches
> > 
> >   "mm: replace all open encodings for NUMA_NO_NODE"
> >   "mm-replace-all-open-encodings-for-numa_no_node-fix"
> > 
> > For linux/numa.h to be generally availble to the tools builds, it must
> > be copied into tools/include/linux ...
> > 
> > I have done that copy for today:
> > 
> > From 6dabc11d5513510d0ec0a6b0a4aa8b9051b71516 Mon Sep 17 00:00:00 2001
> > From: Stephen Rothwell 
> > Date: Mon, 3 Dec 2018 17:57:27 +1100
> > Subject: [PATCH] linux/numa.h is now needed for the perf build
> > 
> > Signed-off-by: Stephen Rothwell   
> 
> Hello Stephen,
> 
> I will respin the original patch 
> (https://patchwork.kernel.org/patch/10698089/)
> once more to accommodate new feedbacks from Lubomir Rintel. This patch fixes 
> the
> build problem related to tools/perf. As Lubomir suggested, it might be better 
> to
> split the tools/perf changes ("tools: Replace open encodings for 
> NUMA_NO_NODE")
> from the original patch and then fold this fix onto it with both 
> signed-off-by.
> Does it sound good. Are you okay with it ?

Sounds fine to me.

-- 
Cheers,
Stephen Rothwell


pgpgBF03O_AOy.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2018-12-12 Thread Anshuman Khandual



On 12/03/2018 12:30 PM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc_le perf)
> failed like this:
> 
> bench/numa.c:37:10: fatal error: linux/numa.h: No such file or directory
>  #include 
>   ^~
> 
> Caused by patches
> 
>   "mm: replace all open encodings for NUMA_NO_NODE"
>   "mm-replace-all-open-encodings-for-numa_no_node-fix"
> 
> For linux/numa.h to be generally availble to the tools builds, it must
> be copied into tools/include/linux ...
> 
> I have done that copy for today:
> 
> From 6dabc11d5513510d0ec0a6b0a4aa8b9051b71516 Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell 
> Date: Mon, 3 Dec 2018 17:57:27 +1100
> Subject: [PATCH] linux/numa.h is now needed for the perf build
> 
> Signed-off-by: Stephen Rothwell 

Hello Stephen,

I will respin the original patch (https://patchwork.kernel.org/patch/10698089/)
once more to accommodate new feedbacks from Lubomir Rintel. This patch fixes the
build problem related to tools/perf. As Lubomir suggested, it might be better to
split the tools/perf changes ("tools: Replace open encodings for NUMA_NO_NODE")
from the original patch and then fold this fix onto it with both signed-off-by.
Does it sound good. Are you okay with it ?

- Anshuman


Re: linux-next: build failure after merge of the akpm tree

2018-12-03 Thread Anshuman Khandual



On 12/03/2018 12:30 PM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc_le perf)
> failed like this:
> 
> bench/numa.c:37:10: fatal error: linux/numa.h: No such file or directory
>  #include 
>   ^~
> 
> Caused by patches
> 
>   "mm: replace all open encodings for NUMA_NO_NODE"
>   "mm-replace-all-open-encodings-for-numa_no_node-fix"
> 
> For linux/numa.h to be generally availble to the tools builds, it must
> be copied into tools/include/linux ...
> 
> I have done that copy for today:
> 
> From 6dabc11d5513510d0ec0a6b0a4aa8b9051b71516 Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell 
> Date: Mon, 3 Dec 2018 17:57:27 +1100
> Subject: [PATCH] linux/numa.h is now needed for the perf build
> 
> Signed-off-by: Stephen Rothwell 

Makes sense. Thanks Stephen for taking care of this build failure
more than once.

Reviewed-by: Anshuman Khandual 


Re: linux-next: build failure after merge of the akpm tree

2018-12-03 Thread Anshuman Khandual



On 12/03/2018 12:30 PM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc_le perf)
> failed like this:
> 
> bench/numa.c:37:10: fatal error: linux/numa.h: No such file or directory
>  #include 
>   ^~
> 
> Caused by patches
> 
>   "mm: replace all open encodings for NUMA_NO_NODE"
>   "mm-replace-all-open-encodings-for-numa_no_node-fix"
> 
> For linux/numa.h to be generally availble to the tools builds, it must
> be copied into tools/include/linux ...
> 
> I have done that copy for today:
> 
> From 6dabc11d5513510d0ec0a6b0a4aa8b9051b71516 Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell 
> Date: Mon, 3 Dec 2018 17:57:27 +1100
> Subject: [PATCH] linux/numa.h is now needed for the perf build
> 
> Signed-off-by: Stephen Rothwell 

Makes sense. Thanks Stephen for taking care of this build failure
more than once.

Reviewed-by: Anshuman Khandual 


Re: linux-next: build failure after merge of the akpm tree

2018-11-30 Thread Anshuman Khandual



On 11/30/2018 11:00 AM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc_le perf)
> failed like this:
> 
> bench/numa.c: In function 'bind_to_node':
> bench/numa.c:301:21: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>   if (target_node == NUMA_NO_NODE) {
>  ^~~~
>  NUMA_NUM_NODES
> bench/numa.c:301:21: note: each undeclared identifier is reported only once 
> for each function it appears in
> bench/numa.c: In function 'bind_to_memnode':
> bench/numa.c:342:14: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>   if (node == NUMA_NO_NODE)
>   ^~~~
>   NUMA_NUM_NODES
> bench/numa.c: In function 'init_thread_data':
> bench/numa.c:1366:19: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>td->bind_node = NUMA_NO_NODE;
>^~~~
>NUMA_NUM_NODES
> 
> Caused by patch
> 
>   "mm: replace all open encodings for NUMA_NO_NODE"
> 
> I applied the following partial revert for today:

I had skipped this particular file because it includes 'numa.h'. But that does 
not
seem to pull in  though. Could we please add  
instead
of reverting the actual changes from the patch. I can send out another version 
of
the patch if required.

- Anshuman


Re: linux-next: build failure after merge of the akpm tree

2018-11-30 Thread Anshuman Khandual



On 11/30/2018 11:00 AM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc_le perf)
> failed like this:
> 
> bench/numa.c: In function 'bind_to_node':
> bench/numa.c:301:21: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>   if (target_node == NUMA_NO_NODE) {
>  ^~~~
>  NUMA_NUM_NODES
> bench/numa.c:301:21: note: each undeclared identifier is reported only once 
> for each function it appears in
> bench/numa.c: In function 'bind_to_memnode':
> bench/numa.c:342:14: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>   if (node == NUMA_NO_NODE)
>   ^~~~
>   NUMA_NUM_NODES
> bench/numa.c: In function 'init_thread_data':
> bench/numa.c:1366:19: error: 'NUMA_NO_NODE' undeclared (first use in this 
> function); did you mean 'NUMA_NUM_NODES'?
>td->bind_node = NUMA_NO_NODE;
>^~~~
>NUMA_NUM_NODES
> 
> Caused by patch
> 
>   "mm: replace all open encodings for NUMA_NO_NODE"
> 
> I applied the following partial revert for today:

I had skipped this particular file because it includes 'numa.h'. But that does 
not
seem to pull in  though. Could we please add  
instead
of reverting the actual changes from the patch. I can send out another version 
of
the patch if required.

- Anshuman


Re: linux-next: build failure after merge of the akpm tree

2018-10-16 Thread Ingo Molnar


* Stephen Rothwell  wrote:

> Hi all,
> 
> On Mon, 8 Oct 2018 19:03:41 +1100 Stephen Rothwell  
> wrote:
> >
> > After merging the akpm tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > arch/x86/mm/kaslr.c:26:10: fatal error: linux/bootmem.h: No such file or 
> > directory
> >  #include 
> >   ^
> > 
> > Caused by patch
> > 
> >   "mm: remove include/linux/bootmem.h"
> > 
> > interacting with commit
> > 
> >   3a387c6d96e6 ("x86/kaslr, ACPI/NUMA: Fix KASLR build error")
> > 
> > from the tip tree.
> > 
> > I have added the following patch for today:
> > 
> > From: Stephen Rothwell 
> > Date: Mon, 8 Oct 2018 18:57:00 +1100
> > Subject: [PATCH] x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  arch/x86/mm/kaslr.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c
> > index b3471388288d..ad80bdc690c1 100644
> > --- a/arch/x86/mm/kaslr.c
> > +++ b/arch/x86/mm/kaslr.c
> > @@ -23,7 +23,7 @@
> >  #include 
> >  #include 
> >  #include 
> > -#include 
> > +#include 
> >  
> >  #include 
> >  #include 
> > -- 
> 
> So the above tip tree patch no longer exists, so this one is also no
> longer needed and I have removed it from the akpm tree today.

Yeah, we are reworking this series in WIP.x86/boot, it probably won't 
make v4.20 so I removed it from -next.

Thanks,

Ingo


Re: linux-next: build failure after merge of the akpm tree

2018-10-16 Thread Ingo Molnar


* Stephen Rothwell  wrote:

> Hi all,
> 
> On Mon, 8 Oct 2018 19:03:41 +1100 Stephen Rothwell  
> wrote:
> >
> > After merging the akpm tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > arch/x86/mm/kaslr.c:26:10: fatal error: linux/bootmem.h: No such file or 
> > directory
> >  #include 
> >   ^
> > 
> > Caused by patch
> > 
> >   "mm: remove include/linux/bootmem.h"
> > 
> > interacting with commit
> > 
> >   3a387c6d96e6 ("x86/kaslr, ACPI/NUMA: Fix KASLR build error")
> > 
> > from the tip tree.
> > 
> > I have added the following patch for today:
> > 
> > From: Stephen Rothwell 
> > Date: Mon, 8 Oct 2018 18:57:00 +1100
> > Subject: [PATCH] x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  arch/x86/mm/kaslr.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c
> > index b3471388288d..ad80bdc690c1 100644
> > --- a/arch/x86/mm/kaslr.c
> > +++ b/arch/x86/mm/kaslr.c
> > @@ -23,7 +23,7 @@
> >  #include 
> >  #include 
> >  #include 
> > -#include 
> > +#include 
> >  
> >  #include 
> >  #include 
> > -- 
> 
> So the above tip tree patch no longer exists, so this one is also no
> longer needed and I have removed it from the akpm tree today.

Yeah, we are reworking this series in WIP.x86/boot, it probably won't 
make v4.20 so I removed it from -next.

Thanks,

Ingo


Re: linux-next: build failure after merge of the akpm tree

2018-10-15 Thread Stephen Rothwell
Hi all,

On Mon, 8 Oct 2018 19:03:41 +1100 Stephen Rothwell  
wrote:
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> arch/x86/mm/kaslr.c:26:10: fatal error: linux/bootmem.h: No such file or 
> directory
>  #include 
>   ^
> 
> Caused by patch
> 
>   "mm: remove include/linux/bootmem.h"
> 
> interacting with commit
> 
>   3a387c6d96e6 ("x86/kaslr, ACPI/NUMA: Fix KASLR build error")
> 
> from the tip tree.
> 
> I have added the following patch for today:
> 
> From: Stephen Rothwell 
> Date: Mon, 8 Oct 2018 18:57:00 +1100
> Subject: [PATCH] x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/x86/mm/kaslr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c
> index b3471388288d..ad80bdc690c1 100644
> --- a/arch/x86/mm/kaslr.c
> +++ b/arch/x86/mm/kaslr.c
> @@ -23,7 +23,7 @@
>  #include 
>  #include 
>  #include 
> -#include 
> +#include 
>  
>  #include 
>  #include 
> -- 

So the above tip tree patch no longer exists, so this one is also no
longer needed and I have removed it from the akpm tree today.

-- 
Cheers,
Stephen Rothwell


pgpIczDCutsbU.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2018-10-15 Thread Stephen Rothwell
Hi all,

On Mon, 8 Oct 2018 19:03:41 +1100 Stephen Rothwell  
wrote:
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> arch/x86/mm/kaslr.c:26:10: fatal error: linux/bootmem.h: No such file or 
> directory
>  #include 
>   ^
> 
> Caused by patch
> 
>   "mm: remove include/linux/bootmem.h"
> 
> interacting with commit
> 
>   3a387c6d96e6 ("x86/kaslr, ACPI/NUMA: Fix KASLR build error")
> 
> from the tip tree.
> 
> I have added the following patch for today:
> 
> From: Stephen Rothwell 
> Date: Mon, 8 Oct 2018 18:57:00 +1100
> Subject: [PATCH] x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/x86/mm/kaslr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c
> index b3471388288d..ad80bdc690c1 100644
> --- a/arch/x86/mm/kaslr.c
> +++ b/arch/x86/mm/kaslr.c
> @@ -23,7 +23,7 @@
>  #include 
>  #include 
>  #include 
> -#include 
> +#include 
>  
>  #include 
>  #include 
> -- 

So the above tip tree patch no longer exists, so this one is also no
longer needed and I have removed it from the akpm tree today.

-- 
Cheers,
Stephen Rothwell


pgpIczDCutsbU.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2018-03-21 Thread Stephen Rothwell
Hi Greg,

On Wed, 21 Mar 2018 11:02:08 +0100 Greg Kroah-Hartman 
 wrote:
>
> Patch is now queued up, thanks.

Excellent.

-- 
Cheers,
Stephen Rothwell


pgpMuNJUwYuTO.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2018-03-21 Thread Stephen Rothwell
Hi Greg,

On Wed, 21 Mar 2018 11:02:08 +0100 Greg Kroah-Hartman 
 wrote:
>
> Patch is now queued up, thanks.

Excellent.

-- 
Cheers,
Stephen Rothwell


pgpMuNJUwYuTO.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2018-03-21 Thread Greg Kroah-Hartman
On Wed, Mar 21, 2018 at 07:17:27PM +1100, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> drivers/base/firmware_loader/fallback.c: In function 'map_fw_priv_pages':
> drivers/base/firmware_loader/fallback.c:232:2: error: implicit declaration of 
> function 'vunmap'; did you mean 'kunmap'? 
> [-Werror=implicit-function-declaration]
>   vunmap(fw_priv->data);
>   ^~
>   kunmap
> drivers/base/firmware_loader/fallback.c:233:18: error: implicit declaration 
> of function 'vmap'; did you mean 'kmap'? 
> [-Werror=implicit-function-declaration]
>   fw_priv->data = vmap(fw_priv->pages, fw_priv->nr_pages, 0,
>   ^~~~
>   kmap
> drivers/base/firmware_loader/fallback.c:233:16: warning: assignment makes 
> pointer from integer without a cast [-Wint-conversion]
>   fw_priv->data = vmap(fw_priv->pages, fw_priv->nr_pages, 0,
> ^
> drivers/base/firmware_loader/fallback.c: In function 'firmware_loading_store':
> drivers/base/firmware_loader/fallback.c:274:4: error: implicit declaration of 
> function 'vfree'; did you mean 'kvfree'? 
> [-Werror=implicit-function-declaration]
> vfree(fw_priv->pages);
> ^
> kvfree
> drivers/base/firmware_loader/fallback.c: In function 'fw_realloc_pages':
> drivers/base/firmware_loader/fallback.c:405:15: error: implicit declaration 
> of function 'vmalloc'; did you mean 'kvmalloc'? 
> [-Werror=implicit-function-declaration]
>new_pages = vmalloc(new_array_size * sizeof(void *));
>^~~
>kvmalloc
> drivers/base/firmware_loader/fallback.c:405:13: warning: assignment makes 
> pointer from integer without a cast [-Wint-conversion]
>new_pages = vmalloc(new_array_size * sizeof(void *));
>  ^
> 
> Maybe caused by patch
> 
>   "headers: untangle kmemleak.h from mm.h"
> 
> Anyway this file should explicitly include linux/vmalloc.h since it uses
> stuff in there, so I have added the following patch for today (I think
> this could just be applied to the driver-core tree ...):

Patch is now queued up, thanks.

greg k-h


Re: linux-next: build failure after merge of the akpm tree

2018-03-21 Thread Greg Kroah-Hartman
On Wed, Mar 21, 2018 at 07:17:27PM +1100, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> drivers/base/firmware_loader/fallback.c: In function 'map_fw_priv_pages':
> drivers/base/firmware_loader/fallback.c:232:2: error: implicit declaration of 
> function 'vunmap'; did you mean 'kunmap'? 
> [-Werror=implicit-function-declaration]
>   vunmap(fw_priv->data);
>   ^~
>   kunmap
> drivers/base/firmware_loader/fallback.c:233:18: error: implicit declaration 
> of function 'vmap'; did you mean 'kmap'? 
> [-Werror=implicit-function-declaration]
>   fw_priv->data = vmap(fw_priv->pages, fw_priv->nr_pages, 0,
>   ^~~~
>   kmap
> drivers/base/firmware_loader/fallback.c:233:16: warning: assignment makes 
> pointer from integer without a cast [-Wint-conversion]
>   fw_priv->data = vmap(fw_priv->pages, fw_priv->nr_pages, 0,
> ^
> drivers/base/firmware_loader/fallback.c: In function 'firmware_loading_store':
> drivers/base/firmware_loader/fallback.c:274:4: error: implicit declaration of 
> function 'vfree'; did you mean 'kvfree'? 
> [-Werror=implicit-function-declaration]
> vfree(fw_priv->pages);
> ^
> kvfree
> drivers/base/firmware_loader/fallback.c: In function 'fw_realloc_pages':
> drivers/base/firmware_loader/fallback.c:405:15: error: implicit declaration 
> of function 'vmalloc'; did you mean 'kvmalloc'? 
> [-Werror=implicit-function-declaration]
>new_pages = vmalloc(new_array_size * sizeof(void *));
>^~~
>kvmalloc
> drivers/base/firmware_loader/fallback.c:405:13: warning: assignment makes 
> pointer from integer without a cast [-Wint-conversion]
>new_pages = vmalloc(new_array_size * sizeof(void *));
>  ^
> 
> Maybe caused by patch
> 
>   "headers: untangle kmemleak.h from mm.h"
> 
> Anyway this file should explicitly include linux/vmalloc.h since it uses
> stuff in there, so I have added the following patch for today (I think
> this could just be applied to the driver-core tree ...):

Patch is now queued up, thanks.

greg k-h


Re: linux-next: build failure after merge of the akpm tree

2017-08-01 Thread Arnd Bergmann
On Tue, Aug 1, 2017 at 8:40 PM, Kees Cook  wrote:
>>
>> I don't know why this has turned up now.  I have just left it broken
>> for now and would appreciate any fix.
>
> Thanks for the heads-up! I'm not sure why this suddenly appeared
> either, but Arnd has sent a patch for this now.

The main difference I see that can impact gcc's optimization steps is the
unreachable() that was there in BUG() but is absent in WARN().

It's possible that the compiler decided that the entire code path leading
up to the unreachable() couldn't happen, so it dropped the
__read_overflow2() call as well.

  Arnd


Re: linux-next: build failure after merge of the akpm tree

2017-08-01 Thread Arnd Bergmann
On Tue, Aug 1, 2017 at 8:40 PM, Kees Cook  wrote:
>>
>> I don't know why this has turned up now.  I have just left it broken
>> for now and would appreciate any fix.
>
> Thanks for the heads-up! I'm not sure why this suddenly appeared
> either, but Arnd has sent a patch for this now.

The main difference I see that can impact gcc's optimization steps is the
unreachable() that was there in BUG() but is absent in WARN().

It's possible that the compiler decided that the entire code path leading
up to the unreachable() couldn't happen, so it dropped the
__read_overflow2() call as well.

  Arnd


Re: linux-next: build failure after merge of the akpm tree

2017-08-01 Thread Kees Cook
On Mon, Jul 31, 2017 at 11:25 PM, Stephen Rothwell  
wrote:
> Hi Andrew,
>
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> In file included from arch/powerpc/include/asm/paca.h:19:0,
>  from arch/powerpc/include/asm/hw_irq.h:42,
>  from arch/powerpc/include/asm/irqflags.h:11,
>  from include/linux/irqflags.h:15,
>  from include/linux/spinlock.h:53,
>  from include/linux/wait.h:8,
>  from include/linux/wait_bit.h:7,
>  from include/linux/fs.h:5,
>  from include/linux/buffer_head.h:11,
>  from fs/adfs/dir_f.c:12:
> In function 'memcpy',
> inlined from '__adfs_dir_put' at fs/adfs/dir_f.c:318:2,
> inlined from 'adfs_f_update' at fs/adfs/dir_f.c:403:2:
> include/linux/string.h:305:4: error: call to '__read_overflow2' declared with 
> attribute error: detected read beyond size of object passed as 2nd parameter
> __read_overflow2();
> ^
>
> I don't know why this has turned up now.  I have just left it broken
> for now and would appreciate any fix.

Thanks for the heads-up! I'm not sure why this suddenly appeared
either, but Arnd has sent a patch for this now.

-Kees

-- 
Kees Cook
Pixel Security


Re: linux-next: build failure after merge of the akpm tree

2017-08-01 Thread Kees Cook
On Mon, Jul 31, 2017 at 11:25 PM, Stephen Rothwell  
wrote:
> Hi Andrew,
>
> After merging the akpm tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> In file included from arch/powerpc/include/asm/paca.h:19:0,
>  from arch/powerpc/include/asm/hw_irq.h:42,
>  from arch/powerpc/include/asm/irqflags.h:11,
>  from include/linux/irqflags.h:15,
>  from include/linux/spinlock.h:53,
>  from include/linux/wait.h:8,
>  from include/linux/wait_bit.h:7,
>  from include/linux/fs.h:5,
>  from include/linux/buffer_head.h:11,
>  from fs/adfs/dir_f.c:12:
> In function 'memcpy',
> inlined from '__adfs_dir_put' at fs/adfs/dir_f.c:318:2,
> inlined from 'adfs_f_update' at fs/adfs/dir_f.c:403:2:
> include/linux/string.h:305:4: error: call to '__read_overflow2' declared with 
> attribute error: detected read beyond size of object passed as 2nd parameter
> __read_overflow2();
> ^
>
> I don't know why this has turned up now.  I have just left it broken
> for now and would appreciate any fix.

Thanks for the heads-up! I'm not sure why this suddenly appeared
either, but Arnd has sent a patch for this now.

-Kees

-- 
Kees Cook
Pixel Security


Re: linux-next: build failure after merge of the akpm tree

2017-07-03 Thread David Miller
From: Stephen Rothwell 
Date: Fri, 30 Jun 2017 16:32:41 +1000

> From: Stephen Rothwell 
> Date: Fri, 30 Jun 2017 16:24:35 +1000
> Subject: [PATCH] net/mlx5: fix memcpy limit?
> 
> Signed-off-by: Stephen Rothwell 

Applied, thanks.


Re: linux-next: build failure after merge of the akpm tree

2017-07-03 Thread David Miller
From: Stephen Rothwell 
Date: Fri, 30 Jun 2017 16:32:41 +1000

> From: Stephen Rothwell 
> Date: Fri, 30 Jun 2017 16:24:35 +1000
> Subject: [PATCH] net/mlx5: fix memcpy limit?
> 
> Signed-off-by: Stephen Rothwell 

Applied, thanks.


Re: linux-next: build failure after merge of the akpm tree

2017-07-03 Thread Stephen Rothwell
Hi all,

On Fri, 30 Jun 2017 16:32:41 +1000 Stephen Rothwell  
wrote:
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from include/linux/bitmap.h:8:0,
>  from include/linux/cpumask.h:11,
>  from include/linux/mm_types_task.h:13,
>  from include/linux/mm_types.h:4,
>  from include/linux/kmemcheck.h:4,
>  from include/linux/skbuff.h:18,
>  from include/linux/if_ether.h:23,
>  from include/linux/etherdevice.h:25,
>  from drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:33:
> In function 'memcpy',
> inlined from 'mlx5_fpga_query_qp' at 
> drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:194:2:
> include/linux/string.h:315:4: error: call to '__read_overflow2' declared with 
> attribute error: detected read beyond size of object passed as 2nd parameter
> __read_overflow2();
> ^
> 
> Caused by commit
> 
>   c151149cc4db ("include/linux/string.h: add the option of fortified string.h 
> functions")
> 
> interacting with commit
> 
>   6062118d5cd2 ("net/mlx5: FPGA, Add FW commands for FPGA QPs")
> 
> from the net-next tree.
> 
> I took a guess and tried the following patch which seemed to work.
> 
> From: Stephen Rothwell 
> Date: Fri, 30 Jun 2017 16:24:35 +1000
> Subject: [PATCH] net/mlx5: fix memcpy limit?
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c 
> b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> index 5cb855fd618f..e37453d838db 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> @@ -191,7 +191,7 @@ int mlx5_fpga_query_qp(struct mlx5_core_dev *dev,
>   if (ret)
>   return ret;
>  
> - memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, in, fpga_qpc),
> + memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, out, fpga_qpc),
>  MLX5_FLD_SZ_BYTES(fpga_query_qp_out, fpga_qpc));
>   return ret;
>  }
> -- 
> 2.11.0

Again today ... so is the fix correct?  if so, Dave should apply it, if
not someone should supply a correct fix for Dave.

-- 
Cheers,
Stephen Rothwell


Re: linux-next: build failure after merge of the akpm tree

2017-07-03 Thread Stephen Rothwell
Hi all,

On Fri, 30 Jun 2017 16:32:41 +1000 Stephen Rothwell  
wrote:
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from include/linux/bitmap.h:8:0,
>  from include/linux/cpumask.h:11,
>  from include/linux/mm_types_task.h:13,
>  from include/linux/mm_types.h:4,
>  from include/linux/kmemcheck.h:4,
>  from include/linux/skbuff.h:18,
>  from include/linux/if_ether.h:23,
>  from include/linux/etherdevice.h:25,
>  from drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:33:
> In function 'memcpy',
> inlined from 'mlx5_fpga_query_qp' at 
> drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:194:2:
> include/linux/string.h:315:4: error: call to '__read_overflow2' declared with 
> attribute error: detected read beyond size of object passed as 2nd parameter
> __read_overflow2();
> ^
> 
> Caused by commit
> 
>   c151149cc4db ("include/linux/string.h: add the option of fortified string.h 
> functions")
> 
> interacting with commit
> 
>   6062118d5cd2 ("net/mlx5: FPGA, Add FW commands for FPGA QPs")
> 
> from the net-next tree.
> 
> I took a guess and tried the following patch which seemed to work.
> 
> From: Stephen Rothwell 
> Date: Fri, 30 Jun 2017 16:24:35 +1000
> Subject: [PATCH] net/mlx5: fix memcpy limit?
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c 
> b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> index 5cb855fd618f..e37453d838db 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
> @@ -191,7 +191,7 @@ int mlx5_fpga_query_qp(struct mlx5_core_dev *dev,
>   if (ret)
>   return ret;
>  
> - memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, in, fpga_qpc),
> + memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, out, fpga_qpc),
>  MLX5_FLD_SZ_BYTES(fpga_query_qp_out, fpga_qpc));
>   return ret;
>  }
> -- 
> 2.11.0

Again today ... so is the fix correct?  if so, Dave should apply it, if
not someone should supply a correct fix for Dave.

-- 
Cheers,
Stephen Rothwell


Re: linux-next: build failure after merge of the akpm tree

2017-06-26 Thread Stephen Rothwell
Hi Michal,

On Mon, 26 Jun 2017 09:13:46 +0200 Michal Hocko  wrote:
>
> On Mon 26-06-17 16:53:43, Stephen Rothwell wrote:
> > 
> > After merging the akpm tree, today's linux-next build (sparc64 defconfig)
> > failed like this:
> > 
> > arch/sparc/kernel/mdesc.c: In function 'mdesc_kmalloc':
> > arch/sparc/kernel/mdesc.c:208:48: error: '__GFP_REPEAT' undeclared (first 
> > use in this function)
> >   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> > ^
> > 
> > Caused by commit
> > 
> >   726ad49b664b ("mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL 
> > with more useful semantic")
> > 
> > interacting with commit
> > 
> >   0ab2fcd69dbf ("sparc64: mdesc: use __GFP_REPEAT action modifier for VM 
> > allocation")
> > 
> > from the sparc-next tree.
> > 
> > For now I have applied the following (I expect it to be replaced with
> > something better):  
> 
> You simply want s@__GFP_REPEAT@__GFP_RETRY_MAYFAIL@

OK, I have replaced the patch with this:

From: Stephen Rothwell 
Date: Mon, 26 Jun 2017 16:47:46 +1000
Subject: [PATCH] paper over the removal of __GFP_REPEAT for now

Signed-off-by: Stephen Rothwell 
---
 arch/sparc/kernel/mdesc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
index e4b4e790bf89..c9ecd5abf5bf 100644
--- a/arch/sparc/kernel/mdesc.c
+++ b/arch/sparc/kernel/mdesc.c
@@ -205,7 +205,7 @@ static struct mdesc_handle *mdesc_kmalloc(unsigned int 
mdesc_size)
handle_size = (sizeof(struct mdesc_handle) -
   sizeof(struct mdesc_hdr) +
   mdesc_size);
-   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
+   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_RETRY_MAYFAIL);
if (!base)
return NULL;
 
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell


Re: linux-next: build failure after merge of the akpm tree

2017-06-26 Thread Stephen Rothwell
Hi Michal,

On Mon, 26 Jun 2017 09:13:46 +0200 Michal Hocko  wrote:
>
> On Mon 26-06-17 16:53:43, Stephen Rothwell wrote:
> > 
> > After merging the akpm tree, today's linux-next build (sparc64 defconfig)
> > failed like this:
> > 
> > arch/sparc/kernel/mdesc.c: In function 'mdesc_kmalloc':
> > arch/sparc/kernel/mdesc.c:208:48: error: '__GFP_REPEAT' undeclared (first 
> > use in this function)
> >   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> > ^
> > 
> > Caused by commit
> > 
> >   726ad49b664b ("mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL 
> > with more useful semantic")
> > 
> > interacting with commit
> > 
> >   0ab2fcd69dbf ("sparc64: mdesc: use __GFP_REPEAT action modifier for VM 
> > allocation")
> > 
> > from the sparc-next tree.
> > 
> > For now I have applied the following (I expect it to be replaced with
> > something better):  
> 
> You simply want s@__GFP_REPEAT@__GFP_RETRY_MAYFAIL@

OK, I have replaced the patch with this:

From: Stephen Rothwell 
Date: Mon, 26 Jun 2017 16:47:46 +1000
Subject: [PATCH] paper over the removal of __GFP_REPEAT for now

Signed-off-by: Stephen Rothwell 
---
 arch/sparc/kernel/mdesc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
index e4b4e790bf89..c9ecd5abf5bf 100644
--- a/arch/sparc/kernel/mdesc.c
+++ b/arch/sparc/kernel/mdesc.c
@@ -205,7 +205,7 @@ static struct mdesc_handle *mdesc_kmalloc(unsigned int 
mdesc_size)
handle_size = (sizeof(struct mdesc_handle) -
   sizeof(struct mdesc_hdr) +
   mdesc_size);
-   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
+   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_RETRY_MAYFAIL);
if (!base)
return NULL;
 
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell


Re: linux-next: build failure after merge of the akpm tree

2017-06-26 Thread Michal Hocko
On Mon 26-06-17 16:53:43, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (sparc64 defconfig)
> failed like this:
> 
> arch/sparc/kernel/mdesc.c: In function 'mdesc_kmalloc':
> arch/sparc/kernel/mdesc.c:208:48: error: '__GFP_REPEAT' undeclared (first use 
> in this function)
>   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> ^
> 
> Caused by commit
> 
>   726ad49b664b ("mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL 
> with more useful semantic")
> 
> interacting with commit
> 
>   0ab2fcd69dbf ("sparc64: mdesc: use __GFP_REPEAT action modifier for VM 
> allocation")
> 
> from the sparc-next tree.
> 
> For now I have applied the following (I expect it to be replaced with
> something better):

You simply want s@__GFP_REPEAT@__GFP_RETRY_MAYFAIL@

> 
> From: Stephen Rothwell 
> Date: Mon, 26 Jun 2017 16:47:46 +1000
> Subject: [PATCH] paper over the removal of __GFP_REPEAT for now
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/sparc/kernel/mdesc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
> index e4b4e790bf89..c9ecd5abf5bf 100644
> --- a/arch/sparc/kernel/mdesc.c
> +++ b/arch/sparc/kernel/mdesc.c
> @@ -205,7 +205,7 @@ static struct mdesc_handle *mdesc_kmalloc(unsigned int 
> mdesc_size)
>   handle_size = (sizeof(struct mdesc_handle) -
>  sizeof(struct mdesc_hdr) +
>  mdesc_size);
> - base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> + base = kmalloc(handle_size + 15, GFP_KERNEL /* | __GFP_REPEAT */);
>   if (!base)
>   return NULL;
>  
> -- 
> 2.11.0
> 
> -- 
> Cheers,
> Stephen Rothwell

-- 
Michal Hocko
SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-06-26 Thread Michal Hocko
On Mon 26-06-17 16:53:43, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (sparc64 defconfig)
> failed like this:
> 
> arch/sparc/kernel/mdesc.c: In function 'mdesc_kmalloc':
> arch/sparc/kernel/mdesc.c:208:48: error: '__GFP_REPEAT' undeclared (first use 
> in this function)
>   base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> ^
> 
> Caused by commit
> 
>   726ad49b664b ("mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL 
> with more useful semantic")
> 
> interacting with commit
> 
>   0ab2fcd69dbf ("sparc64: mdesc: use __GFP_REPEAT action modifier for VM 
> allocation")
> 
> from the sparc-next tree.
> 
> For now I have applied the following (I expect it to be replaced with
> something better):

You simply want s@__GFP_REPEAT@__GFP_RETRY_MAYFAIL@

> 
> From: Stephen Rothwell 
> Date: Mon, 26 Jun 2017 16:47:46 +1000
> Subject: [PATCH] paper over the removal of __GFP_REPEAT for now
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/sparc/kernel/mdesc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
> index e4b4e790bf89..c9ecd5abf5bf 100644
> --- a/arch/sparc/kernel/mdesc.c
> +++ b/arch/sparc/kernel/mdesc.c
> @@ -205,7 +205,7 @@ static struct mdesc_handle *mdesc_kmalloc(unsigned int 
> mdesc_size)
>   handle_size = (sizeof(struct mdesc_handle) -
>  sizeof(struct mdesc_hdr) +
>  mdesc_size);
> - base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT);
> + base = kmalloc(handle_size + 15, GFP_KERNEL /* | __GFP_REPEAT */);
>   if (!base)
>   return NULL;
>  
> -- 
> 2.11.0
> 
> -- 
> Cheers,
> Stephen Rothwell

-- 
Michal Hocko
SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-03-20 Thread Michal Hocko
On Mon 20-03-17 16:37:35, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> fs/f2fs/node.c: In function 'init_free_nid_cache':
> fs/f2fs/node.c:2634:25: error: implicit declaration of function 
> 'f2fs_kvzalloc' [-Werror=implicit-function-declaration]
>   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
>  ^
> fs/f2fs/node.c:2634:23: warning: assignment makes pointer from integer 
> without a cast [-Wint-conversion]
>   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
>^
> 
> Caused by commit
> 
>   69e5e80117a3 ("mm: introduce kv[mz]alloc helpers")
> 
> interacting with commit
> 
>   c48b15867a2f ("f2fs: skip scanning free nid bitmap of full NAT blocks")
> 
> from the f2fs tree.
> 
> I applied the following fix patch:

yes this is correct. Thanks!

> 
> From: Stephen Rothwell 
> Date: Mon, 20 Mar 2017 16:28:21 +1100
> Subject: [PATCH] mm: introduce kv[mz]alloc helpers - f2fs fix up
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  fs/f2fs/node.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index cdbb05745895..0ea1dca8a0e2 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -2631,7 +2631,7 @@ static int init_free_nid_cache(struct f2fs_sb_info *sbi)
>   if (!nm_i->nat_block_bitmap)
>   return -ENOMEM;
>  
> - nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> + nm_i->free_nid_count = kvzalloc(nm_i->nat_blocks *
>   sizeof(unsigned short), GFP_KERNEL);
>   if (!nm_i->free_nid_count)
>   return -ENOMEM;
> -- 
> 2.11.0
> 
> -- 
> Cheers,
> Stephen Rothwell

-- 
Michal Hocko
SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-03-20 Thread Michal Hocko
On Mon 20-03-17 16:37:35, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> fs/f2fs/node.c: In function 'init_free_nid_cache':
> fs/f2fs/node.c:2634:25: error: implicit declaration of function 
> 'f2fs_kvzalloc' [-Werror=implicit-function-declaration]
>   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
>  ^
> fs/f2fs/node.c:2634:23: warning: assignment makes pointer from integer 
> without a cast [-Wint-conversion]
>   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
>^
> 
> Caused by commit
> 
>   69e5e80117a3 ("mm: introduce kv[mz]alloc helpers")
> 
> interacting with commit
> 
>   c48b15867a2f ("f2fs: skip scanning free nid bitmap of full NAT blocks")
> 
> from the f2fs tree.
> 
> I applied the following fix patch:

yes this is correct. Thanks!

> 
> From: Stephen Rothwell 
> Date: Mon, 20 Mar 2017 16:28:21 +1100
> Subject: [PATCH] mm: introduce kv[mz]alloc helpers - f2fs fix up
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  fs/f2fs/node.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index cdbb05745895..0ea1dca8a0e2 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -2631,7 +2631,7 @@ static int init_free_nid_cache(struct f2fs_sb_info *sbi)
>   if (!nm_i->nat_block_bitmap)
>   return -ENOMEM;
>  
> - nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> + nm_i->free_nid_count = kvzalloc(nm_i->nat_blocks *
>   sizeof(unsigned short), GFP_KERNEL);
>   if (!nm_i->free_nid_count)
>   return -ENOMEM;
> -- 
> 2.11.0
> 
> -- 
> Cheers,
> Stephen Rothwell

-- 
Michal Hocko
SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-03-20 Thread Jaegeuk Kim
On 03/20, Michal Hocko wrote:
> On Mon 20-03-17 16:37:35, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > After merging the akpm tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > fs/f2fs/node.c: In function 'init_free_nid_cache':
> > fs/f2fs/node.c:2634:25: error: implicit declaration of function 
> > 'f2fs_kvzalloc' [-Werror=implicit-function-declaration]
> >   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> >  ^
> > fs/f2fs/node.c:2634:23: warning: assignment makes pointer from integer 
> > without a cast [-Wint-conversion]
> >   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> >^
> > 
> > Caused by commit
> > 
> >   69e5e80117a3 ("mm: introduce kv[mz]alloc helpers")
> > 
> > interacting with commit
> > 
> >   c48b15867a2f ("f2fs: skip scanning free nid bitmap of full NAT blocks")
> > 
> > from the f2fs tree.
> > 
> > I applied the following fix patch:
> 
> yes this is correct. Thanks!

Thank you for checking this out.

Thanks,

> 
> > 
> > From: Stephen Rothwell 
> > Date: Mon, 20 Mar 2017 16:28:21 +1100
> > Subject: [PATCH] mm: introduce kv[mz]alloc helpers - f2fs fix up
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  fs/f2fs/node.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> > index cdbb05745895..0ea1dca8a0e2 100644
> > --- a/fs/f2fs/node.c
> > +++ b/fs/f2fs/node.c
> > @@ -2631,7 +2631,7 @@ static int init_free_nid_cache(struct f2fs_sb_info 
> > *sbi)
> > if (!nm_i->nat_block_bitmap)
> > return -ENOMEM;
> >  
> > -   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> > +   nm_i->free_nid_count = kvzalloc(nm_i->nat_blocks *
> > sizeof(unsigned short), GFP_KERNEL);
> > if (!nm_i->free_nid_count)
> > return -ENOMEM;
> > -- 
> > 2.11.0
> > 
> > -- 
> > Cheers,
> > Stephen Rothwell
> 
> -- 
> Michal Hocko
> SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-03-20 Thread Jaegeuk Kim
On 03/20, Michal Hocko wrote:
> On Mon 20-03-17 16:37:35, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > After merging the akpm tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > fs/f2fs/node.c: In function 'init_free_nid_cache':
> > fs/f2fs/node.c:2634:25: error: implicit declaration of function 
> > 'f2fs_kvzalloc' [-Werror=implicit-function-declaration]
> >   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> >  ^
> > fs/f2fs/node.c:2634:23: warning: assignment makes pointer from integer 
> > without a cast [-Wint-conversion]
> >   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> >^
> > 
> > Caused by commit
> > 
> >   69e5e80117a3 ("mm: introduce kv[mz]alloc helpers")
> > 
> > interacting with commit
> > 
> >   c48b15867a2f ("f2fs: skip scanning free nid bitmap of full NAT blocks")
> > 
> > from the f2fs tree.
> > 
> > I applied the following fix patch:
> 
> yes this is correct. Thanks!

Thank you for checking this out.

Thanks,

> 
> > 
> > From: Stephen Rothwell 
> > Date: Mon, 20 Mar 2017 16:28:21 +1100
> > Subject: [PATCH] mm: introduce kv[mz]alloc helpers - f2fs fix up
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  fs/f2fs/node.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> > index cdbb05745895..0ea1dca8a0e2 100644
> > --- a/fs/f2fs/node.c
> > +++ b/fs/f2fs/node.c
> > @@ -2631,7 +2631,7 @@ static int init_free_nid_cache(struct f2fs_sb_info 
> > *sbi)
> > if (!nm_i->nat_block_bitmap)
> > return -ENOMEM;
> >  
> > -   nm_i->free_nid_count = f2fs_kvzalloc(nm_i->nat_blocks *
> > +   nm_i->free_nid_count = kvzalloc(nm_i->nat_blocks *
> > sizeof(unsigned short), GFP_KERNEL);
> > if (!nm_i->free_nid_count)
> > return -ENOMEM;
> > -- 
> > 2.11.0
> > 
> > -- 
> > Cheers,
> > Stephen Rothwell
> 
> -- 
> Michal Hocko
> SUSE Labs


Re: linux-next: build failure after merge of the akpm tree

2017-03-06 Thread Laura Abbott
On 03/06/2017 07:07 PM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from include/linux/sunrpc/clnt.h:27,
>  from include/linux/nfs_fs.h:30,
>  from init/do_mounts.c:32:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from arch/powerpc/net/bpf_jit_comp64.c:17:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from ipc/mqueue.c:42:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> kernel/module.c:52:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from include/linux/sunrpc/clnt.h:27,
>  from include/linux/nfs_fs.h:30,
>  from kernel/sysctl.c:54:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/extable.c:25:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from kernel/cgroup/cgroup.c:57:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/inode.c:22:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/kallsyms.c:26:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/events/core.c:46:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/core.c:24:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/hashtab.c:15:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/linux/bpf_verifier.h:11:0,
>  from kernel/bpf/verifier.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/stackmap.c:9:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/seccomp.c:31:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/trace/events/bpf.h:7:0,
>  from include/linux/bpf_trace.h:4,
>  from kernel/bpf/syscall.c:13:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/net/inet_sock.h:27,
>  from include/net/ip.h:30,
>  from include/net/busy_poll.h:30,
>  from fs/select.c:31:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/helpers.c:20:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from kernel/bpf/cgroup.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from kernel/bpf/lpm_trie.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/arraymap.c:16:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/trace/bpf_trace.c:13:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/if_pppox.h:46,
>  from fs/compat_ioctl.c:38:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from 

Re: linux-next: build failure after merge of the akpm tree

2017-03-06 Thread Laura Abbott
On 03/06/2017 07:07 PM, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from include/linux/sunrpc/clnt.h:27,
>  from include/linux/nfs_fs.h:30,
>  from init/do_mounts.c:32:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from arch/powerpc/net/bpf_jit_comp64.c:17:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from ipc/mqueue.c:42:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> kernel/module.c:52:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from include/linux/sunrpc/clnt.h:27,
>  from include/linux/nfs_fs.h:30,
>  from kernel/sysctl.c:54:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/extable.c:25:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from kernel/cgroup/cgroup.c:57:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/inode.c:22:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/kallsyms.c:26:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/events/core.c:46:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/core.c:24:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/hashtab.c:15:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/linux/bpf_verifier.h:11:0,
>  from kernel/bpf/verifier.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/stackmap.c:9:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/seccomp.c:31:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/trace/events/bpf.h:7:0,
>  from include/linux/bpf_trace.h:4,
>  from kernel/bpf/syscall.c:13:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/net/inet_sock.h:27,
>  from include/net/ip.h:30,
>  from include/net/busy_poll.h:30,
>  from fs/select.c:31:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/helpers.c:20:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from kernel/bpf/cgroup.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from kernel/bpf/lpm_trie.c:17:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/bpf/arraymap.c:16:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from kernel/trace/bpf_trace.c:13:0:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/if_pppox.h:46,
>  from fs/compat_ioctl.c:38:
> include/linux/filter.h:21:28: fatal error: asm/set_memory.h: No such file or 
> directory
> In file included from include/net/sock.h:64:0,
>  from include/linux/tcp.h:23,
>  from include/linux/ipv6.h:83,
>  from include/net/ipv6.h:16,
>  from 

Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Takashi Iwai
On Tue, 26 Jan 2016 21:51:30 +0100,
Stephen Rothwell wrote:
> 
> Hi Takashi,
> 
> On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwai  wrote:
> >
> > From: Takashi Iwai 
> > Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
> >  architectures
> > 
> > Some architectures like PowerPC can handle the maximum struct size in
> > an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> > SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> > problem was revealed recently by a powerpc change, as it's now treated
> > as a fatal build error.
> > 
> > This patch is a workaround for that: for architectures with less than
> > 14 bit ioctl struct size, get rid of the handling of the relevant
> > ioctl.  We should provide an alternative equivalent ioctl code later,
> > but for now just paper over it.  Luckily, the compress API hasn't been
> > used on such architectures, so the impact must be effectively zero.
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/core/compress_offload.c | 11 +++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> > index 18b8dc45bb8f..0609e618107a 100644
> > --- a/sound/core/compress_offload.c
> > +++ b/sound/core/compress_offload.c
> > @@ -46,6 +46,13 @@
> >  #include 
> >  #include 
> >  
> > +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> > + *architectures, so we need to disable the relevant ioctls.
> > + */
> > +#if _IOC_SIZEBITS < 14
> > +#define COMPR_CODEC_CAPS_OVERFLOW
> > +#endif
> > +
> >  /* TODO:
> >   * - add substream support for multiple devices in case of
> >   * SND_DYNAMIC_MINORS is not used
> > @@ -440,6 +447,7 @@ out:
> > return retval;
> >  }
> >  
> > +#ifndef COMPR_CODEC_CAPS_OVERFLOW
> >  static int
> >  snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long 
> > arg)
> >  {
> > @@ -463,6 +471,7 @@ out:
> > kfree(caps);
> > return retval;
> >  }
> > +#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
> >  
> >  /* revisit this with snd_pcm_preallocate_xxx */
> >  static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
> > @@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned 
> > int cmd, unsigned long arg)
> > case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
> > retval = snd_compr_get_caps(stream, arg);
> > break;
> > +#ifndef COMPR_CODEC_CAPS_OVERFLOW
> > case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
> > retval = snd_compr_get_codec_caps(stream, arg);
> > break;
> > +#endif
> > case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
> > retval = snd_compr_set_params(stream, arg);
> > break;
> > -- 
> > 2.7.0
> 
> I have replaced my other patch in my fixes tree until someone gets this
> patch to Linus.

I've merged this to for-linus branch, so it'll be included in the next
pull request.


thanks,

Takashi


Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Stephen Rothwell
Hi Takashi,

On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwai  wrote:
>
> From: Takashi Iwai 
> Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
>  architectures
> 
> Some architectures like PowerPC can handle the maximum struct size in
> an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> problem was revealed recently by a powerpc change, as it's now treated
> as a fatal build error.
> 
> This patch is a workaround for that: for architectures with less than
> 14 bit ioctl struct size, get rid of the handling of the relevant
> ioctl.  We should provide an alternative equivalent ioctl code later,
> but for now just paper over it.  Luckily, the compress API hasn't been
> used on such architectures, so the impact must be effectively zero.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/core/compress_offload.c | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 18b8dc45bb8f..0609e618107a 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -46,6 +46,13 @@
>  #include 
>  #include 
>  
> +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> + *architectures, so we need to disable the relevant ioctls.
> + */
> +#if _IOC_SIZEBITS < 14
> +#define COMPR_CODEC_CAPS_OVERFLOW
> +#endif
> +
>  /* TODO:
>   * - add substream support for multiple devices in case of
>   *   SND_DYNAMIC_MINORS is not used
> @@ -440,6 +447,7 @@ out:
>   return retval;
>  }
>  
> +#ifndef COMPR_CODEC_CAPS_OVERFLOW
>  static int
>  snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long arg)
>  {
> @@ -463,6 +471,7 @@ out:
>   kfree(caps);
>   return retval;
>  }
> +#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
>  
>  /* revisit this with snd_pcm_preallocate_xxx */
>  static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
> @@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned int 
> cmd, unsigned long arg)
>   case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
>   retval = snd_compr_get_caps(stream, arg);
>   break;
> +#ifndef COMPR_CODEC_CAPS_OVERFLOW
>   case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
>   retval = snd_compr_get_codec_caps(stream, arg);
>   break;
> +#endif
>   case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
>   retval = snd_compr_set_params(stream, arg);
>   break;
> -- 
> 2.7.0

I have replaced my other patch in my fixes tree until someone gets this
patch to Linus.
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Vinod Koul
On Mon, Jan 25, 2016 at 01:55:46PM +, Mark Brown wrote:
> 
> though we will need to come up with an alternative solution for the
> affected architectures if anyone ends up caring (MIPS or PowerPC might
> possibly).

Okay I did some rethink on this. So we should be able to make
MAX_NUM_CODEC_DESCRIPTORS to 16. But that will be ABI change :(

Also further down the road if people start hitting this limit add
additional ioctl to get more descriptors, but for Intel devices this is
okay, WM doesn't seem to implement this..

Thanks
-- 
~Vinod


signature.asc
Description: Digital signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Vinod Koul
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:
> Below is the revised one.

Acked-by: Vinod Koul 

Thanks for fixing this up...

-- 
~Vinod



Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Vinod Koul
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:
> Below is the revised one.

Acked-by: Vinod Koul 

Thanks for fixing this up...

-- 
~Vinod



Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Stephen Rothwell
Hi Takashi,

On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwai  wrote:
>
> From: Takashi Iwai 
> Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
>  architectures
> 
> Some architectures like PowerPC can handle the maximum struct size in
> an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> problem was revealed recently by a powerpc change, as it's now treated
> as a fatal build error.
> 
> This patch is a workaround for that: for architectures with less than
> 14 bit ioctl struct size, get rid of the handling of the relevant
> ioctl.  We should provide an alternative equivalent ioctl code later,
> but for now just paper over it.  Luckily, the compress API hasn't been
> used on such architectures, so the impact must be effectively zero.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/core/compress_offload.c | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 18b8dc45bb8f..0609e618107a 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -46,6 +46,13 @@
>  #include 
>  #include 
>  
> +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> + *architectures, so we need to disable the relevant ioctls.
> + */
> +#if _IOC_SIZEBITS < 14
> +#define COMPR_CODEC_CAPS_OVERFLOW
> +#endif
> +
>  /* TODO:
>   * - add substream support for multiple devices in case of
>   *   SND_DYNAMIC_MINORS is not used
> @@ -440,6 +447,7 @@ out:
>   return retval;
>  }
>  
> +#ifndef COMPR_CODEC_CAPS_OVERFLOW
>  static int
>  snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long arg)
>  {
> @@ -463,6 +471,7 @@ out:
>   kfree(caps);
>   return retval;
>  }
> +#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
>  
>  /* revisit this with snd_pcm_preallocate_xxx */
>  static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
> @@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned int 
> cmd, unsigned long arg)
>   case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
>   retval = snd_compr_get_caps(stream, arg);
>   break;
> +#ifndef COMPR_CODEC_CAPS_OVERFLOW
>   case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
>   retval = snd_compr_get_codec_caps(stream, arg);
>   break;
> +#endif
>   case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
>   retval = snd_compr_set_params(stream, arg);
>   break;
> -- 
> 2.7.0

I have replaced my other patch in my fixes tree until someone gets this
patch to Linus.
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Takashi Iwai
On Tue, 26 Jan 2016 21:51:30 +0100,
Stephen Rothwell wrote:
> 
> Hi Takashi,
> 
> On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwai  wrote:
> >
> > From: Takashi Iwai 
> > Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
> >  architectures
> > 
> > Some architectures like PowerPC can handle the maximum struct size in
> > an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> > SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> > problem was revealed recently by a powerpc change, as it's now treated
> > as a fatal build error.
> > 
> > This patch is a workaround for that: for architectures with less than
> > 14 bit ioctl struct size, get rid of the handling of the relevant
> > ioctl.  We should provide an alternative equivalent ioctl code later,
> > but for now just paper over it.  Luckily, the compress API hasn't been
> > used on such architectures, so the impact must be effectively zero.
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/core/compress_offload.c | 11 +++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> > index 18b8dc45bb8f..0609e618107a 100644
> > --- a/sound/core/compress_offload.c
> > +++ b/sound/core/compress_offload.c
> > @@ -46,6 +46,13 @@
> >  #include 
> >  #include 
> >  
> > +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> > + *architectures, so we need to disable the relevant ioctls.
> > + */
> > +#if _IOC_SIZEBITS < 14
> > +#define COMPR_CODEC_CAPS_OVERFLOW
> > +#endif
> > +
> >  /* TODO:
> >   * - add substream support for multiple devices in case of
> >   * SND_DYNAMIC_MINORS is not used
> > @@ -440,6 +447,7 @@ out:
> > return retval;
> >  }
> >  
> > +#ifndef COMPR_CODEC_CAPS_OVERFLOW
> >  static int
> >  snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long 
> > arg)
> >  {
> > @@ -463,6 +471,7 @@ out:
> > kfree(caps);
> > return retval;
> >  }
> > +#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
> >  
> >  /* revisit this with snd_pcm_preallocate_xxx */
> >  static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
> > @@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned 
> > int cmd, unsigned long arg)
> > case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
> > retval = snd_compr_get_caps(stream, arg);
> > break;
> > +#ifndef COMPR_CODEC_CAPS_OVERFLOW
> > case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
> > retval = snd_compr_get_codec_caps(stream, arg);
> > break;
> > +#endif
> > case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
> > retval = snd_compr_set_params(stream, arg);
> > break;
> > -- 
> > 2.7.0
> 
> I have replaced my other patch in my fixes tree until someone gets this
> patch to Linus.

I've merged this to for-linus branch, so it'll be included in the next
pull request.


thanks,

Takashi


Re: linux-next: build failure after merge of the akpm tree

2016-01-26 Thread Vinod Koul
On Mon, Jan 25, 2016 at 01:55:46PM +, Mark Brown wrote:
> 
> though we will need to come up with an alternative solution for the
> affected architectures if anyone ends up caring (MIPS or PowerPC might
> possibly).

Okay I did some rethink on this. So we should be able to make
MAX_NUM_CODEC_DESCRIPTORS to 16. But that will be ABI change :(

Also further down the road if people start hitting this limit add
additional ioctl to get more descriptors, but for Intel devices this is
okay, WM doesn't seem to implement this..

Thanks
-- 
~Vinod


signature.asc
Description: Digital signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:
> On Mon, 25 Jan 2016 14:10:37 +0100,
> Takashi Iwai wrote:
> > 
> > On Mon, 25 Jan 2016 12:41:50 +0100,
> > Mark Brown wrote:
> > > 
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/core/compress_offload.c | 11 +++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> > index 18b8dc45bb8f..36b0083fd9f4 100644
> > --- a/sound/core/compress_offload.c
> > +++ b/sound/core/compress_offload.c
> > @@ -46,6 +46,13 @@
> >  #include 
> >  #include 
> >  
> > +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> > + *architectures, so we need to disable the relevant ioctls.
> > + */
> > +#if _IOC_SIZEBITS < 13
> 
> Argh, a typo here.  I forgot to refresh the patch, sorry.
> 
> Below is the revised one.

powerpc allmodconfig builds properly now.

Acked-by: Sudip Mukherjee 

regards
sudip


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Mark Brown
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:

> Argh, a typo here.  I forgot to refresh the patch, sorry.

> Below is the revised one.

This makes sense to me.

Reviwed-by: Mark Brown 

though we will need to come up with an alternative solution for the
affected architectures if anyone ends up caring (MIPS or PowerPC might
possibly).


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 14:10:37 +0100,
Takashi Iwai wrote:
> 
> On Mon, 25 Jan 2016 12:41:50 +0100,
> Mark Brown wrote:
> > 
> > On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > > Stephen Rothwell wrote:
> > 
> > > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > > index 50693c867e71..ee5f36b9c787 100644
> > > > --- a/sound/soc/codecs/Kconfig
> > > > +++ b/sound/soc/codecs/Kconfig
> > > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > > >  config SND_SOC_ALL_CODECS
> > > > tristate "Build all ASoC CODEC drivers"
> > > > depends on COMPILE_TEST
> > > > +   depends on !PPC
> > > > select SND_SOC_88PM860X if MFD_88PM860X
> > > > select SND_SOC_L3
> > > > select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > > Suppressing this whole is an overreaction, IMO.  It should suffice
> > > just to disable compile-testing Intel driver.
> > 
> > Please send patches and reports to maintainers :(  I agree that this is
> > an absurdly wide change.
> > 
> > > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > > index 803f95e40679..d854cd66e090 100644
> > > --- a/sound/soc/intel/Kconfig
> > > +++ b/sound/soc/intel/Kconfig
> > > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > >   tristate
> > >   select SND_SOC_INTEL_SST_ACPI if ACPI
> > >   depends on (X86 || COMPILE_TEST)
> > > + # FIXME: a part of compress API is broken for PPC
> > > + depends on !PPC
> > 
> > Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
> > unclear why this will help when we're selecting in the drivers so their
> > dependencies will be ignored.
> 
> Yeah, obviously papering over a wrong place.
> 
> In anyway, thinking of this workaround again, I don't think it being
> the best way.  The easier and safer workaround is to just avoid the
> corresponding ioctl being handled.  The untested patch is attached
> below.
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
>  architectures
> 
> Some architectures like PowerPC can handle the maximum struct size in
> an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> problem was revealed recently by a powerpc change, as it's now treated
> as a fatal build error.
> 
> This patch is a workaround for that: for architectures with less than
> 14 bit ioctl struct size, get rid of the handling of the relevant
> ioctl.  We should provide an alternative equivalent ioctl code later,
> but for now just paper over it.  Luckily, the compress API hasn't been
> used on such architectures, so the impact must be effectively zero.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/core/compress_offload.c | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 18b8dc45bb8f..36b0083fd9f4 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -46,6 +46,13 @@
>  #include 
>  #include 
>  
> +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> + *architectures, so we need to disable the relevant ioctls.
> + */
> +#if _IOC_SIZEBITS < 13

Argh, a typo here.  I forgot to refresh the patch, sorry.

Below is the revised one.


Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
 architectures

Some architectures like PowerPC can handle the maximum struct size in
an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
problem was revealed recently by a powerpc change, as it's now treated
as a fatal build error.

This patch is a workaround for that: for architectures with less than
14 bit ioctl struct size, get rid of the handling of the relevant
ioctl.  We should provide an alternative equivalent ioctl code later,
but for now just paper over it.  Luckily, the compress API hasn't been
used on such architectures, so the impact must be effectively zero.

Signed-off-by: Takashi Iwai 
---
 sound/core/compress_offload.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
index 18b8dc45bb8f..0609e618107a 100644
--- a/sound/core/compress_offload.c
+++ b/sound/core/compress_offload.c
@@ -46,6 +46,13 @@
 #include 
 #include 
 
+/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
+ *architectures, so we need to disable the relevant ioctls.
+ */
+#if _IOC_SIZEBITS < 14
+#define COMPR_CODEC_CAPS_OVERFLOW
+#endif
+
 /* TODO:
  * - add substream support for multiple devices in case of
  * SND_DYNAMIC_MINORS is not used
@@ -440,6 +447,7 @@ out:
return retval;
 }
 
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
 static int
 snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned 

Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 12:41:50 +0100,
Mark Brown wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > Stephen Rothwell wrote:
> 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> 
> Please send patches and reports to maintainers :(  I agree that this is
> an absurdly wide change.
> 
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> 
> Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
> unclear why this will help when we're selecting in the drivers so their
> dependencies will be ignored.

Yeah, obviously papering over a wrong place.

In anyway, thinking of this workaround again, I don't think it being
the best way.  The easier and safer workaround is to just avoid the
corresponding ioctl being handled.  The untested patch is attached
below.


thanks,

Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
 architectures

Some architectures like PowerPC can handle the maximum struct size in
an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
problem was revealed recently by a powerpc change, as it's now treated
as a fatal build error.

This patch is a workaround for that: for architectures with less than
14 bit ioctl struct size, get rid of the handling of the relevant
ioctl.  We should provide an alternative equivalent ioctl code later,
but for now just paper over it.  Luckily, the compress API hasn't been
used on such architectures, so the impact must be effectively zero.

Signed-off-by: Takashi Iwai 
---
 sound/core/compress_offload.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
index 18b8dc45bb8f..36b0083fd9f4 100644
--- a/sound/core/compress_offload.c
+++ b/sound/core/compress_offload.c
@@ -46,6 +46,13 @@
 #include 
 #include 
 
+/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
+ *architectures, so we need to disable the relevant ioctls.
+ */
+#if _IOC_SIZEBITS < 13
+#define COMPR_CODEC_CAPS_OVERFLOW
+#endif
+
 /* TODO:
  * - add substream support for multiple devices in case of
  * SND_DYNAMIC_MINORS is not used
@@ -440,6 +447,7 @@ out:
return retval;
 }
 
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
 static int
 snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long arg)
 {
@@ -463,6 +471,7 @@ out:
kfree(caps);
return retval;
 }
+#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
 
 /* revisit this with snd_pcm_preallocate_xxx */
 static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
@@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned int 
cmd, unsigned long arg)
case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
retval = snd_compr_get_caps(stream, arg);
break;
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
retval = snd_compr_get_codec_caps(stream, arg);
break;
+#endif
case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
retval = snd_compr_set_params(stream, arg);
break;
-- 
2.7.0



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Mark Brown
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> Stephen Rothwell wrote:

> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE

> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.

Please send patches and reports to maintainers :(  I agree that this is
an absurdly wide change.

> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC

Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
unclear why this will help when we're selecting in the drivers so their
dependencies will be ignored.


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 12:03:54PM +0100, Takashi Iwai wrote:
> On Mon, 25 Jan 2016 11:45:56 +0100,
> Sudip Mukherjee wrote:
> > 
> > On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > > On Fri, 22 Jan 2016 03:40:45 +0100,
> > > Stephen Rothwell wrote:
> > > > 
> > > > Hi all,
> > > > 

> > > > 
> > > > From: Stephen Rothwell 
> > > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > > PPC
> > > >  for now
> > > > 
> > > > Signed-off-by: Stephen Rothwell 
> > > > ---
> > > >  sound/soc/codecs/Kconfig | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > > index 50693c867e71..ee5f36b9c787 100644
> > > > --- a/sound/soc/codecs/Kconfig
> > > > +++ b/sound/soc/codecs/Kconfig
> > > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > > >  config SND_SOC_ALL_CODECS
> > > > tristate "Build all ASoC CODEC drivers"
> > > > depends on COMPILE_TEST
> > > > +   depends on !PPC
> > > > select SND_SOC_88PM860X if MFD_88PM860X
> > > > select SND_SOC_L3
> > > > select SND_SOC_AB8500_CODEC if ABX500_CORE
> > > 
> > > Suppressing this whole is an overreaction, IMO.  It should suffice
> > > just to disable compile-testing Intel driver.
> > > How about the patch below?
> > > 
> > > 
> > > thanks,
> > > 
> > > Takashi
> > > 
> > > -- 8< --
> > > From: Takashi Iwai 
> > > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > > 
> > > Since some ioctl in compress offload API is broken for PPC (the struct
> > > size overflows), now we get actually the build error.
> > > 
> > > Until we get the proper solution (e.g. alternative ioctl), let's
> > > disable the build of Intel ASoC driver that is the only driver who
> > > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > > mainline tree.
> > 
> > Sorry, but this does not fix the build failure.
> > I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.
> 
> Who sets this config?  SND_COMPRESS_OFFLOAD has no prompt, so this
> should be default off.

I think when we are doing allmodconfig SND_SOC_COMPRESS will be selected
which in turn will select SND_COMPRESS_OFFLOAD as SND_SOC_COMPRESS
depends only on SND_SOC.

And alpha is not affected. It builds fine.

regards
sudip


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 11:45:56 +0100,
Sudip Mukherjee wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100,
> > Stephen Rothwell wrote:
> > > 
> > > Hi all,
> > > 
> > > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > > >  wrote:
> > > > >
> > > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  
> > > > > wrote:  
> > > > > >
> > > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > > Takashi Iwai wrote:
> > > > > > > 
> > > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > > 
> > > > > > > A. Disable compress API for powerpc.
> > > > > 
> > > > > This also affects alpha, mips and (maybe) sparc.  
> > > > 
> > > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > > relevant change that made was in the compiler flags (I tested this by
> > > > building the file without that commit but with these new compiler flags:
> > > > 
> > > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > > 
> > > > The preprocessed file is the same in both cases, but with these flags
> > > > the compiler errors.
> > > 
> > > So for now I have suppressed the error using the following patch (which
> > > I will keep in my fixes tree until some other fix is applied):
> > > 
> > > From: Stephen Rothwell 
> > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > PPC
> > >  for now
> > > 
> > > Signed-off-by: Stephen Rothwell 
> > > ---
> > >  sound/soc/codecs/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > 
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> > 
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> 
> Sorry, but this does not fix the build failure.
> I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.

Who sets this config?  SND_COMPRESS_OFFLOAD has no prompt, so this
should be default off.

> But the following does fix it for powerpc:
> 
> diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
> index 7ea66ee..b92d286 100644
> --- a/sound/soc/Kconfig
> +++ b/sound/soc/Kconfig
> @@ -31,6 +31,7 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
>  
>  config SND_SOC_COMPRESS
>   bool
> + depends on !PPC
>   select SND_COMPRESS_OFFLOAD
>  
>  config SND_SOC_TOPOLOGY

It has a reverse-selection, and the reverse-selection ignores Depends,
AFAIK.  If that long-standing problem were already fixed, it's
great...


Takashi

> 
> -- 
> 
> I will just check with alpha and see if that is also affected.
> 
> regards
> sudip
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100,
> Stephen Rothwell wrote:
> > 
> > Hi all,
> > 
> > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > > >
> > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > Takashi Iwai wrote:
> > > > > > 
> > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > 
> > > > > > A. Disable compress API for powerpc.
> > > > 
> > > > This also affects alpha, mips and (maybe) sparc.  
> > > 
> > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > relevant change that made was in the compiler flags (I tested this by
> > > building the file without that commit but with these new compiler flags:
> > > 
> > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > 
> > > The preprocessed file is the same in both cases, but with these flags
> > > the compiler errors.
> > 
> > So for now I have suppressed the error using the following patch (which
> > I will keep in my fixes tree until some other fix is applied):
> > 
> > From: Stephen Rothwell 
> > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
> >  for now
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  sound/soc/codecs/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> 
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
> 
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.

Sorry, but this does not fix the build failure.
I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.

But the following does fix it for powerpc:

diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
index 7ea66ee..b92d286 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -31,6 +31,7 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
 
 config SND_SOC_COMPRESS
bool
+   depends on !PPC
select SND_COMPRESS_OFFLOAD
 
 config SND_SOC_TOPOLOGY

-- 

I will just check with alpha and see if that is also affected.

regards
sudip



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 11:41:12 +0100,
Vinod Koul wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100,
> > Stephen Rothwell wrote:
> > > 
> > > Hi all,
> > > 
> > > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > > >  wrote:
> > > > >
> > > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  
> > > > > wrote:  
> > > > > >
> > > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > > Takashi Iwai wrote:
> > > > > > > 
> > > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > > 
> > > > > > > A. Disable compress API for powerpc.
> > > > > 
> > > > > This also affects alpha, mips and (maybe) sparc.  
> > > > 
> > > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > > relevant change that made was in the compiler flags (I tested this by
> > > > building the file without that commit but with these new compiler flags:
> > > > 
> > > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > > 
> > > > The preprocessed file is the same in both cases, but with these flags
> > > > the compiler errors.
> > > 
> > > So for now I have suppressed the error using the following patch (which
> > > I will keep in my fixes tree until some other fix is applied):
> > > 
> > > From: Stephen Rothwell 
> > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > PPC
> > >  for now
> > > 
> > > Signed-off-by: Stephen Rothwell 
> > > ---
> > >  sound/soc/codecs/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> 
> Takashi,
> 
> This wont fix it as we have WM driver using this as well. SND_SOC_WM_ADSP
> uses SND_SOC_COMPRESS.

Yes, but SND_SOC_WM_ADSP isn't selected at all in the mainline, so
my patch should work actually alone.

> So the better fix would be to do so in either SND_SOC_COMPRESS or even
> better in SND_COMPRESS_OFFLOAD..

No, it won't work because it's reverse-selected.  You can't put
depends there.  It's a known limitation of the current Kconfig stuff.


Takashi

> I think this has been exposed by WM driver as Intel driver depends on X86 so
> compress core wouldn't be compiled as none of the drivers select this :)
> 
> -- 
> Thanks
> ~Vinod
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > 
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> > 
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/soc/intel/Kconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> >  
> >  config SND_SOC_INTEL_SST_ACPI
> > tristate
> > -- 
> > 2.7.0
> > 
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Vinod Koul
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100,
> Stephen Rothwell wrote:
> > 
> > Hi all,
> > 
> > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > > >
> > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > Takashi Iwai wrote:
> > > > > > 
> > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > 
> > > > > > A. Disable compress API for powerpc.
> > > > 
> > > > This also affects alpha, mips and (maybe) sparc.  
> > > 
> > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > relevant change that made was in the compiler flags (I tested this by
> > > building the file without that commit but with these new compiler flags:
> > > 
> > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > 
> > > The preprocessed file is the same in both cases, but with these flags
> > > the compiler errors.
> > 
> > So for now I have suppressed the error using the following patch (which
> > I will keep in my fixes tree until some other fix is applied):
> > 
> > From: Stephen Rothwell 
> > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
> >  for now
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  sound/soc/codecs/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?

Takashi,

This wont fix it as we have WM driver using this as well. SND_SOC_WM_ADSP
uses SND_SOC_COMPRESS.

So the better fix would be to do so in either SND_SOC_COMPRESS or even
better in SND_COMPRESS_OFFLOAD..

I think this has been exposed by WM driver as Intel driver depends on X86 so
compress core wouldn't be compiled as none of the drivers select this :)

-- 
Thanks
~Vinod
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> 
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
> 
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/soc/intel/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC
>  
>  config SND_SOC_INTEL_SST_ACPI
>   tristate
> -- 
> 2.7.0
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 10:40:14 +0100,
Michael Ellerman wrote:
> 
> On Mon, 2016-01-25 at 10:29 +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100, Stephen Rothwell wrote:
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> >
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> >
> >
> > thanks,
> >
> > Takashi
> >
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> >
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> >
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> >
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/soc/intel/Kconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> >
> >  config SND_SOC_INTEL_SST_ACPI
> > tristate
> 
> 
> That's fine by me.
> 
> Acked-by: Michael Ellerman 
> 
> 
> Though it looks like alpha and mips would also be broken, but perhaps they
> can't build that code for some other reason.
> 
>   arch/alpha/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS   13
>   arch/mips/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS13

OK, I'll resubmit the patch including these other archs.


thanks,

Takashi


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Michael Ellerman
On Mon, 2016-01-25 at 10:29 +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100, Stephen Rothwell wrote:
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
>
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?
>
>
> thanks,
>
> Takashi
>
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
>
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
>
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.
>
> Signed-off-by: Takashi Iwai 
> ---
>  sound/soc/intel/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC
>
>  config SND_SOC_INTEL_SST_ACPI
>   tristate


That's fine by me.

Acked-by: Michael Ellerman 


Though it looks like alpha and mips would also be broken, but perhaps they
can't build that code for some other reason.

  arch/alpha/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS   13
  arch/mips/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS13

cheers



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Fri, 22 Jan 2016 03:40:45 +0100,
Stephen Rothwell wrote:
> 
> Hi all,
> 
> On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> wrote:
> >
> > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > >
> > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > Takashi Iwai wrote:
> > > > > 
> > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > 
> > > > > A. Disable compress API for powerpc.
> > > 
> > > This also affects alpha, mips and (maybe) sparc.  
> > 
> > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > UBSAN support") which is in Linus' tree as of this morning.  The only
> > relevant change that made was in the compiler flags (I tested this by
> > building the file without that commit but with these new compiler flags:
> > 
> > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > 
> > The preprocessed file is the same in both cases, but with these flags
> > the compiler errors.
> 
> So for now I have suppressed the error using the following patch (which
> I will keep in my fixes tree until some other fix is applied):
> 
> From: Stephen Rothwell 
> Date: Fri, 22 Jan 2016 13:24:57 +1100
> Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
>  for now
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  sound/soc/codecs/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 50693c867e71..ee5f36b9c787 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -13,6 +13,7 @@ menu "CODEC drivers"
>  config SND_SOC_ALL_CODECS
>   tristate "Build all ASoC CODEC drivers"
>   depends on COMPILE_TEST
> + depends on !PPC
>   select SND_SOC_88PM860X if MFD_88PM860X
>   select SND_SOC_L3
>   select SND_SOC_AB8500_CODEC if ABX500_CORE

Suppressing this whole is an overreaction, IMO.  It should suffice
just to disable compile-testing Intel driver.
How about the patch below?


thanks,

Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC

Since some ioctl in compress offload API is broken for PPC (the struct
size overflows), now we get actually the build error.

Until we get the proper solution (e.g. alternative ioctl), let's
disable the build of Intel ASoC driver that is the only driver who
enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
mainline tree.

Signed-off-by: Takashi Iwai 
---
 sound/soc/intel/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index 803f95e40679..d854cd66e090 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
tristate
select SND_SOC_INTEL_SST_ACPI if ACPI
depends on (X86 || COMPILE_TEST)
+   # FIXME: a part of compress API is broken for PPC
+   depends on !PPC
 
 config SND_SOC_INTEL_SST_ACPI
tristate
-- 
2.7.0



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Mark Brown
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:

> Argh, a typo here.  I forgot to refresh the patch, sorry.

> Below is the revised one.

This makes sense to me.

Reviwed-by: Mark Brown 

though we will need to come up with an alternative solution for the
affected architectures if anyone ends up caring (MIPS or PowerPC might
possibly).


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 12:41:50 +0100,
Mark Brown wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > Stephen Rothwell wrote:
> 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> 
> Please send patches and reports to maintainers :(  I agree that this is
> an absurdly wide change.
> 
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> 
> Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
> unclear why this will help when we're selecting in the drivers so their
> dependencies will be ignored.

Yeah, obviously papering over a wrong place.

In anyway, thinking of this workaround again, I don't think it being
the best way.  The easier and safer workaround is to just avoid the
corresponding ioctl being handled.  The untested patch is attached
below.


thanks,

Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
 architectures

Some architectures like PowerPC can handle the maximum struct size in
an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
problem was revealed recently by a powerpc change, as it's now treated
as a fatal build error.

This patch is a workaround for that: for architectures with less than
14 bit ioctl struct size, get rid of the handling of the relevant
ioctl.  We should provide an alternative equivalent ioctl code later,
but for now just paper over it.  Luckily, the compress API hasn't been
used on such architectures, so the impact must be effectively zero.

Signed-off-by: Takashi Iwai 
---
 sound/core/compress_offload.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
index 18b8dc45bb8f..36b0083fd9f4 100644
--- a/sound/core/compress_offload.c
+++ b/sound/core/compress_offload.c
@@ -46,6 +46,13 @@
 #include 
 #include 
 
+/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
+ *architectures, so we need to disable the relevant ioctls.
+ */
+#if _IOC_SIZEBITS < 13
+#define COMPR_CODEC_CAPS_OVERFLOW
+#endif
+
 /* TODO:
  * - add substream support for multiple devices in case of
  * SND_DYNAMIC_MINORS is not used
@@ -440,6 +447,7 @@ out:
return retval;
 }
 
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
 static int
 snd_compr_get_codec_caps(struct snd_compr_stream *stream, unsigned long arg)
 {
@@ -463,6 +471,7 @@ out:
kfree(caps);
return retval;
 }
+#endif /* !COMPR_CODEC_CAPS_OVERFLOW */
 
 /* revisit this with snd_pcm_preallocate_xxx */
 static int snd_compr_allocate_buffer(struct snd_compr_stream *stream,
@@ -801,9 +810,11 @@ static long snd_compr_ioctl(struct file *f, unsigned int 
cmd, unsigned long arg)
case _IOC_NR(SNDRV_COMPRESS_GET_CAPS):
retval = snd_compr_get_caps(stream, arg);
break;
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
case _IOC_NR(SNDRV_COMPRESS_GET_CODEC_CAPS):
retval = snd_compr_get_codec_caps(stream, arg);
break;
+#endif
case _IOC_NR(SNDRV_COMPRESS_SET_PARAMS):
retval = snd_compr_set_params(stream, arg);
break;
-- 
2.7.0



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote:
> On Mon, 25 Jan 2016 14:10:37 +0100,
> Takashi Iwai wrote:
> > 
> > On Mon, 25 Jan 2016 12:41:50 +0100,
> > Mark Brown wrote:
> > > 
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/core/compress_offload.c | 11 +++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> > index 18b8dc45bb8f..36b0083fd9f4 100644
> > --- a/sound/core/compress_offload.c
> > +++ b/sound/core/compress_offload.c
> > @@ -46,6 +46,13 @@
> >  #include 
> >  #include 
> >  
> > +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> > + *architectures, so we need to disable the relevant ioctls.
> > + */
> > +#if _IOC_SIZEBITS < 13
> 
> Argh, a typo here.  I forgot to refresh the patch, sorry.
> 
> Below is the revised one.

powerpc allmodconfig builds properly now.

Acked-by: Sudip Mukherjee 

regards
sudip


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 14:10:37 +0100,
Takashi Iwai wrote:
> 
> On Mon, 25 Jan 2016 12:41:50 +0100,
> Mark Brown wrote:
> > 
> > On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > > Stephen Rothwell wrote:
> > 
> > > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > > index 50693c867e71..ee5f36b9c787 100644
> > > > --- a/sound/soc/codecs/Kconfig
> > > > +++ b/sound/soc/codecs/Kconfig
> > > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > > >  config SND_SOC_ALL_CODECS
> > > > tristate "Build all ASoC CODEC drivers"
> > > > depends on COMPILE_TEST
> > > > +   depends on !PPC
> > > > select SND_SOC_88PM860X if MFD_88PM860X
> > > > select SND_SOC_L3
> > > > select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > > Suppressing this whole is an overreaction, IMO.  It should suffice
> > > just to disable compile-testing Intel driver.
> > 
> > Please send patches and reports to maintainers :(  I agree that this is
> > an absurdly wide change.
> > 
> > > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > > index 803f95e40679..d854cd66e090 100644
> > > --- a/sound/soc/intel/Kconfig
> > > +++ b/sound/soc/intel/Kconfig
> > > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > >   tristate
> > >   select SND_SOC_INTEL_SST_ACPI if ACPI
> > >   depends on (X86 || COMPILE_TEST)
> > > + # FIXME: a part of compress API is broken for PPC
> > > + depends on !PPC
> > 
> > Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
> > unclear why this will help when we're selecting in the drivers so their
> > dependencies will be ignored.
> 
> Yeah, obviously papering over a wrong place.
> 
> In anyway, thinking of this workaround again, I don't think it being
> the best way.  The easier and safer workaround is to just avoid the
> corresponding ioctl being handled.  The untested patch is attached
> below.
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
>  architectures
> 
> Some architectures like PowerPC can handle the maximum struct size in
> an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
> SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
> problem was revealed recently by a powerpc change, as it's now treated
> as a fatal build error.
> 
> This patch is a workaround for that: for architectures with less than
> 14 bit ioctl struct size, get rid of the handling of the relevant
> ioctl.  We should provide an alternative equivalent ioctl code later,
> but for now just paper over it.  Luckily, the compress API hasn't been
> used on such architectures, so the impact must be effectively zero.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/core/compress_offload.c | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 18b8dc45bb8f..36b0083fd9f4 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -46,6 +46,13 @@
>  #include 
>  #include 
>  
> +/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
> + *architectures, so we need to disable the relevant ioctls.
> + */
> +#if _IOC_SIZEBITS < 13

Argh, a typo here.  I forgot to refresh the patch, sorry.

Below is the revised one.


Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH v2] ALSA: compress: Disable GET_CODEC_CAPS ioctl for some
 architectures

Some architectures like PowerPC can handle the maximum struct size in
an ioctl only up to 13 bits, and struct snd_compr_codec_caps used by
SNDRV_COMPRESS_GET_CODEC_CAPS ioctl overflows this limit.  This
problem was revealed recently by a powerpc change, as it's now treated
as a fatal build error.

This patch is a workaround for that: for architectures with less than
14 bit ioctl struct size, get rid of the handling of the relevant
ioctl.  We should provide an alternative equivalent ioctl code later,
but for now just paper over it.  Luckily, the compress API hasn't been
used on such architectures, so the impact must be effectively zero.

Signed-off-by: Takashi Iwai 
---
 sound/core/compress_offload.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
index 18b8dc45bb8f..0609e618107a 100644
--- a/sound/core/compress_offload.c
+++ b/sound/core/compress_offload.c
@@ -46,6 +46,13 @@
 #include 
 #include 
 
+/* FIXME: struct snd_compr_codec_caps overflows the ioctl bit size for some
+ *architectures, so we need to disable the relevant ioctls.
+ */
+#if _IOC_SIZEBITS < 14
+#define COMPR_CODEC_CAPS_OVERFLOW
+#endif
+
 /* TODO:
  * - add substream support for multiple devices in case of
  * SND_DYNAMIC_MINORS is not used
@@ -440,6 +447,7 @@ out:
return retval;
 }
 
+#ifndef COMPR_CODEC_CAPS_OVERFLOW
 static int
 

Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Fri, 22 Jan 2016 03:40:45 +0100,
Stephen Rothwell wrote:
> 
> Hi all,
> 
> On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> wrote:
> >
> > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > >
> > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > Takashi Iwai wrote:
> > > > > 
> > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > 
> > > > > A. Disable compress API for powerpc.
> > > 
> > > This also affects alpha, mips and (maybe) sparc.  
> > 
> > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > UBSAN support") which is in Linus' tree as of this morning.  The only
> > relevant change that made was in the compiler flags (I tested this by
> > building the file without that commit but with these new compiler flags:
> > 
> > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > 
> > The preprocessed file is the same in both cases, but with these flags
> > the compiler errors.
> 
> So for now I have suppressed the error using the following patch (which
> I will keep in my fixes tree until some other fix is applied):
> 
> From: Stephen Rothwell 
> Date: Fri, 22 Jan 2016 13:24:57 +1100
> Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
>  for now
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  sound/soc/codecs/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 50693c867e71..ee5f36b9c787 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -13,6 +13,7 @@ menu "CODEC drivers"
>  config SND_SOC_ALL_CODECS
>   tristate "Build all ASoC CODEC drivers"
>   depends on COMPILE_TEST
> + depends on !PPC
>   select SND_SOC_88PM860X if MFD_88PM860X
>   select SND_SOC_L3
>   select SND_SOC_AB8500_CODEC if ABX500_CORE

Suppressing this whole is an overreaction, IMO.  It should suffice
just to disable compile-testing Intel driver.
How about the patch below?


thanks,

Takashi

-- 8< --
From: Takashi Iwai 
Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC

Since some ioctl in compress offload API is broken for PPC (the struct
size overflows), now we get actually the build error.

Until we get the proper solution (e.g. alternative ioctl), let's
disable the build of Intel ASoC driver that is the only driver who
enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
mainline tree.

Signed-off-by: Takashi Iwai 
---
 sound/soc/intel/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index 803f95e40679..d854cd66e090 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
tristate
select SND_SOC_INTEL_SST_ACPI if ACPI
depends on (X86 || COMPILE_TEST)
+   # FIXME: a part of compress API is broken for PPC
+   depends on !PPC
 
 config SND_SOC_INTEL_SST_ACPI
tristate
-- 
2.7.0



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Michael Ellerman
On Mon, 2016-01-25 at 10:29 +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100, Stephen Rothwell wrote:
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
>
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?
>
>
> thanks,
>
> Takashi
>
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
>
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
>
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.
>
> Signed-off-by: Takashi Iwai 
> ---
>  sound/soc/intel/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC
>
>  config SND_SOC_INTEL_SST_ACPI
>   tristate


That's fine by me.

Acked-by: Michael Ellerman 


Though it looks like alpha and mips would also be broken, but perhaps they
can't build that code for some other reason.

  arch/alpha/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS   13
  arch/mips/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS13

cheers



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 10:40:14 +0100,
Michael Ellerman wrote:
> 
> On Mon, 2016-01-25 at 10:29 +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100, Stephen Rothwell wrote:
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> >
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> >
> >
> > thanks,
> >
> > Takashi
> >
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> >
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> >
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> >
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/soc/intel/Kconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> >
> >  config SND_SOC_INTEL_SST_ACPI
> > tristate
> 
> 
> That's fine by me.
> 
> Acked-by: Michael Ellerman 
> 
> 
> Though it looks like alpha and mips would also be broken, but perhaps they
> can't build that code for some other reason.
> 
>   arch/alpha/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS   13
>   arch/mips/include/uapi/asm/ioctl.h:#define _IOC_SIZEBITS13

OK, I'll resubmit the patch including these other archs.


thanks,

Takashi


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 11:41:12 +0100,
Vinod Koul wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100,
> > Stephen Rothwell wrote:
> > > 
> > > Hi all,
> > > 
> > > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > > >  wrote:
> > > > >
> > > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  
> > > > > wrote:  
> > > > > >
> > > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > > Takashi Iwai wrote:
> > > > > > > 
> > > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > > 
> > > > > > > A. Disable compress API for powerpc.
> > > > > 
> > > > > This also affects alpha, mips and (maybe) sparc.  
> > > > 
> > > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > > relevant change that made was in the compiler flags (I tested this by
> > > > building the file without that commit but with these new compiler flags:
> > > > 
> > > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > > 
> > > > The preprocessed file is the same in both cases, but with these flags
> > > > the compiler errors.
> > > 
> > > So for now I have suppressed the error using the following patch (which
> > > I will keep in my fixes tree until some other fix is applied):
> > > 
> > > From: Stephen Rothwell 
> > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > PPC
> > >  for now
> > > 
> > > Signed-off-by: Stephen Rothwell 
> > > ---
> > >  sound/soc/codecs/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> 
> Takashi,
> 
> This wont fix it as we have WM driver using this as well. SND_SOC_WM_ADSP
> uses SND_SOC_COMPRESS.

Yes, but SND_SOC_WM_ADSP isn't selected at all in the mainline, so
my patch should work actually alone.

> So the better fix would be to do so in either SND_SOC_COMPRESS or even
> better in SND_COMPRESS_OFFLOAD..

No, it won't work because it's reverse-selected.  You can't put
depends there.  It's a known limitation of the current Kconfig stuff.


Takashi

> I think this has been exposed by WM driver as Intel driver depends on X86 so
> compress core wouldn't be compiled as none of the drivers select this :)
> 
> -- 
> Thanks
> ~Vinod
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > 
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> > 
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> > 
> > Signed-off-by: Takashi Iwai 
> > ---
> >  sound/soc/intel/Kconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> > index 803f95e40679..d854cd66e090 100644
> > --- a/sound/soc/intel/Kconfig
> > +++ b/sound/soc/intel/Kconfig
> > @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
> > tristate
> > select SND_SOC_INTEL_SST_ACPI if ACPI
> > depends on (X86 || COMPILE_TEST)
> > +   # FIXME: a part of compress API is broken for PPC
> > +   depends on !PPC
> >  
> >  config SND_SOC_INTEL_SST_ACPI
> > tristate
> > -- 
> > 2.7.0
> > 
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Vinod Koul
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100,
> Stephen Rothwell wrote:
> > 
> > Hi all,
> > 
> > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > > >
> > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > Takashi Iwai wrote:
> > > > > > 
> > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > 
> > > > > > A. Disable compress API for powerpc.
> > > > 
> > > > This also affects alpha, mips and (maybe) sparc.  
> > > 
> > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > relevant change that made was in the compiler flags (I tested this by
> > > building the file without that commit but with these new compiler flags:
> > > 
> > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > 
> > > The preprocessed file is the same in both cases, but with these flags
> > > the compiler errors.
> > 
> > So for now I have suppressed the error using the following patch (which
> > I will keep in my fixes tree until some other fix is applied):
> > 
> > From: Stephen Rothwell 
> > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
> >  for now
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  sound/soc/codecs/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?

Takashi,

This wont fix it as we have WM driver using this as well. SND_SOC_WM_ADSP
uses SND_SOC_COMPRESS.

So the better fix would be to do so in either SND_SOC_COMPRESS or even
better in SND_COMPRESS_OFFLOAD..

I think this has been exposed by WM driver as Intel driver depends on X86 so
compress core wouldn't be compiled as none of the drivers select this :)

-- 
Thanks
~Vinod
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> 
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
> 
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.
> 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/soc/intel/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC
>  
>  config SND_SOC_INTEL_SST_ACPI
>   tristate
> -- 
> 2.7.0
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> On Fri, 22 Jan 2016 03:40:45 +0100,
> Stephen Rothwell wrote:
> > 
> > Hi all,
> > 
> > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
> > wrote:
> > >
> > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > > > >
> > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > Takashi Iwai wrote:
> > > > > > 
> > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > 
> > > > > > A. Disable compress API for powerpc.
> > > > 
> > > > This also affects alpha, mips and (maybe) sparc.  
> > > 
> > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > relevant change that made was in the compiler flags (I tested this by
> > > building the file without that commit but with these new compiler flags:
> > > 
> > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > 
> > > The preprocessed file is the same in both cases, but with these flags
> > > the compiler errors.
> > 
> > So for now I have suppressed the error using the following patch (which
> > I will keep in my fixes tree until some other fix is applied):
> > 
> > From: Stephen Rothwell 
> > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
> >  for now
> > 
> > Signed-off-by: Stephen Rothwell 
> > ---
> >  sound/soc/codecs/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE
> 
> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.
> How about the patch below?
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> From: Takashi Iwai 
> Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> 
> Since some ioctl in compress offload API is broken for PPC (the struct
> size overflows), now we get actually the build error.
> 
> Until we get the proper solution (e.g. alternative ioctl), let's
> disable the build of Intel ASoC driver that is the only driver who
> enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> mainline tree.

Sorry, but this does not fix the build failure.
I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.

But the following does fix it for powerpc:

diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
index 7ea66ee..b92d286 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -31,6 +31,7 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
 
 config SND_SOC_COMPRESS
bool
+   depends on !PPC
select SND_COMPRESS_OFFLOAD
 
 config SND_SOC_TOPOLOGY

-- 

I will just check with alpha and see if that is also affected.

regards
sudip



Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Takashi Iwai
On Mon, 25 Jan 2016 11:45:56 +0100,
Sudip Mukherjee wrote:
> 
> On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > On Fri, 22 Jan 2016 03:40:45 +0100,
> > Stephen Rothwell wrote:
> > > 
> > > Hi all,
> > > 
> > > On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell 
> > >  wrote:
> > > >
> > > > On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell 
> > > >  wrote:
> > > > >
> > > > > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  
> > > > > wrote:  
> > > > > >
> > > > > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > > > > Takashi Iwai wrote:
> > > > > > > 
> > > > > > > There are a few ways to fix this, but all are not comfortable.
> > > > > > > 
> > > > > > > A. Disable compress API for powerpc.
> > > > > 
> > > > > This also affects alpha, mips and (maybe) sparc.  
> > > > 
> > > > This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> > > > UBSAN support") which is in Linus' tree as of this morning.  The only
> > > > relevant change that made was in the compiler flags (I tested this by
> > > > building the file without that commit but with these new compiler flags:
> > > > 
> > > > -fsanitize=shift -fsanitize=integer-divide-by-zero
> > > > -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> > > > -fsanitize=signed-integer-overflow -fsanitize=bounds
> > > > -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> > > > -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> > > > 
> > > > The preprocessed file is the same in both cases, but with these flags
> > > > the compiler errors.
> > > 
> > > So for now I have suppressed the error using the following patch (which
> > > I will keep in my fixes tree until some other fix is applied):
> > > 
> > > From: Stephen Rothwell 
> > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > PPC
> > >  for now
> > > 
> > > Signed-off-by: Stephen Rothwell 
> > > ---
> > >  sound/soc/codecs/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > index 50693c867e71..ee5f36b9c787 100644
> > > --- a/sound/soc/codecs/Kconfig
> > > +++ b/sound/soc/codecs/Kconfig
> > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > >  config SND_SOC_ALL_CODECS
> > >   tristate "Build all ASoC CODEC drivers"
> > >   depends on COMPILE_TEST
> > > + depends on !PPC
> > >   select SND_SOC_88PM860X if MFD_88PM860X
> > >   select SND_SOC_L3
> > >   select SND_SOC_AB8500_CODEC if ABX500_CORE
> > 
> > Suppressing this whole is an overreaction, IMO.  It should suffice
> > just to disable compile-testing Intel driver.
> > How about the patch below?
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > -- 8< --
> > From: Takashi Iwai 
> > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > 
> > Since some ioctl in compress offload API is broken for PPC (the struct
> > size overflows), now we get actually the build error.
> > 
> > Until we get the proper solution (e.g. alternative ioctl), let's
> > disable the build of Intel ASoC driver that is the only driver who
> > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > mainline tree.
> 
> Sorry, but this does not fix the build failure.
> I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.

Who sets this config?  SND_COMPRESS_OFFLOAD has no prompt, so this
should be default off.

> But the following does fix it for powerpc:
> 
> diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
> index 7ea66ee..b92d286 100644
> --- a/sound/soc/Kconfig
> +++ b/sound/soc/Kconfig
> @@ -31,6 +31,7 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
>  
>  config SND_SOC_COMPRESS
>   bool
> + depends on !PPC
>   select SND_COMPRESS_OFFLOAD
>  
>  config SND_SOC_TOPOLOGY

It has a reverse-selection, and the reverse-selection ignores Depends,
AFAIK.  If that long-standing problem were already fixed, it's
great...


Takashi

> 
> -- 
> 
> I will just check with alpha and see if that is also affected.
> 
> regards
> sudip
> 


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Sudip Mukherjee
On Mon, Jan 25, 2016 at 12:03:54PM +0100, Takashi Iwai wrote:
> On Mon, 25 Jan 2016 11:45:56 +0100,
> Sudip Mukherjee wrote:
> > 
> > On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> > > On Fri, 22 Jan 2016 03:40:45 +0100,
> > > Stephen Rothwell wrote:
> > > > 
> > > > Hi all,
> > > > 

> > > > 
> > > > From: Stephen Rothwell 
> > > > Date: Fri, 22 Jan 2016 13:24:57 +1100
> > > > Subject: [PATCH] next: suppress the building of all the sound codecs on 
> > > > PPC
> > > >  for now
> > > > 
> > > > Signed-off-by: Stephen Rothwell 
> > > > ---
> > > >  sound/soc/codecs/Kconfig | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > > > index 50693c867e71..ee5f36b9c787 100644
> > > > --- a/sound/soc/codecs/Kconfig
> > > > +++ b/sound/soc/codecs/Kconfig
> > > > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> > > >  config SND_SOC_ALL_CODECS
> > > > tristate "Build all ASoC CODEC drivers"
> > > > depends on COMPILE_TEST
> > > > +   depends on !PPC
> > > > select SND_SOC_88PM860X if MFD_88PM860X
> > > > select SND_SOC_L3
> > > > select SND_SOC_AB8500_CODEC if ABX500_CORE
> > > 
> > > Suppressing this whole is an overreaction, IMO.  It should suffice
> > > just to disable compile-testing Intel driver.
> > > How about the patch below?
> > > 
> > > 
> > > thanks,
> > > 
> > > Takashi
> > > 
> > > -- 8< --
> > > From: Takashi Iwai 
> > > Subject: [PATCH] ASoC: intel: suppress compile-test with PowerPC
> > > 
> > > Since some ioctl in compress offload API is broken for PPC (the struct
> > > size overflows), now we get actually the build error.
> > > 
> > > Until we get the proper solution (e.g. alternative ioctl), let's
> > > disable the build of Intel ASoC driver that is the only driver who
> > > enables SND_SOC_COMPRESS (and eventually SND_COMPRESS_OFFLOAD) in the
> > > mainline tree.
> > 
> > Sorry, but this does not fix the build failure.
> > I can still see SND_COMPRESS_OFFLOAD=m in .config and the build fails.
> 
> Who sets this config?  SND_COMPRESS_OFFLOAD has no prompt, so this
> should be default off.

I think when we are doing allmodconfig SND_SOC_COMPRESS will be selected
which in turn will select SND_COMPRESS_OFFLOAD as SND_SOC_COMPRESS
depends only on SND_SOC.

And alpha is not affected. It builds fine.

regards
sudip


Re: linux-next: build failure after merge of the akpm tree

2016-01-25 Thread Mark Brown
On Mon, Jan 25, 2016 at 10:29:54AM +0100, Takashi Iwai wrote:
> Stephen Rothwell wrote:

> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> > index 50693c867e71..ee5f36b9c787 100644
> > --- a/sound/soc/codecs/Kconfig
> > +++ b/sound/soc/codecs/Kconfig
> > @@ -13,6 +13,7 @@ menu "CODEC drivers"
> >  config SND_SOC_ALL_CODECS
> > tristate "Build all ASoC CODEC drivers"
> > depends on COMPILE_TEST
> > +   depends on !PPC
> > select SND_SOC_88PM860X if MFD_88PM860X
> > select SND_SOC_L3
> > select SND_SOC_AB8500_CODEC if ABX500_CORE

> Suppressing this whole is an overreaction, IMO.  It should suffice
> just to disable compile-testing Intel driver.

Please send patches and reports to maintainers :(  I agree that this is
an absurdly wide change.

> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 803f95e40679..d854cd66e090 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -31,6 +31,8 @@ config SND_SOC_INTEL_SST
>   tristate
>   select SND_SOC_INTEL_SST_ACPI if ACPI
>   depends on (X86 || COMPILE_TEST)
> + # FIXME: a part of compress API is broken for PPC
> + depends on !PPC

Why is an Intel CPU thing being enabled by SND_SOC_ALL_CODECS?  I'm also
unclear why this will help when we're selecting in the drivers so their
dependencies will be ignored.


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
wrote:
>
> On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> wrote:
> >
> > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > >
> > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > Takashi Iwai wrote:
> > > > 
> > > > There are a few ways to fix this, but all are not comfortable.
> > > > 
> > > > A. Disable compress API for powerpc.
> > 
> > This also affects alpha, mips and (maybe) sparc.  
> 
> This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> UBSAN support") which is in Linus' tree as of this morning.  The only
> relevant change that made was in the compiler flags (I tested this by
> building the file without that commit but with these new compiler flags:
> 
> -fsanitize=shift -fsanitize=integer-divide-by-zero
> -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> -fsanitize=signed-integer-overflow -fsanitize=bounds
> -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> 
> The preprocessed file is the same in both cases, but with these flags
> the compiler errors.

I have discussed this with the PowerPC maintainer (Michael) and he
figured out why the compiler does not produce an error (normally).  It
is because this driver is using _IOC_NR(xxx) to match ioctls instead of
the full ioctl number.  Because of that, the compiler can figure out
that it does not care about the undefined reference to
__invalid_size_argument_for_IOC that the size check shouold generate
(since _IOC_NR shifts and masks it out).

So, the switch statement in snd_compr_ioctl() should be rewritten to
check against the full ioctl number (since currently it could
theoretically match any number of ioctls, not just the relevant ones).
And then something needs to be done about the very large structure
being passed.
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
wrote:
>
> On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> wrote:
> >
> > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > >
> > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > Takashi Iwai wrote:
> > > > 
> > > > There are a few ways to fix this, but all are not comfortable.
> > > > 
> > > > A. Disable compress API for powerpc.
> > 
> > This also affects alpha, mips and (maybe) sparc.  
> 
> This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> UBSAN support") which is in Linus' tree as of this morning.  The only
> relevant change that made was in the compiler flags (I tested this by
> building the file without that commit but with these new compiler flags:
> 
> -fsanitize=shift -fsanitize=integer-divide-by-zero
> -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> -fsanitize=signed-integer-overflow -fsanitize=bounds
> -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> 
> The preprocessed file is the same in both cases, but with these flags
> the compiler errors.

So for now I have suppressed the error using the following patch (which
I will keep in my fixes tree until some other fix is applied):

From: Stephen Rothwell 
Date: Fri, 22 Jan 2016 13:24:57 +1100
Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
 for now

Signed-off-by: Stephen Rothwell 
---
 sound/soc/codecs/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 50693c867e71..ee5f36b9c787 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -13,6 +13,7 @@ menu "CODEC drivers"
 config SND_SOC_ALL_CODECS
tristate "Build all ASoC CODEC drivers"
depends on COMPILE_TEST
+   depends on !PPC
select SND_SOC_88PM860X if MFD_88PM860X
select SND_SOC_L3
select SND_SOC_AB8500_CODEC if ABX500_CORE
-- 
2.6.4

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
wrote:
>
> On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:
> >
> > On Sat, 16 Jan 2016 09:51:29 +0100,
> > Takashi Iwai wrote:  
> > > 
> > > There are a few ways to fix this, but all are not comfortable.
> > > 
> > > A. Disable compress API for powerpc.  
> 
> This also affects alpha, mips and (maybe) sparc.

This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
UBSAN support") which is in Linus' tree as of this morning.  The only
relevant change that made was in the compiler flags (I tested this by
building the file without that commit but with these new compiler flags:

-fsanitize=shift -fsanitize=integer-divide-by-zero
-fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
-fsanitize=signed-integer-overflow -fsanitize=bounds
-fsanitize=object-size -fsanitize=returns-nonnull-attribute
-fsanitize=bool -fsanitize=enum -fsanitize=alignment

The preprocessed file is the same in both cases, but with these flags
the compiler errors.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
wrote:
>
> On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:
> >
> > On Sat, 16 Jan 2016 09:51:29 +0100,
> > Takashi Iwai wrote:  
> > > 
> > > There are a few ways to fix this, but all are not comfortable.
> > > 
> > > A. Disable compress API for powerpc.  
> 
> This also affects alpha, mips and (maybe) sparc.

This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
UBSAN support") which is in Linus' tree as of this morning.  The only
relevant change that made was in the compiler flags (I tested this by
building the file without that commit but with these new compiler flags:

-fsanitize=shift -fsanitize=integer-divide-by-zero
-fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
-fsanitize=signed-integer-overflow -fsanitize=bounds
-fsanitize=object-size -fsanitize=returns-nonnull-attribute
-fsanitize=bool -fsanitize=enum -fsanitize=alignment

The preprocessed file is the same in both cases, but with these flags
the compiler errors.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
wrote:
>
> On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> wrote:
> >
> > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > >
> > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > Takashi Iwai wrote:
> > > > 
> > > > There are a few ways to fix this, but all are not comfortable.
> > > > 
> > > > A. Disable compress API for powerpc.
> > 
> > This also affects alpha, mips and (maybe) sparc.  
> 
> This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> UBSAN support") which is in Linus' tree as of this morning.  The only
> relevant change that made was in the compiler flags (I tested this by
> building the file without that commit but with these new compiler flags:
> 
> -fsanitize=shift -fsanitize=integer-divide-by-zero
> -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> -fsanitize=signed-integer-overflow -fsanitize=bounds
> -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> 
> The preprocessed file is the same in both cases, but with these flags
> the compiler errors.

So for now I have suppressed the error using the following patch (which
I will keep in my fixes tree until some other fix is applied):

From: Stephen Rothwell 
Date: Fri, 22 Jan 2016 13:24:57 +1100
Subject: [PATCH] next: suppress the building of all the sound codecs on PPC
 for now

Signed-off-by: Stephen Rothwell 
---
 sound/soc/codecs/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 50693c867e71..ee5f36b9c787 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -13,6 +13,7 @@ menu "CODEC drivers"
 config SND_SOC_ALL_CODECS
tristate "Build all ASoC CODEC drivers"
depends on COMPILE_TEST
+   depends on !PPC
select SND_SOC_88PM860X if MFD_88PM860X
select SND_SOC_L3
select SND_SOC_AB8500_CODEC if ABX500_CORE
-- 
2.6.4

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-21 Thread Stephen Rothwell
Hi all,

On Fri, 22 Jan 2016 11:24:42 +1100 Stephen Rothwell  
wrote:
>
> On Thu, 21 Jan 2016 07:38:59 +1100 Stephen Rothwell  
> wrote:
> >
> > On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:  
> > >
> > > On Sat, 16 Jan 2016 09:51:29 +0100,
> > > Takashi Iwai wrote:
> > > > 
> > > > There are a few ways to fix this, but all are not comfortable.
> > > > 
> > > > A. Disable compress API for powerpc.
> > 
> > This also affects alpha, mips and (maybe) sparc.  
> 
> This was exposed on PowerPC by commit bf76f73c5f65 ("powerpc: enable
> UBSAN support") which is in Linus' tree as of this morning.  The only
> relevant change that made was in the compiler flags (I tested this by
> building the file without that commit but with these new compiler flags:
> 
> -fsanitize=shift -fsanitize=integer-divide-by-zero
> -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null
> -fsanitize=signed-integer-overflow -fsanitize=bounds
> -fsanitize=object-size -fsanitize=returns-nonnull-attribute
> -fsanitize=bool -fsanitize=enum -fsanitize=alignment
> 
> The preprocessed file is the same in both cases, but with these flags
> the compiler errors.

I have discussed this with the PowerPC maintainer (Michael) and he
figured out why the compiler does not produce an error (normally).  It
is because this driver is using _IOC_NR(xxx) to match ioctls instead of
the full ioctl number.  Because of that, the compiler can figure out
that it does not care about the undefined reference to
__invalid_size_argument_for_IOC that the size check shouold generate
(since _IOC_NR shifts and masks it out).

So, the switch statement in snd_compr_ioctl() should be rewritten to
check against the full ioctl number (since currently it could
theoretically match any number of ioctls, not just the relevant ones).
And then something needs to be done about the very large structure
being passed.
-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-20 Thread Stephen Rothwell
Hi Takashi,

On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:
>
> On Sat, 16 Jan 2016 09:51:29 +0100,
> Takashi Iwai wrote:
> > 
> > There are a few ways to fix this, but all are not comfortable.
> > 
> > A. Disable compress API for powerpc.

This also affects alpha, mips and (maybe) sparc.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2016-01-20 Thread Stephen Rothwell
Hi Takashi,

On Wed, 20 Jan 2016 15:09:47 +0100 Takashi Iwai  wrote:
>
> On Sat, 16 Jan 2016 09:51:29 +0100,
> Takashi Iwai wrote:
> > 
> > There are a few ways to fix this, but all are not comfortable.
> > 
> > A. Disable compress API for powerpc.

This also affects alpha, mips and (maybe) sparc.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


Re: linux-next: build failure after merge of the akpm tree

2014-11-09 Thread Stephen Rothwell
Hi Thierry,

On Thu, 6 Nov 2014 12:24:00 +0100 Thierry Reding  
wrote:
>
> I fixed this using the attached patch.

I will apply this to linux-next today (unless Andrew beats me to it).

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


pgptxz_cahjEZ.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2014-11-09 Thread Stephen Rothwell
Hi Thierry,

On Thu, 6 Nov 2014 12:24:00 +0100 Thierry Reding thierry.red...@gmail.com 
wrote:

 I fixed this using the attached patch.

I will apply this to linux-next today (unless Andrew beats me to it).

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


pgptxz_cahjEZ.pgp
Description: OpenPGP digital signature


Re: linux-next: build failure after merge of the akpm tree

2014-11-06 Thread Thierry Reding
On Thu, Nov 06, 2014 at 12:24:00PM +0100, Thierry Reding wrote:
> On Thu, Nov 06, 2014 at 07:36:18PM +1100, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > After merging the akpm tree, today's linux-next build (sparc defconfig)
> > failed like this:
> > 
> > mm/slab.c: In function 'slab_alloc':
> > mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
> > [-Werror=implicit-function-declaration]
> > slab_free(cachep, objp);
> > ^
> > mm/slab.c: At top level:
> > mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
> >  static __always_inline void slab_free(struct kmem_cache *cachep, void 
> > *objp)
> >  ^
> > mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
> > non-static declaration
> > mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was 
> > here
> > slab_free(cachep, objp);
> > ^
> > 
> > I am not sure what caused this, but it is something in the akpm-current
> > or akpm trees (possibly interacting with something else).
> 
> I fixed this using the attached patch.
> 
> Thierry

> From a9ec6cfacb892e044a5f76dce3b7fc9a3337d01a Mon Sep 17 00:00:00 2001
> From: Thierry Reding 
> Date: Thu, 6 Nov 2014 11:59:23 +0100
> Subject: [PATCH] mm/slab: Always predeclare slab_free()
> 
> Commit 5da1c3c725ab ("slab: recharge slab pages to the allocating memory
> cgroup") added a predeclaration of the new slab_free() helper so that it
> can be used in slab_alloc_node() and slab_alloc(). However the prototype
> is added in an #ifdef CONFIG_NUMA protected section of code, which works
> fine for slab_alloc_node() but fails for slab_alloc().
> 
> Fixes the following build warnings and errors:
> 
>   mm/slab.c: In function 'slab_alloc':
>   mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
> [-Werror=implicit-function-declaration]
>   slab_free(cachep, objp);
>   ^
>   mm/slab.c: At top level:
>   mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
>static __always_inline void slab_free(struct kmem_cache *cachep, void 
> *objp)
>^
>   mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
> non-static declaration
>   mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' 
> was here
>   slab_free(cachep, objp);
>   ^
> 
> Reported-by: Stephen Rothwell 
> Signed-off-by: Thierry Reding 
> ---
>  mm/slab.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/slab.c b/mm/slab.c
> index 61b01c2ae1d9..00cd028404cb 100644
> --- a/mm/slab.c
> +++ b/mm/slab.c
> @@ -2961,6 +2961,8 @@ out:
>   return objp;
>  }
>  
> +static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
> +
>  #ifdef CONFIG_NUMA
>  /*
>   * Try allocating on another node if PFA_SPREAD_SLAB is a mempolicy is set.
> @@ -3133,8 +3135,6 @@ done:
>   return obj;
>  }
>  
> -static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
> -
>  static __always_inline void *
>  slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
>  unsigned long caller)

Attached is a follow-up cleanup patch that avoids the need for a pre-
declaration. Feel free to ignore if you prefer the predeclaration.

Thierry
From 3ad8947fd8613d13f2b9dc1ccd370d0a9ffaeb7b Mon Sep 17 00:00:00 2001
From: Thierry Reding 
Date: Thu, 6 Nov 2014 12:25:03 +0100
Subject: [PATCH] mm/slab: Shuffle code around to avoid a predeclaration

Instead of providing a predeclaration for the slab_free() helper, move
the helper and its dependencies before any of their users.

Signed-off-by: Thierry Reding 
---
 mm/slab.c | 200 +++---
 1 file changed, 99 insertions(+), 101 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 00cd028404cb..3c025f5934da 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2961,7 +2961,105 @@ out:
 	return objp;
 }
 
-static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
+static void cache_flusharray(struct kmem_cache *cachep, struct array_cache *ac)
+{
+	int batchcount;
+	struct kmem_cache_node *n;
+	int node = numa_mem_id();
+	LIST_HEAD(list);
+
+	batchcount = ac->batchcount;
+#if DEBUG
+	BUG_ON(!batchcount || batchcount > ac->avail);
+#endif
+	check_irq_off();
+	n = get_node(cachep, node);
+	spin_lock(>list_lock);
+	if (n->shared) {
+		struct array_cache *shared_array = n->shared;
+		int max = shared_array->limit - shared_array->avail;
+		if (max) {
+			if (batchcount > max)
+batchcount = max;
+			memcpy(&(shared_array->entry[shared_array->avail]),
+			   ac->entry, sizeof(void *) * batchcount);
+			shared_array->avail += batchcount;
+			goto free_done;
+		}
+	}
+
+	free_block(cachep, ac->entry, batchcount, node, );
+free_done:
+#if STATS
+	{
+		int i = 0;
+		struct list_head *p;
+
+		p = n->slabs_free.next;
+		while (p != &(n->slabs_free)) {
+			

Re: linux-next: build failure after merge of the akpm tree

2014-11-06 Thread Thierry Reding
On Thu, Nov 06, 2014 at 07:36:18PM +1100, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (sparc defconfig)
> failed like this:
> 
> mm/slab.c: In function 'slab_alloc':
> mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
> [-Werror=implicit-function-declaration]
> slab_free(cachep, objp);
> ^
> mm/slab.c: At top level:
> mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
>  static __always_inline void slab_free(struct kmem_cache *cachep, void *objp)
>  ^
> mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
> non-static declaration
> mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was here
> slab_free(cachep, objp);
> ^
> 
> I am not sure what caused this, but it is something in the akpm-current
> or akpm trees (possibly interacting with something else).

I fixed this using the attached patch.

Thierry
From a9ec6cfacb892e044a5f76dce3b7fc9a3337d01a Mon Sep 17 00:00:00 2001
From: Thierry Reding 
Date: Thu, 6 Nov 2014 11:59:23 +0100
Subject: [PATCH] mm/slab: Always predeclare slab_free()

Commit 5da1c3c725ab ("slab: recharge slab pages to the allocating memory
cgroup") added a predeclaration of the new slab_free() helper so that it
can be used in slab_alloc_node() and slab_alloc(). However the prototype
is added in an #ifdef CONFIG_NUMA protected section of code, which works
fine for slab_alloc_node() but fails for slab_alloc().

Fixes the following build warnings and errors:

	mm/slab.c: In function 'slab_alloc':
	mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' [-Werror=implicit-function-declaration]
	slab_free(cachep, objp);
	^
	mm/slab.c: At top level:
	mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
	 static __always_inline void slab_free(struct kmem_cache *cachep, void *objp)
 ^
	mm/slab.c:3534:29: error: static declaration of 'slab_free' follows non-static declaration
	mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was here
	slab_free(cachep, objp);
	^

Reported-by: Stephen Rothwell 
Signed-off-by: Thierry Reding 
---
 mm/slab.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 61b01c2ae1d9..00cd028404cb 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2961,6 +2961,8 @@ out:
 	return objp;
 }
 
+static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
+
 #ifdef CONFIG_NUMA
 /*
  * Try allocating on another node if PFA_SPREAD_SLAB is a mempolicy is set.
@@ -3133,8 +3135,6 @@ done:
 	return obj;
 }
 
-static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
-
 static __always_inline void *
 slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
 		   unsigned long caller)
-- 
2.1.3



pgpu5cJmfanz8.pgp
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2014-11-06 Thread Thierry Reding
On Thu, Nov 06, 2014 at 07:36:18PM +1100, Stephen Rothwell wrote:
 Hi Andrew,
 
 After merging the akpm tree, today's linux-next build (sparc defconfig)
 failed like this:
 
 mm/slab.c: In function 'slab_alloc':
 mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
 [-Werror=implicit-function-declaration]
 slab_free(cachep, objp);
 ^
 mm/slab.c: At top level:
 mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
  static __always_inline void slab_free(struct kmem_cache *cachep, void *objp)
  ^
 mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
 non-static declaration
 mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was here
 slab_free(cachep, objp);
 ^
 
 I am not sure what caused this, but it is something in the akpm-current
 or akpm trees (possibly interacting with something else).

I fixed this using the attached patch.

Thierry
From a9ec6cfacb892e044a5f76dce3b7fc9a3337d01a Mon Sep 17 00:00:00 2001
From: Thierry Reding tred...@nvidia.com
Date: Thu, 6 Nov 2014 11:59:23 +0100
Subject: [PATCH] mm/slab: Always predeclare slab_free()

Commit 5da1c3c725ab (slab: recharge slab pages to the allocating memory
cgroup) added a predeclaration of the new slab_free() helper so that it
can be used in slab_alloc_node() and slab_alloc(). However the prototype
is added in an #ifdef CONFIG_NUMA protected section of code, which works
fine for slab_alloc_node() but fails for slab_alloc().

Fixes the following build warnings and errors:

	mm/slab.c: In function 'slab_alloc':
	mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' [-Werror=implicit-function-declaration]
	slab_free(cachep, objp);
	^
	mm/slab.c: At top level:
	mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
	 static __always_inline void slab_free(struct kmem_cache *cachep, void *objp)
 ^
	mm/slab.c:3534:29: error: static declaration of 'slab_free' follows non-static declaration
	mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was here
	slab_free(cachep, objp);
	^

Reported-by: Stephen Rothwell s...@canb.auug.org.au
Signed-off-by: Thierry Reding tred...@nvidia.com
---
 mm/slab.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 61b01c2ae1d9..00cd028404cb 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2961,6 +2961,8 @@ out:
 	return objp;
 }
 
+static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
+
 #ifdef CONFIG_NUMA
 /*
  * Try allocating on another node if PFA_SPREAD_SLAB is a mempolicy is set.
@@ -3133,8 +3135,6 @@ done:
 	return obj;
 }
 
-static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
-
 static __always_inline void *
 slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
 		   unsigned long caller)
-- 
2.1.3



pgpu5cJmfanz8.pgp
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2014-11-06 Thread Thierry Reding
On Thu, Nov 06, 2014 at 12:24:00PM +0100, Thierry Reding wrote:
 On Thu, Nov 06, 2014 at 07:36:18PM +1100, Stephen Rothwell wrote:
  Hi Andrew,
  
  After merging the akpm tree, today's linux-next build (sparc defconfig)
  failed like this:
  
  mm/slab.c: In function 'slab_alloc':
  mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
  [-Werror=implicit-function-declaration]
  slab_free(cachep, objp);
  ^
  mm/slab.c: At top level:
  mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
   static __always_inline void slab_free(struct kmem_cache *cachep, void 
  *objp)
   ^
  mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
  non-static declaration
  mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' was 
  here
  slab_free(cachep, objp);
  ^
  
  I am not sure what caused this, but it is something in the akpm-current
  or akpm trees (possibly interacting with something else).
 
 I fixed this using the attached patch.
 
 Thierry

 From a9ec6cfacb892e044a5f76dce3b7fc9a3337d01a Mon Sep 17 00:00:00 2001
 From: Thierry Reding tred...@nvidia.com
 Date: Thu, 6 Nov 2014 11:59:23 +0100
 Subject: [PATCH] mm/slab: Always predeclare slab_free()
 
 Commit 5da1c3c725ab (slab: recharge slab pages to the allocating memory
 cgroup) added a predeclaration of the new slab_free() helper so that it
 can be used in slab_alloc_node() and slab_alloc(). However the prototype
 is added in an #ifdef CONFIG_NUMA protected section of code, which works
 fine for slab_alloc_node() but fails for slab_alloc().
 
 Fixes the following build warnings and errors:
 
   mm/slab.c: In function 'slab_alloc':
   mm/slab.c:3260:4: error: implicit declaration of function 'slab_free' 
 [-Werror=implicit-function-declaration]
   slab_free(cachep, objp);
   ^
   mm/slab.c: At top level:
   mm/slab.c:3534:29: warning: conflicting types for 'slab_free'
static __always_inline void slab_free(struct kmem_cache *cachep, void 
 *objp)
^
   mm/slab.c:3534:29: error: static declaration of 'slab_free' follows 
 non-static declaration
   mm/slab.c:3260:4: note: previous implicit declaration of 'slab_free' 
 was here
   slab_free(cachep, objp);
   ^
 
 Reported-by: Stephen Rothwell s...@canb.auug.org.au
 Signed-off-by: Thierry Reding tred...@nvidia.com
 ---
  mm/slab.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/mm/slab.c b/mm/slab.c
 index 61b01c2ae1d9..00cd028404cb 100644
 --- a/mm/slab.c
 +++ b/mm/slab.c
 @@ -2961,6 +2961,8 @@ out:
   return objp;
  }
  
 +static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
 +
  #ifdef CONFIG_NUMA
  /*
   * Try allocating on another node if PFA_SPREAD_SLAB is a mempolicy is set.
 @@ -3133,8 +3135,6 @@ done:
   return obj;
  }
  
 -static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
 -
  static __always_inline void *
  slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
  unsigned long caller)

Attached is a follow-up cleanup patch that avoids the need for a pre-
declaration. Feel free to ignore if you prefer the predeclaration.

Thierry
From 3ad8947fd8613d13f2b9dc1ccd370d0a9ffaeb7b Mon Sep 17 00:00:00 2001
From: Thierry Reding tred...@nvidia.com
Date: Thu, 6 Nov 2014 12:25:03 +0100
Subject: [PATCH] mm/slab: Shuffle code around to avoid a predeclaration

Instead of providing a predeclaration for the slab_free() helper, move
the helper and its dependencies before any of their users.

Signed-off-by: Thierry Reding tred...@nvidia.com
---
 mm/slab.c | 200 +++---
 1 file changed, 99 insertions(+), 101 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 00cd028404cb..3c025f5934da 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2961,7 +2961,105 @@ out:
 	return objp;
 }
 
-static __always_inline void slab_free(struct kmem_cache *cachep, void *objp);
+static void cache_flusharray(struct kmem_cache *cachep, struct array_cache *ac)
+{
+	int batchcount;
+	struct kmem_cache_node *n;
+	int node = numa_mem_id();
+	LIST_HEAD(list);
+
+	batchcount = ac-batchcount;
+#if DEBUG
+	BUG_ON(!batchcount || batchcount  ac-avail);
+#endif
+	check_irq_off();
+	n = get_node(cachep, node);
+	spin_lock(n-list_lock);
+	if (n-shared) {
+		struct array_cache *shared_array = n-shared;
+		int max = shared_array-limit - shared_array-avail;
+		if (max) {
+			if (batchcount  max)
+batchcount = max;
+			memcpy((shared_array-entry[shared_array-avail]),
+			   ac-entry, sizeof(void *) * batchcount);
+			shared_array-avail += batchcount;
+			goto free_done;
+		}
+	}
+
+	free_block(cachep, ac-entry, batchcount, node, list);
+free_done:
+#if STATS
+	{
+		int i = 0;
+		struct list_head *p;
+
+		p = n-slabs_free.next;
+		while (p != (n-slabs_free)) {
+			struct page *page;
+
+			page = 

Re: linux-next: build failure after merge of the akpm tree

2014-08-26 Thread Stephen Rothwell
Hi Don,

On Tue, 26 Aug 2014 09:54:17 -0400 Don Zickus  wrote:
>
> On Tue, Aug 26, 2014 at 05:18:18PM +1000, Stephen Rothwell wrote:
> > Hi Andrew,
> > 
> > After merging the akpm tree, today's linux-next build (sparc64
> > defconfig) failed like this:
> > 
> > kernel/built-in.o: In function `proc_dowatchdog':
> > (.text+0x6a620): undefined reference to 
> > `watchdog_hardlockup_detector_is_enabled'
> > kernel/built-in.o: In function `proc_dowatchdog':
> > (.text+0x6a6a8): undefined reference to 
> > `watchdog_enable_hardlockup_detector'
> > kernel/built-in.o: In function `proc_dowatchdog':
> > (.text+0x6a79c): undefined reference to 
> > `watchdog_enable_hardlockup_detector'
> > 
> > Caused by commit 72355eed4bd7 ("kernel/watchdog.c: control hard lockup
> > detection default").  This build has CONFIG_HAVE_NMI_WATCHDOG=y,
> > CONFIG_HARDLOCKUP_DETECTOR not set.
> 
> :-(  I was trying to figure out why touch_nmi_watchdog doesn't break the
> same way until I noticed sparc has its own personal implementation of this
> function (instead of using kernel/watchdog.c's version).
> 
> We are going to have to split the include/linux/nmi.h changes out into its
> own #ifdef area.  I am not sure my brain is quite ready to untangle the
> sparc implementation of the watchdog stuff and try to make it use the
> generic one yet.
> 
> This patch I believe fixes the compile problem for now.
> 
> Not sure the proper way to post this or who to send this too.

Send it to Andrew Morton (since he has the original patch) who is cc'd
anyway.  I will put this in linux-next today instead of reverting the
other patches if he doesn't get around to doing another mmotm before
then.

> From: Don Zickus 
> Date: Tue, 26 Aug 2014 09:50:21 -0400
> Subject: [PATCH] watchdog, nmi: Fix compile issues on sparc
> 
> Sparc doesn't use HARDLOCKUP_DETECTOR the same way x86 does.  As a
> result break out the new functions
> 
> watchdog_hardlockup_detector_is_enabled
> watchdog_enable_hardlockup_detector
> 
> into their own #if defined area.  This resolves the compile issue
> where CONFIG_NMI_WATCHDOG=y and CONFIG_HARDLOCKUP_DETECTOR is not set
> on sparc.

Reported-by: Stephen Rothwell 

> Signed-off-by: Don Zickus 
> ---
>  include/linux/nmi.h |   10 +++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/nmi.h b/include/linux/nmi.h
> index 72aacf4..f82a5bf 100644
> --- a/include/linux/nmi.h
> +++ b/include/linux/nmi.h
> @@ -17,14 +17,18 @@
>  #if defined(CONFIG_HAVE_NMI_WATCHDOG) ||
> defined(CONFIG_HARDLOCKUP_DETECTOR) #include 
>  extern void touch_nmi_watchdog(void);
> -extern void watchdog_enable_hardlockup_detector(bool val);
> -extern bool watchdog_hardlockup_detector_is_enabled(void);
>  #else
>  static inline void touch_nmi_watchdog(void)
>  {
>   touch_softlockup_watchdog();
>  }
> -static inline void watchdog_enable_hardlockup_detector(bool)
> +#endif
> +
> +#if defined(CONFIG_HARDLOCKUP_DETECTOR)
> +extern void watchdog_enable_hardlockup_detector(bool val);
> +extern bool watchdog_hardlockup_detector_is_enabled(void);
> +#else
> +static inline void watchdog_enable_hardlockup_detector(bool val)
>  {
>  }
>  static inline bool watchdog_hardlockup_detector_is_enabled(void)

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2014-08-26 Thread Don Zickus
On Tue, Aug 26, 2014 at 05:18:18PM +1000, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (sparc64
> defconfig) failed like this:
> 
> kernel/built-in.o: In function `proc_dowatchdog':
> (.text+0x6a620): undefined reference to 
> `watchdog_hardlockup_detector_is_enabled'
> kernel/built-in.o: In function `proc_dowatchdog':
> (.text+0x6a6a8): undefined reference to `watchdog_enable_hardlockup_detector'
> kernel/built-in.o: In function `proc_dowatchdog':
> (.text+0x6a79c): undefined reference to `watchdog_enable_hardlockup_detector'
> 
> Caused by commit 72355eed4bd7 ("kernel/watchdog.c: control hard lockup
> detection default").  This build has CONFIG_HAVE_NMI_WATCHDOG=y,
> CONFIG_HARDLOCKUP_DETECTOR not set.

:-(  I was trying to figure out why touch_nmi_watchdog doesn't break the
same way until I noticed sparc has its own personal implementation of this
function (instead of using kernel/watchdog.c's version).

We are going to have to split the include/linux/nmi.h changes out into its
own #ifdef area.  I am not sure my brain is quite ready to untangle the
sparc implementation of the watchdog stuff and try to make it use the
generic one yet.

This patch I believe fixes the compile problem for now.

Not sure the proper way to post this or who to send this too.

--8<--
From: Don Zickus 
Date: Tue, 26 Aug 2014 09:50:21 -0400
Subject: [PATCH] watchdog, nmi: Fix compile issues on sparc

Sparc doesn't use HARDLOCKUP_DETECTOR the same way x86 does.  As a result break
out the new functions

watchdog_hardlockup_detector_is_enabled
watchdog_enable_hardlockup_detector

into their own #if defined area.  This resolves the compile issue where
CONFIG_NMI_WATCHDOG=y and CONFIG_HARDLOCKUP_DETECTOR is not set on sparc.

Signed-off-by: Don Zickus 
---
 include/linux/nmi.h |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index 72aacf4..f82a5bf 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -17,14 +17,18 @@
 #if defined(CONFIG_HAVE_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
 #include 
 extern void touch_nmi_watchdog(void);
-extern void watchdog_enable_hardlockup_detector(bool val);
-extern bool watchdog_hardlockup_detector_is_enabled(void);
 #else
 static inline void touch_nmi_watchdog(void)
 {
touch_softlockup_watchdog();
 }
-static inline void watchdog_enable_hardlockup_detector(bool)
+#endif
+
+#if defined(CONFIG_HARDLOCKUP_DETECTOR)
+extern void watchdog_enable_hardlockup_detector(bool val);
+extern bool watchdog_hardlockup_detector_is_enabled(void);
+#else
+static inline void watchdog_enable_hardlockup_detector(bool val)
 {
 }
 static inline bool watchdog_hardlockup_detector_is_enabled(void)
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-08-26 Thread Don Zickus
On Tue, Aug 26, 2014 at 05:18:18PM +1000, Stephen Rothwell wrote:
 Hi Andrew,
 
 After merging the akpm tree, today's linux-next build (sparc64
 defconfig) failed like this:
 
 kernel/built-in.o: In function `proc_dowatchdog':
 (.text+0x6a620): undefined reference to 
 `watchdog_hardlockup_detector_is_enabled'
 kernel/built-in.o: In function `proc_dowatchdog':
 (.text+0x6a6a8): undefined reference to `watchdog_enable_hardlockup_detector'
 kernel/built-in.o: In function `proc_dowatchdog':
 (.text+0x6a79c): undefined reference to `watchdog_enable_hardlockup_detector'
 
 Caused by commit 72355eed4bd7 (kernel/watchdog.c: control hard lockup
 detection default).  This build has CONFIG_HAVE_NMI_WATCHDOG=y,
 CONFIG_HARDLOCKUP_DETECTOR not set.

:-(  I was trying to figure out why touch_nmi_watchdog doesn't break the
same way until I noticed sparc has its own personal implementation of this
function (instead of using kernel/watchdog.c's version).

We are going to have to split the include/linux/nmi.h changes out into its
own #ifdef area.  I am not sure my brain is quite ready to untangle the
sparc implementation of the watchdog stuff and try to make it use the
generic one yet.

This patch I believe fixes the compile problem for now.

Not sure the proper way to post this or who to send this too.

--8--
From: Don Zickus dzic...@redhat.com
Date: Tue, 26 Aug 2014 09:50:21 -0400
Subject: [PATCH] watchdog, nmi: Fix compile issues on sparc

Sparc doesn't use HARDLOCKUP_DETECTOR the same way x86 does.  As a result break
out the new functions

watchdog_hardlockup_detector_is_enabled
watchdog_enable_hardlockup_detector

into their own #if defined area.  This resolves the compile issue where
CONFIG_NMI_WATCHDOG=y and CONFIG_HARDLOCKUP_DETECTOR is not set on sparc.

Signed-off-by: Don Zickus dzic...@redhat.com
---
 include/linux/nmi.h |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index 72aacf4..f82a5bf 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -17,14 +17,18 @@
 #if defined(CONFIG_HAVE_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
 #include asm/nmi.h
 extern void touch_nmi_watchdog(void);
-extern void watchdog_enable_hardlockup_detector(bool val);
-extern bool watchdog_hardlockup_detector_is_enabled(void);
 #else
 static inline void touch_nmi_watchdog(void)
 {
touch_softlockup_watchdog();
 }
-static inline void watchdog_enable_hardlockup_detector(bool)
+#endif
+
+#if defined(CONFIG_HARDLOCKUP_DETECTOR)
+extern void watchdog_enable_hardlockup_detector(bool val);
+extern bool watchdog_hardlockup_detector_is_enabled(void);
+#else
+static inline void watchdog_enable_hardlockup_detector(bool val)
 {
 }
 static inline bool watchdog_hardlockup_detector_is_enabled(void)
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-08-26 Thread Stephen Rothwell
Hi Don,

On Tue, 26 Aug 2014 09:54:17 -0400 Don Zickus dzic...@redhat.com wrote:

 On Tue, Aug 26, 2014 at 05:18:18PM +1000, Stephen Rothwell wrote:
  Hi Andrew,
  
  After merging the akpm tree, today's linux-next build (sparc64
  defconfig) failed like this:
  
  kernel/built-in.o: In function `proc_dowatchdog':
  (.text+0x6a620): undefined reference to 
  `watchdog_hardlockup_detector_is_enabled'
  kernel/built-in.o: In function `proc_dowatchdog':
  (.text+0x6a6a8): undefined reference to 
  `watchdog_enable_hardlockup_detector'
  kernel/built-in.o: In function `proc_dowatchdog':
  (.text+0x6a79c): undefined reference to 
  `watchdog_enable_hardlockup_detector'
  
  Caused by commit 72355eed4bd7 (kernel/watchdog.c: control hard lockup
  detection default).  This build has CONFIG_HAVE_NMI_WATCHDOG=y,
  CONFIG_HARDLOCKUP_DETECTOR not set.
 
 :-(  I was trying to figure out why touch_nmi_watchdog doesn't break the
 same way until I noticed sparc has its own personal implementation of this
 function (instead of using kernel/watchdog.c's version).
 
 We are going to have to split the include/linux/nmi.h changes out into its
 own #ifdef area.  I am not sure my brain is quite ready to untangle the
 sparc implementation of the watchdog stuff and try to make it use the
 generic one yet.
 
 This patch I believe fixes the compile problem for now.
 
 Not sure the proper way to post this or who to send this too.

Send it to Andrew Morton (since he has the original patch) who is cc'd
anyway.  I will put this in linux-next today instead of reverting the
other patches if he doesn't get around to doing another mmotm before
then.

 From: Don Zickus dzic...@redhat.com
 Date: Tue, 26 Aug 2014 09:50:21 -0400
 Subject: [PATCH] watchdog, nmi: Fix compile issues on sparc
 
 Sparc doesn't use HARDLOCKUP_DETECTOR the same way x86 does.  As a
 result break out the new functions
 
 watchdog_hardlockup_detector_is_enabled
 watchdog_enable_hardlockup_detector
 
 into their own #if defined area.  This resolves the compile issue
 where CONFIG_NMI_WATCHDOG=y and CONFIG_HARDLOCKUP_DETECTOR is not set
 on sparc.

Reported-by: Stephen Rothwell s...@canb.auug.org.au

 Signed-off-by: Don Zickus dzic...@redhat.com
 ---
  include/linux/nmi.h |   10 +++---
  1 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/include/linux/nmi.h b/include/linux/nmi.h
 index 72aacf4..f82a5bf 100644
 --- a/include/linux/nmi.h
 +++ b/include/linux/nmi.h
 @@ -17,14 +17,18 @@
  #if defined(CONFIG_HAVE_NMI_WATCHDOG) ||
 defined(CONFIG_HARDLOCKUP_DETECTOR) #include asm/nmi.h
  extern void touch_nmi_watchdog(void);
 -extern void watchdog_enable_hardlockup_detector(bool val);
 -extern bool watchdog_hardlockup_detector_is_enabled(void);
  #else
  static inline void touch_nmi_watchdog(void)
  {
   touch_softlockup_watchdog();
  }
 -static inline void watchdog_enable_hardlockup_detector(bool)
 +#endif
 +
 +#if defined(CONFIG_HARDLOCKUP_DETECTOR)
 +extern void watchdog_enable_hardlockup_detector(bool val);
 +extern bool watchdog_hardlockup_detector_is_enabled(void);
 +#else
 +static inline void watchdog_enable_hardlockup_detector(bool val)
  {
  }
  static inline bool watchdog_hardlockup_detector_is_enabled(void)

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


signature.asc
Description: PGP signature


Re: linux-next: build failure after merge of the akpm tree

2014-07-16 Thread Michal Hocko
On Wed 16-07-14 18:26:41, Stephen Rothwell wrote:
> Hi Andrew,
> 
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> mm/memcontrol.c:5269:12: error: 'CFTYPE_INSANE' undeclared here (not in a 
> function)
>.flags = CFTYPE_INSANE,
> ^
> 
> Caused by commit 8fa6a8baeffc ("memcg: deprecate memory.force_empty
> knob") interacting with commits a8ddc8215e1a ("cgroup: distinguish the
> default and legacy hierarchies when handling cftypes") and 05ebb6e60f04
> ("cgroup: make CFTYPE_ONLY_ON_DFL and CFTYPE_NO_ internal to cgroup
> core") from the cgroup tree.
>
> I applied the following fix up patch:

This basically means dropping the page from Andrew's tree after the
above cgroups changes. I am sorry but I was really busy last few weeks
so I didn't follow cgroups changes closely. I will post a patch that
deals with the dfl hierarchy.

> From: Stephen Rothwell 
> Date: Wed, 16 Jul 2014 18:20:59 +1000
> Subject: [PATCH] memcg-deprecate-memoryforce_empty-knob-fix2
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  mm/memcontrol.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 8fa6602a32cd..e1c9699b157b 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -5266,7 +5266,6 @@ static struct cftype mem_cgroup_files[] = {
>   },
>   {
>   .name = "force_empty",
> - .flags = CFTYPE_INSANE,
>   .write = mem_cgroup_force_empty_write,
>   },
>   {
> -- 
> 2.0.1
> 
> 
> -- 
> Cheers,
> Stephen Rothwells...@canb.auug.org.au



-- 
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-07-16 Thread Michal Hocko
On Wed 16-07-14 18:26:41, Stephen Rothwell wrote:
 Hi Andrew,
 
 After merging the akpm tree, today's linux-next build (x86_64
 allmodconfig) failed like this:
 
 mm/memcontrol.c:5269:12: error: 'CFTYPE_INSANE' undeclared here (not in a 
 function)
.flags = CFTYPE_INSANE,
 ^
 
 Caused by commit 8fa6a8baeffc (memcg: deprecate memory.force_empty
 knob) interacting with commits a8ddc8215e1a (cgroup: distinguish the
 default and legacy hierarchies when handling cftypes) and 05ebb6e60f04
 (cgroup: make CFTYPE_ONLY_ON_DFL and CFTYPE_NO_ internal to cgroup
 core) from the cgroup tree.

 I applied the following fix up patch:

This basically means dropping the page from Andrew's tree after the
above cgroups changes. I am sorry but I was really busy last few weeks
so I didn't follow cgroups changes closely. I will post a patch that
deals with the dfl hierarchy.

 From: Stephen Rothwell s...@canb.auug.org.au
 Date: Wed, 16 Jul 2014 18:20:59 +1000
 Subject: [PATCH] memcg-deprecate-memoryforce_empty-knob-fix2
 
 Signed-off-by: Stephen Rothwell s...@canb.auug.org.au
 ---
  mm/memcontrol.c | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/mm/memcontrol.c b/mm/memcontrol.c
 index 8fa6602a32cd..e1c9699b157b 100644
 --- a/mm/memcontrol.c
 +++ b/mm/memcontrol.c
 @@ -5266,7 +5266,6 @@ static struct cftype mem_cgroup_files[] = {
   },
   {
   .name = force_empty,
 - .flags = CFTYPE_INSANE,
   .write = mem_cgroup_force_empty_write,
   },
   {
 -- 
 2.0.1
 
 
 -- 
 Cheers,
 Stephen Rothwells...@canb.auug.org.au



-- 
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-03-07 Thread Andrew Morton
On Fri, 7 Mar 2014 11:05:49 -0600 (CST) Christoph Lameter  
wrote:

> On Thu, 6 Mar 2014, Andrew Morton wrote:
> 
> > > So, by "the whole series" do you mean just/all these:
> > >
> > > percpu-add-raw_cpu_ops.patch
> > > ...
> > > sh-replace-__get_cpu_var-uses.patch
> >
> > Yep.  Commented out in http://ozlabs.org/~akpm/mmots/series
> >
> > > If so, I will remove them from my tree today (if you don't get around to
> > > a new mmotm before then).
> >
> > Cool.
> 
> I need at least the initial 5 patches that establish the framework in
> -next and do the debugging in order to make further progress on this one.

I'll re-enable

percpu-add-raw_cpu_ops.patch
mm-use-raw_cpu-ops-for-determining-current-numa-node.patch
modules-use-raw_cpu_write-for-initialization-of-per-cpu-refcount.patch
net-replace-__this_cpu_inc-in-routec-with-raw_cpu_inc.patch
percpu-add-preemption-checks-to-__this_cpu-ops.patch

OK?

> The rest are bits and pieces that may require some detail work.

It looks like they will need quite a lot of work I'm afraid.  The
automated sweep wasn't very successful but it did demonstrate that
there are nasties and gremlins all over the place.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-03-07 Thread Christoph Lameter
On Thu, 6 Mar 2014, Andrew Morton wrote:

> > So, by "the whole series" do you mean just/all these:
> >
> > percpu-add-raw_cpu_ops.patch
> > ...
> > sh-replace-__get_cpu_var-uses.patch
>
> Yep.  Commented out in http://ozlabs.org/~akpm/mmots/series
>
> > If so, I will remove them from my tree today (if you don't get around to
> > a new mmotm before then).
>
> Cool.

I need at least the initial 5 patches that establish the framework in
-next and do the debugging in order to make further progress on this one.

The rest are bits and pieces that may require some detail work.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the akpm tree

2014-03-07 Thread Christoph Lameter
On Thu, 6 Mar 2014, Stephen Rothwell wrote:

>
> I have reverted that commit for today.
>
> I suspect that this whole series may need more review and work.

Toss the bits that do not build for now. These can then be handled in
individual patches since the overall framework is present.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   >