linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (arm64 allmodconfig) failed like this: ./include/uapi/asm-generic/unistd.h:867:27: error: array index in initializer exceeds array bounds Caused by commit 390e5073c473 ("arch, mm: wire up memfd_secret system call where relevant") d098835811e0 ("arch-mm-wire-up-memfd_secret-system-call-were-relevant-fix") Reported-by: kernelci.org bot I will apply the following patch tomorrow: From: Stephen Rothwell Date: Mon, 21 Dec 2020 16:10:40 +1100 Subject: [PATCH] arch-mm-wire-up-memfd_secret-system-call-were-relevant-fix-fix Signed-off-by: Stephen Rothwell --- include/uapi/asm-generic/unistd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index 72b94deb8cf1..26125974a8a2 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h @@ -869,7 +869,7 @@ __SYSCALL(__NR_memfd_secret, sys_memfd_secret) #endif #undef __NR_syscalls -#define __NR_syscalls 443 +#define __NR_syscalls 444 /* * 32 bit systems traditionally used different -- 2.29.2 -- Cheers, Stephen Rothwell pgpbJ4IgUHZkq.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
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:198:3: error: 'return' with no value, in function returning non-void [-Werror=return-type] 198 | return; | ^~ mm/kasan/quarantine.c:171:6: note: declared here 171 | bool quarantine_put(struct kmem_cache *cache, void *object) | ^~ mm/kasan/quarantine.c:200:16: error: 'info' undeclared (first use in this function) 200 | qlist_put(q, >quarantine_link, cache->size); |^~~~ mm/kasan/quarantine.c:200:16: note: each undeclared identifier is reported only once for each function it appears in Caused by commits d6e0eb793f88 ("kasan: rename get_alloc/free_info") 453989cf05d6 ("kasan: sanitize objects when metadata doesn't fit") interacting with commit 2ac05f7fcf5b ("kasan: fix object remaining in offline per-cpu quarantine") from the akmp-current tree. This goes on and on :-( I have applied the following patch: From: Stephen Rothwell Date: Thu, 10 Dec 2020 20:24:01 +1100 Subject: [PATCH] fixup for "kasan: rename get_alloc/free_info" and "kasan: sanitize objects when metadata doesn't fit" and "kasan: fix object remaining in offline per-cpu quarantine" 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 c0331656f112..55783125a767 100644 --- a/mm/kasan/quarantine.c +++ b/mm/kasan/quarantine.c @@ -195,9 +195,9 @@ bool quarantine_put(struct kmem_cache *cache, void *object) q = this_cpu_ptr(_quarantine); if (q->offline) { local_irq_restore(flags); - return; + return false; } - qlist_put(q, >quarantine_link, cache->size); + qlist_put(q, >quarantine_link, cache->size); if (unlikely(q->bytes > QUARANTINE_PERCPU_SIZE)) { qlist_move_all(q, ); -- 2.29.2 -- Cheers, Stephen Rothwell pgpnvblMPmIqY.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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!
linux-next: build failure after merge of the akpm tree
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" 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 pgpRPYp7WPO0l.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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
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
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.
linux-next: build failure after merge of the akpm tree
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; |^~ Caused by commit 5f964602825e ("secretmem: add memcg accounting") memcg_data only exists when CONFIG_MEMCG is set. I have applied the following patch for today. From: Stephen Rothwell Date: Fri, 13 Nov 2020 17:50:30 +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..3dfdbd85ba00 100644 --- 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; @@ -83,7 +85,9 @@ static void secretmem_memcg_uncharge(struct page *page, int order) for (i = 1; i < nr_pages; i++) { struct page *p = page + i; +#ifdef CONFIG_MEMCG p->memcg_data = 0; +#endif } memcg_kmem_uncharge_page(page, PMD_PAGE_ORDER); -- 2.28.0 This unfortunately produced these warnings: mm/secretmem.c: In function 'secretmem_memcg_charge': mm/secretmem.c:70:16: warning: unused variable 'p' [-Wunused-variable] 70 | struct page *p = page + i; |^ mm/secretmem.c: In function 'secretmem_memcg_uncharge': mm/secretmem.c:86:16: warning: unused variable 'p' [-Wunused-variable] 86 | struct page *p = page + i; |^ which I will fix up for the next linux-next release, if necessary. -- Cheers, Stephen Rothwell pgpxetQDcc4Ky.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: mm/kasan/shadow.c: In function 'kasan_poison_memory': mm/kasan/shadow.c:88:6: error: implicit declaration of function 'is_kfence_address' [-Werror=implicit-function-declaration] 88 | if (is_kfence_address(address)) | ^ Caused by commit 97f3d663343a ("kasan-split-out-shadowc-from-commonc-fix") I have applied this fix patch for today: From e96c5bb419a2042483dcc914750e4e903d73e70e Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Wed, 11 Nov 2020 17:16:35 +1100 Subject: [PATCH] kasan-split-out-shadowc-from-commonc-fix2 Signed-off-by: Stephen Rothwell --- mm/kasan/shadow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c index 1f8d713fa8a3..f45442ef42b1 100644 --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include -- 2.28.0 -- Cheers, Stephen Rothwell pgpjijL0LunJm.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
Thanks, the fix looks correct.
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: mm/madvise.c: In function '__do_sys_process_madvise': mm/madvise.c:1194:9: error: implicit declaration of function 'compat_import_iovec'; did you mean 'import_iovec'? [-Werror=implicit-function-declaration] 1194 | ret = compat_import_iovec(READ, | ^~~ | import_iovec Caused by commits b50ef3fed31c ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API") 84b51d510a77 ("mm: do not use helper functions for process_madvise") interacting with commit e42ff3fae0a2 ("iov_iter: transparently handle compat iovecs in import_iovec") from the vfs tree. I have applied the folloing patch for today: From: Stephen Rothwell Date: Mon, 28 Sep 2020 21:14:11 +1000 Subject: [PATCH] fix up for "iov_iter: transparently handle compat iovecs in import_iovec" Signed-off-by: Stephen Rothwell --- mm/madvise.c | 11 +-- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index 935dbc92e626..416a56b8e757 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -7,7 +7,6 @@ */ #include -#include #include #include #include @@ -1189,15 +1188,7 @@ SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec, goto out; } -#ifdef CONFIG_COMPAT - if (in_compat_syscall()) - ret = compat_import_iovec(READ, - (struct compat_iovec __user *)vec, vlen, - ARRAY_SIZE(iovstack), , ); - else -#endif - ret = import_iovec(READ, vec, vlen, ARRAY_SIZE(iovstack), - , ); + ret = import_iovec(READ, vec, vlen, ARRAY_SIZE(iovstack), , ); if (ret < 0) goto out; -- 2.28.0 -- Cheers, Stephen Rothwell pgpMixG4Tmm61.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: mm/madvise.c: In function 'madv_import_iovec': mm/madvise.c:1233:6: error: implicit declaration of function 'in_compat_syscall' [-Werror=implicit-function-declaration] 1233 | if (in_compat_syscall()) | ^ Caused by commit 6d0ecd769ce2 ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API") I added the following fix up patch. From: Stephen Rothwell Date: Tue, 8 Sep 2020 20:40:44 +1000 Subject: [PATCH] fix for "mm/madvise: introduce process_madvise() syscall: an external memory hinting API" Signed-off-by: Stephen Rothwell --- mm/madvise.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/madvise.c b/mm/madvise.c index 3c0d23872330..c5acc2b1b1d9 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include -- 2.28.0 -- Cheers, Stephen Rothwell pgpe6UTbZUz3Y.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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
linux-next: build failure after merge of the akpm tree
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); } } -- 2.26.2 -- Cheers, Stephen Rothwell pgpLybXAmd3i6.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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.
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ERROR: modpost: ".probe_user_write" [arch/powerpc/kvm/kvm-hv.ko] undefined! Caused by patch "maccess: unexport probe_kernel_write and probe_user_write" "These two functions are not used by any modular code." turns out to not be true :-( I have added this patch: From: Stephen Rothwell Date: Tue, 2 Jun 2020 19:54:05 +1000 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); /** * strncpy_from_user_nofault: - Copy a NUL terminated string from unsafe user -- 2.26.2 -- Cheers, Stephen Rothwell pgpi1wBOzDscK.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
This looks correct, thanks.
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c: In function 'kfd_sdma_activity_worker': drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c:117:2: error: implicit declaration of function 'use_mm' [-Werror=implicit-function-declaration] 117 | use_mm(mm); | ^~ drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c:144:2: error: implicit declaration of function 'unuse_mm' [-Werror=implicit-function-declaration] 144 | unuse_mm(mm); | ^~~~ Caused by commit d21760f76006 ("kernel: better document the use_mm/unuse_mm API contract") interacting with commit 522b89c63370 ("drm/amdkfd: Track SDMA utilization per process") from the amdgpu tree. I have added the following patch for today: rom: Stephen Rothwell Date: Thu, 28 May 2020 20:15:34 +1000 Subject: [PATCH] drm/amdkfd: fix up for {un}use_mm() rename Signed-off-by: Stephen Rothwell --- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c index db010c5da144..25636789f3d3 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c @@ -114,7 +114,7 @@ static void kfd_sdma_activity_worker(struct work_struct *work) return; } - use_mm(mm); + kthread_use_mm(mm); dqm_lock(dqm); @@ -141,7 +141,7 @@ static void kfd_sdma_activity_worker(struct work_struct *work) } dqm_unlock(dqm); - unuse_mm(mm); + kthread_unuse_mm(mm); mmput(mm); } -- 2.26.2 -- Cheers, Stephen Rothwell pgp5IQvYXB2VF.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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
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
linux-next: build failure after merge of the akpm tree
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; -- 2.26.2 -- Cheers, Stephen Rothwell pgp8IDlGwruSN.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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.
linux-next: build failure after merge of the akpm tree
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. -- Cheers, Stephen Rothwell pgpyFNi5KgXaz.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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
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
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
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
linux-next: build failure after merge of the akpm tree
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 --- tools/include/linux/numa.h | 16 1 file changed, 16 insertions(+) create mode 100644 tools/include/linux/numa.h diff --git a/tools/include/linux/numa.h b/tools/include/linux/numa.h new file mode 100644 index ..110b0e5d0fb0 --- /dev/null +++ b/tools/include/linux/numa.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_NUMA_H +#define _LINUX_NUMA_H + + +#ifdef CONFIG_NODES_SHIFT +#define NODES_SHIFT CONFIG_NODES_SHIFT +#else +#define NODES_SHIFT 0 +#endif + +#define MAX_NUMNODES(1 << NODES_SHIFT) + +#defineNUMA_NO_NODE(-1) + +#endif /* _LINUX_NUMA_H */ -- 2.19.1 -- Cheers, Stephen Rothwell pgp_cz06gl83p.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
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 --- tools/include/linux/numa.h | 16 1 file changed, 16 insertions(+) create mode 100644 tools/include/linux/numa.h diff --git a/tools/include/linux/numa.h b/tools/include/linux/numa.h new file mode 100644 index ..110b0e5d0fb0 --- /dev/null +++ b/tools/include/linux/numa.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_NUMA_H +#define _LINUX_NUMA_H + + +#ifdef CONFIG_NODES_SHIFT +#define NODES_SHIFT CONFIG_NODES_SHIFT +#else +#define NODES_SHIFT 0 +#endif + +#define MAX_NUMNODES(1 << NODES_SHIFT) + +#defineNUMA_NO_NODE(-1) + +#endif /* _LINUX_NUMA_H */ -- 2.19.1 -- Cheers, Stephen Rothwell pgp_cz06gl83p.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
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
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
linux-next: build failure after merge of the akpm tree
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: From 765f2fd3d18ca1d4d0783b888d127af784929e3e Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Fri, 30 Nov 2018 16:26:32 +1100 Subject: [PATCH] partial revert (perf) of "mm: replace all open encodings for NUMA_NO_NODE" Signed-off-by: Stephen Rothwell --- tools/perf/bench/numa.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c index e0ad5f1de226..44195514b19e 100644 --- a/tools/perf/bench/numa.c +++ b/tools/perf/bench/numa.c @@ -298,7 +298,7 @@ static cpu_set_t bind_to_node(int target_node) CPU_ZERO(); - if (target_node == NUMA_NO_NODE) { + if (target_node == -1) { for (cpu = 0; cpu < g->p.nr_cpus; cpu++) CPU_SET(cpu, ); } else { @@ -339,7 +339,7 @@ static void bind_to_memnode(int node) unsigned long nodemask; int ret; - if (node == NUMA_NO_NODE) + if (node == -1) return; BUG_ON(g->p.nr_nodes > (int)sizeof(nodemask)*8); @@ -1363,7 +1363,7 @@ static void init_thread_data(void) int cpu; /* Allow all nodes by default: */ - td->bind_node = NUMA_NO_NODE; + td->bind_node = -1; /* Allow all CPUs by default: */ CPU_ZERO(>bind_cpumask); -- 2.19.1 -- Cheers, Stephen Rothwell pgpsjyYWnF5m0.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
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: From 765f2fd3d18ca1d4d0783b888d127af784929e3e Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Fri, 30 Nov 2018 16:26:32 +1100 Subject: [PATCH] partial revert (perf) of "mm: replace all open encodings for NUMA_NO_NODE" Signed-off-by: Stephen Rothwell --- tools/perf/bench/numa.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c index e0ad5f1de226..44195514b19e 100644 --- a/tools/perf/bench/numa.c +++ b/tools/perf/bench/numa.c @@ -298,7 +298,7 @@ static cpu_set_t bind_to_node(int target_node) CPU_ZERO(); - if (target_node == NUMA_NO_NODE) { + if (target_node == -1) { for (cpu = 0; cpu < g->p.nr_cpus; cpu++) CPU_SET(cpu, ); } else { @@ -339,7 +339,7 @@ static void bind_to_memnode(int node) unsigned long nodemask; int ret; - if (node == NUMA_NO_NODE) + if (node == -1) return; BUG_ON(g->p.nr_nodes > (int)sizeof(nodemask)*8); @@ -1363,7 +1363,7 @@ static void init_thread_data(void) int cpu; /* Allow all nodes by default: */ - td->bind_node = NUMA_NO_NODE; + td->bind_node = -1; /* Allow all CPUs by default: */ CPU_ZERO(>bind_cpumask); -- 2.19.1 -- Cheers, Stephen Rothwell pgpsjyYWnF5m0.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
* 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
* 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
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
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
linux-next: build failure after merge of the akpm tree
Hi all, 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 -- 2.18.0 -- Cheers, Stephen Rothwell pgpBtZcPEWbkU.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi all, 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 -- 2.18.0 -- Cheers, Stephen Rothwell pgpBtZcPEWbkU.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allnoconfig) failed like this: Caused by commit a20bb0583751 ("dma-direct: add an explicit dma_direct_get_required_mask") from the dma-mappgin tree conflicting with patch "mm: remove include/linux/bootmem.h" I have applied the following merge fix patch for today. From: Stephen Rothwell Date: Tue, 2 Oct 2018 18:49:02 +1000 Subject: [PATCH] dma-direct: fix up for the removal of linux/bootmem.h Signed-off-by: Stephen Rothwell --- kernel/dma/direct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index 170bd322a94a..5a0806b5351b 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -4,7 +4,7 @@ * * DMA operations that map physical memory directly without using an IOMMU. */ -#include /* for max_pfn */ +#include /* for max_pfn */ #include #include #include -- 2.18.0 -- Cheers, Stephen Rothwell pgpDjxi5jZJEQ.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allnoconfig) failed like this: Caused by commit a20bb0583751 ("dma-direct: add an explicit dma_direct_get_required_mask") from the dma-mappgin tree conflicting with patch "mm: remove include/linux/bootmem.h" I have applied the following merge fix patch for today. From: Stephen Rothwell Date: Tue, 2 Oct 2018 18:49:02 +1000 Subject: [PATCH] dma-direct: fix up for the removal of linux/bootmem.h Signed-off-by: Stephen Rothwell --- kernel/dma/direct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index 170bd322a94a..5a0806b5351b 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -4,7 +4,7 @@ * * DMA operations that map physical memory directly without using an IOMMU. */ -#include /* for max_pfn */ +#include /* for max_pfn */ #include #include #include -- 2.18.0 -- Cheers, Stephen Rothwell pgpDjxi5jZJEQ.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the akpm tree
Hi Greg, On Wed, 21 Mar 2018 11:02:08 +0100 Greg Kroah-Hartmanwrote: > > 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
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
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
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
linux-next: build failure after merge of the akpm tree
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 ...): From: Stephen RothwellDate: Wed, 21 Mar 2018 19:06:35 +1100 Subject: [PATCH] firmware: explicitly include vmalloc.h After some other include file changes, fixes: 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 *)); ^ Signed-off-by: Stephen Rothwell --- drivers/base/firmware_loader/fallback.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c index 0a8ec7fec585..d231bbcb95d7 100644 --- a/drivers/base/firmware_loader/fallback.c +++ b/drivers/base/firmware_loader/fallback.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "fallback.h" #include "firmware.h" -- 2.16.1 -- Cheers, Stephen Rothwell pgp12PyaCcEgf.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
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 ...): From: Stephen Rothwell Date: Wed, 21 Mar 2018 19:06:35 +1100 Subject: [PATCH] firmware: explicitly include vmalloc.h After some other include file changes, fixes: 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 *)); ^ Signed-off-by: Stephen Rothwell --- drivers/base/firmware_loader/fallback.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c index 0a8ec7fec585..d231bbcb95d7 100644 --- a/drivers/base/firmware_loader/fallback.c +++ b/drivers/base/firmware_loader/fallback.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "fallback.h" #include "firmware.h" -- 2.16.1 -- Cheers, Stephen Rothwell pgp12PyaCcEgf.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) produced this warning: lib/cpumask.c: In function 'cpumask_next_and': lib/cpumask.c:39:9: error: implicit declaration of function 'find_next_and_bit' [-Werror=implicit-function-declaration] return find_next_and_bit(cpumask_bits(src1p), cpumask_bits(src2p), ^ cc1: some warnings being treated as errors Introduced by commit 1eae9bb7e6f2 ("lib: optimize cpumask_next_and()") I have reverted that commit for today. -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) produced this warning: lib/cpumask.c: In function 'cpumask_next_and': lib/cpumask.c:39:9: error: implicit declaration of function 'find_next_and_bit' [-Werror=implicit-function-declaration] return find_next_and_bit(cpumask_bits(src1p), cpumask_bits(src2p), ^ cc1: some warnings being treated as errors Introduced by commit 1eae9bb7e6f2 ("lib: optimize cpumask_next_and()") I have reverted that commit for today. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the akpm tree
On Tue, Aug 1, 2017 at 8:40 PM, Kees Cookwrote: >> >> 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
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
On Mon, Jul 31, 2017 at 11:25 PM, Stephen Rothwellwrote: > 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
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
linux-next: build failure after merge of the akpm tree
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. -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
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. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the akpm tree
From: Stephen RothwellDate: 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
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
Hi all, On Fri, 30 Jun 2017 16:32:41 +1000 Stephen Rothwellwrote: > > 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
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
linux-next: build failure after merge of the akpm tree
Hi all, 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 RothwellDate: 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 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi all, 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 -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the akpm tree
Hi Michal, On Mon, 26 Jun 2017 09:13:46 +0200 Michal Hockowrote: > > 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
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
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
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
linux-next: build failure after merge of the akpm tree
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): From: Stephen RothwellDate: 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
linux-next: build failure after merge of the akpm tree
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): 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
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: fs/gfs2/bmap.c: In function 'sweep_bh_for_rgrps': fs/gfs2/bmap.c:1075:5: error: 'CURRENT_TIME' undeclared (first use in this function) CURRENT_TIME; ^ fs/gfs2/bmap.c:1075:5: note: each undeclared identifier is reported only once for each function it appears in fs/gfs2/bmap.c: In function 'trunc_dealloc': fs/gfs2/bmap.c:1296:47: error: 'CURRENT_TIME' undeclared (first use in this function) ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; ^ Caused by patch "time: delete CURRENT_TIME_SEC and CURRENT_TIME" interacting with commit d552a2b9b33e ("GFS2: Non-recursive delete") from the gfs2 tree. I have applied the following fix patch for today: From: Stephen RothwellDate: Thu, 20 Apr 2017 16:14:15 +1000 Subject: [PATCH] gfs2: replace CURRENT_TIME with current_time Signed-off-by: Stephen Rothwell --- fs/gfs2/bmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index 3814a60e0aea..4d810be532dd 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c @@ -1072,7 +1072,7 @@ static int sweep_bh_for_rgrps(struct gfs2_inode *ip, struct gfs2_holder *rd_gh, /* Every transaction boundary, we rewrite the dinode to keep its di_blocks current in case of failure. */ ip->i_inode.i_mtime = ip->i_inode.i_ctime = - CURRENT_TIME; + current_time(>i_inode); gfs2_trans_add_meta(ip->i_gl, dibh); gfs2_dinode_out(ip, dibh->b_data); up_write(>i_rw_mutex); @@ -1293,7 +1293,7 @@ static int trunc_dealloc(struct gfs2_inode *ip, u64 newsize) gfs2_statfs_change(sdp, 0, +btotal, 0); gfs2_quota_change(ip, -(s64)btotal, ip->i_inode.i_uid, ip->i_inode.i_gid); - ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; + ip->i_inode.i_mtime = ip->i_inode.i_ctime = current_time(>i_inode); gfs2_trans_add_meta(ip->i_gl, dibh); gfs2_dinode_out(ip, dibh->b_data); up_write(>i_rw_mutex); -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: fs/gfs2/bmap.c: In function 'sweep_bh_for_rgrps': fs/gfs2/bmap.c:1075:5: error: 'CURRENT_TIME' undeclared (first use in this function) CURRENT_TIME; ^ fs/gfs2/bmap.c:1075:5: note: each undeclared identifier is reported only once for each function it appears in fs/gfs2/bmap.c: In function 'trunc_dealloc': fs/gfs2/bmap.c:1296:47: error: 'CURRENT_TIME' undeclared (first use in this function) ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; ^ Caused by patch "time: delete CURRENT_TIME_SEC and CURRENT_TIME" interacting with commit d552a2b9b33e ("GFS2: Non-recursive delete") from the gfs2 tree. I have applied the following fix patch for today: From: Stephen Rothwell Date: Thu, 20 Apr 2017 16:14:15 +1000 Subject: [PATCH] gfs2: replace CURRENT_TIME with current_time Signed-off-by: Stephen Rothwell --- fs/gfs2/bmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index 3814a60e0aea..4d810be532dd 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c @@ -1072,7 +1072,7 @@ static int sweep_bh_for_rgrps(struct gfs2_inode *ip, struct gfs2_holder *rd_gh, /* Every transaction boundary, we rewrite the dinode to keep its di_blocks current in case of failure. */ ip->i_inode.i_mtime = ip->i_inode.i_ctime = - CURRENT_TIME; + current_time(>i_inode); gfs2_trans_add_meta(ip->i_gl, dibh); gfs2_dinode_out(ip, dibh->b_data); up_write(>i_rw_mutex); @@ -1293,7 +1293,7 @@ static int trunc_dealloc(struct gfs2_inode *ip, u64 newsize) gfs2_statfs_change(sdp, 0, +btotal, 0); gfs2_quota_change(ip, -(s64)btotal, ip->i_inode.i_uid, ip->i_inode.i_gid); - ip->i_inode.i_mtime = ip->i_inode.i_ctime = CURRENT_TIME; + ip->i_inode.i_mtime = ip->i_inode.i_ctime = current_time(>i_inode); gfs2_trans_add_meta(ip->i_gl, dibh); gfs2_dinode_out(ip, dibh->b_data); up_write(>i_rw_mutex); -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: arch/x86/kernel/kprobes/opt.c: In function 'arch_prepare_optimized_kprobe': arch/x86/kernel/kprobes/opt.c:357:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)buf & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/opt.c:380:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)buf & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/core.c: In function 'arch_copy_kprobe': arch/x86/kernel/kprobes/core.c:424:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)p->ainsn.insn & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/core.c:437:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)p->ainsn.insn & PAGE_MASK, 1); ^ Probably caused by commit f276e80d1e7b ("treewide: decouple cacheflush.h and set_memory.h") interacting with commit d0381c81c2f7 ("kprobes/x86: Set kprobes pages read-only") from the tip tree. I applied this merge fix patch: From: Stephen RothwellDate: Tue, 18 Apr 2017 17:59:09 +1000 Subject: [PATCH] kprobes/x86: merge fix for set_memory.h decoupling Signed-off-by: Stephen Rothwell --- arch/x86/kernel/kprobes/core.c | 1 + arch/x86/kernel/kprobes/opt.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 19e1f2a6d7b0..5b2bbfbb3712 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c @@ -61,6 +61,7 @@ #include #include #include +#include #include "common.h" diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c index 9aadff3d0902..901c640d152f 100644 --- a/arch/x86/kernel/kprobes/opt.c +++ b/arch/x86/kernel/kprobes/opt.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "common.h" -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi all, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: arch/x86/kernel/kprobes/opt.c: In function 'arch_prepare_optimized_kprobe': arch/x86/kernel/kprobes/opt.c:357:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)buf & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/opt.c:380:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)buf & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/core.c: In function 'arch_copy_kprobe': arch/x86/kernel/kprobes/core.c:424:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)p->ainsn.insn & PAGE_MASK, 1); ^ arch/x86/kernel/kprobes/core.c:437:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)p->ainsn.insn & PAGE_MASK, 1); ^ Probably caused by commit f276e80d1e7b ("treewide: decouple cacheflush.h and set_memory.h") interacting with commit d0381c81c2f7 ("kprobes/x86: Set kprobes pages read-only") from the tip tree. I applied this merge fix patch: From: Stephen Rothwell Date: Tue, 18 Apr 2017 17:59:09 +1000 Subject: [PATCH] kprobes/x86: merge fix for set_memory.h decoupling Signed-off-by: Stephen Rothwell --- arch/x86/kernel/kprobes/core.c | 1 + arch/x86/kernel/kprobes/opt.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 19e1f2a6d7b0..5b2bbfbb3712 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c @@ -61,6 +61,7 @@ #include #include #include +#include #include "common.h" diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c index 9aadff3d0902..901c640d152f 100644 --- a/arch/x86/kernel/kprobes/opt.c +++ b/arch/x86/kernel/kprobes/opt.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "common.h" -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: mm/migrate.c: In function 'migrate_vma_insert_page': mm/migrate.c:2491:23: error: passing argument 2 of 'pud_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] pudp = pud_alloc(mm, pgdp, addr); ^ In file included from include/linux/migrate.h:4:0, from mm/migrate.c:15: include/linux/mm.h:1677:22: note: expected 'p4d_t * {aka struct *}' but argument is of type 'pgd_t * {aka struct *}' static inline pud_t *pud_alloc(struct mm_struct *mm, p4d_t *p4d, ^ Caused by patch "mm/migrate: allow migrate_vma() to alloc new page on empty entry" interacting with commit c2febafc6773 ("mm: convert generic code to 5-level paging") from Linus' tree (v4.11-rc2). I applied the following fix patch: From: Stephen RothwellDate: Mon, 10 Apr 2017 17:09:15 +1000 Subject: [PATCH] mm/migrate: allow migrate_vma() to alloc new page on empty entry fix Signed-off-by: Stephen Rothwell --- mm/migrate.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/migrate.c b/mm/migrate.c index e4b555f9a689..7958dfa01b16 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2478,6 +2478,7 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, struct mem_cgroup *memcg; spinlock_t *ptl; pgd_t *pgdp; + p4d_t *p4dp; pud_t *pudp; pmd_t *pmdp; pte_t *ptep; @@ -2488,7 +2489,10 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, goto abort; pgdp = pgd_offset(mm, addr); - pudp = pud_alloc(mm, pgdp, addr); + p4dp = p4d_alloc(mm, pgdp, addr); + if (!p4dp) + goto abort; + pudp = pud_alloc(mm, p4dp, addr); if (!pudp) goto abort; pmdp = pmd_alloc(mm, pudp, addr); -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (x86_64 allmodconfig) failed like this: mm/migrate.c: In function 'migrate_vma_insert_page': mm/migrate.c:2491:23: error: passing argument 2 of 'pud_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] pudp = pud_alloc(mm, pgdp, addr); ^ In file included from include/linux/migrate.h:4:0, from mm/migrate.c:15: include/linux/mm.h:1677:22: note: expected 'p4d_t * {aka struct *}' but argument is of type 'pgd_t * {aka struct *}' static inline pud_t *pud_alloc(struct mm_struct *mm, p4d_t *p4d, ^ Caused by patch "mm/migrate: allow migrate_vma() to alloc new page on empty entry" interacting with commit c2febafc6773 ("mm: convert generic code to 5-level paging") from Linus' tree (v4.11-rc2). I applied the following fix patch: From: Stephen Rothwell Date: Mon, 10 Apr 2017 17:09:15 +1000 Subject: [PATCH] mm/migrate: allow migrate_vma() to alloc new page on empty entry fix Signed-off-by: Stephen Rothwell --- mm/migrate.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/migrate.c b/mm/migrate.c index e4b555f9a689..7958dfa01b16 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2478,6 +2478,7 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, struct mem_cgroup *memcg; spinlock_t *ptl; pgd_t *pgdp; + p4d_t *p4dp; pud_t *pudp; pmd_t *pmdp; pte_t *ptep; @@ -2488,7 +2489,10 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, goto abort; pgdp = pgd_offset(mm, addr); - pudp = pud_alloc(mm, pgdp, addr); + p4dp = p4d_alloc(mm, pgdp, addr); + if (!p4dp) + goto abort; + pudp = pud_alloc(mm, p4dp, addr); if (!pudp) goto abort; pmdp = pmd_alloc(mm, pudp, addr); -- 2.11.0 -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the akpm tree
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
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
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
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
linux-next: build failure after merge of the akpm tree
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: From: Stephen RothwellDate: 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
linux-next: build failure after merge of the akpm tree
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: 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
Re: linux-next: build failure after merge of the akpm tree
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
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
linux-next: build failure after merge of the akpm tree
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 fs/cifs/cifsfs.c:41: 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
linux-next: build failure after merge of the akpm tree
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 fs/cifs/cifsfs.c:41: 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
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) failed like this: arch/arm/kernel/machine_kexec.c: In function 'machine_kexec': arch/arm/kernel/machine_kexec.c:163:2: error: implicit declaration of function 'set_kernel_text_rw' [-Werror=implicit-function-declaration] set_kernel_text_rw(); ^ Caused by patches treewide: move set_memory_* functions away from cacheflush.h treewide: decouple cacheflush.h and set_memory.h I have added this fix patch: From: Stephen RothwellDate: Tue, 7 Mar 2017 13:28:38 +1100 Subject: [PATCH] treewide-decouple-cacheflushh-and-set_memoryh-fix-7 Signed-off-by: Stephen Rothwell --- arch/arm/kernel/machine_kexec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index b18c1ea56bed..80f48f522b0c 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include -- 2.11.0 Which lead to (again in the arm multi_v7_defconfig build): drivers/misc/sram-exec.c: In function 'sram_exec_copy': drivers/misc/sram-exec.c:93:2: error: implicit declaration of function 'set_memory_nx' [-Werror=implicit-function-declaration] set_memory_nx((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:94:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:98:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:99:2: error: implicit declaration of function 'set_memory_x' [-Werror=implicit-function-declaration] set_memory_x((unsigned long)base, pages); ^ For which I added: From: Stephen Rothwell Date: Tue, 7 Mar 2017 13:34:58 +1100 Subject: [PATCH] treewide-decouple-cacheflushh-and-set_memoryh-fix-8 Signed-off-by: Stephen Rothwell --- drivers/misc/sram-exec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/sram-exec.c b/drivers/misc/sram-exec.c index ac522417c462..225300bb5510 100644 --- a/drivers/misc/sram-exec.c +++ b/drivers/misc/sram-exec.c @@ -19,6 +19,7 @@ #include #include +#include #include "sram.h" -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) failed like this: arch/arm/kernel/machine_kexec.c: In function 'machine_kexec': arch/arm/kernel/machine_kexec.c:163:2: error: implicit declaration of function 'set_kernel_text_rw' [-Werror=implicit-function-declaration] set_kernel_text_rw(); ^ Caused by patches treewide: move set_memory_* functions away from cacheflush.h treewide: decouple cacheflush.h and set_memory.h I have added this fix patch: From: Stephen Rothwell Date: Tue, 7 Mar 2017 13:28:38 +1100 Subject: [PATCH] treewide-decouple-cacheflushh-and-set_memoryh-fix-7 Signed-off-by: Stephen Rothwell --- arch/arm/kernel/machine_kexec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index b18c1ea56bed..80f48f522b0c 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include -- 2.11.0 Which lead to (again in the arm multi_v7_defconfig build): drivers/misc/sram-exec.c: In function 'sram_exec_copy': drivers/misc/sram-exec.c:93:2: error: implicit declaration of function 'set_memory_nx' [-Werror=implicit-function-declaration] set_memory_nx((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:94:2: error: implicit declaration of function 'set_memory_rw' [-Werror=implicit-function-declaration] set_memory_rw((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:98:2: error: implicit declaration of function 'set_memory_ro' [-Werror=implicit-function-declaration] set_memory_ro((unsigned long)base, pages); ^ drivers/misc/sram-exec.c:99:2: error: implicit declaration of function 'set_memory_x' [-Werror=implicit-function-declaration] set_memory_x((unsigned long)base, pages); ^ For which I added: From: Stephen Rothwell Date: Tue, 7 Mar 2017 13:34:58 +1100 Subject: [PATCH] treewide-decouple-cacheflushh-and-set_memoryh-fix-8 Signed-off-by: Stephen Rothwell --- drivers/misc/sram-exec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/sram-exec.c b/drivers/misc/sram-exec.c index ac522417c462..225300bb5510 100644 --- a/drivers/misc/sram-exec.c +++ b/drivers/misc/sram-exec.c @@ -19,6 +19,7 @@ #include #include +#include #include "sram.h" -- 2.11.0 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) failed like this: lib/radix-tree.c: In function 'radix_tree_iter_delete': lib/radix-tree.c:1952:3: error: too few arguments to function '__radix_tree_delete_node' __radix_tree_delete_node(root, node); ^ lib/radix-tree.c:1936:6: note: declared here void __radix_tree_delete_node(struct radix_tree_root *root, ^ Caused by patch "Reimplement IDR and IDA using the radix tree" interacting with commit ea07b862ac8e ("mm: workingset: fix use-after-free in shadow node shrinker") from Linus' tree. I applied the following fixup patch (which may not be entirely complete, of course). From: Stephen RothwellDate: Mon, 9 Jan 2017 15:05:08 +1100 Subject: [PATCH] mm: merge fixup for "fix use-after-free in shadow node shrinker" Signed-off-by: Stephen Rothwell --- lib/radix-tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/radix-tree.c b/lib/radix-tree.c index e563b5f50ace..4a8d206d508a 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -1949,7 +1949,7 @@ void radix_tree_iter_delete(struct radix_tree_root *root, if (node) { node->slots[iter_offset(iter)] = NULL; node->count--; - __radix_tree_delete_node(root, node); + __radix_tree_delete_node(root, node, NULL, NULL); } else { root->rnode = NULL; } -- 2.10.2 -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the akpm tree
Hi Andrew, After merging the akpm tree, today's linux-next build (arm multi_v7_defconfig) failed like this: lib/radix-tree.c: In function 'radix_tree_iter_delete': lib/radix-tree.c:1952:3: error: too few arguments to function '__radix_tree_delete_node' __radix_tree_delete_node(root, node); ^ lib/radix-tree.c:1936:6: note: declared here void __radix_tree_delete_node(struct radix_tree_root *root, ^ Caused by patch "Reimplement IDR and IDA using the radix tree" interacting with commit ea07b862ac8e ("mm: workingset: fix use-after-free in shadow node shrinker") from Linus' tree. I applied the following fixup patch (which may not be entirely complete, of course). From: Stephen Rothwell Date: Mon, 9 Jan 2017 15:05:08 +1100 Subject: [PATCH] mm: merge fixup for "fix use-after-free in shadow node shrinker" Signed-off-by: Stephen Rothwell --- lib/radix-tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/radix-tree.c b/lib/radix-tree.c index e563b5f50ace..4a8d206d508a 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -1949,7 +1949,7 @@ void radix_tree_iter_delete(struct radix_tree_root *root, if (node) { node->slots[iter_offset(iter)] = NULL; node->count--; - __radix_tree_delete_node(root, node); + __radix_tree_delete_node(root, node, NULL, NULL); } else { root->rnode = NULL; } -- 2.10.2 -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the akpm tree
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
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
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
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
On Mon, Jan 25, 2016 at 02:45:55PM +0100, Takashi Iwai wrote: > Below is the revised one. Acked-by: Vinod KoulThanks for fixing this up... -- ~Vinod
Re: linux-next: build failure after merge of the akpm tree
Hi Takashi, On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwaiwrote: > > 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
On Tue, 26 Jan 2016 21:51:30 +0100, Stephen Rothwell wrote: > > Hi Takashi, > > On Mon, 25 Jan 2016 14:45:55 +0100 Takashi Iwaiwrote: > > > > 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
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
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
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
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
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
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