include/linux/slab_def.h:135:27: warning: array subscript
PATCH 28/30 include/linux/slab_def.h:135:27: warning: array subscript
Hi Christoph,
FYI, there are new compile warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/glommer/memcg.git slab-common/kmalloc head: f957c1ead131972db578b945e25982f4607da6ba commit: 55a6b9f968a877c728ed6e438fa68741a7711d89 [28/30] CK1 [12/13] Common names for the array of kmalloc caches config: blackfin-BF533-EZKIT_defconfig
All warnings:
In file included from include/linux/slab.h:314:0,
from include/linux/proc_fs.h:4,
from fs/proc/stat.c:6:fs/proc/stat.c: In function 'stat_open':include/linux/slab_def.h:135:27: warning: array subscript is above array bounds [-Warray-bounds]
vim +135 include/linux/slab_def.h
36555751 (Eduard - Gabriel Munteanu 2008-08-10 119) struct kmem_cache *cachep;
36555751 (Eduard - Gabriel Munteanu 2008-08-10 120) void *ret;
36555751 (Eduard - Gabriel Munteanu 2008-08-10 121)
2e892f43 (Christoph Lameter 2006-12-13 122) if (__builtin_constant_p(size)) {
9e396407 (Christoph Lameter 2012-09-26 123) int i;
6cb8f913 (Christoph Lameter 2007-07-17 124)
6cb8f913 (Christoph Lameter 2007-07-17 125) if (!size)
6cb8f913 (Christoph Lameter 2007-07-17 126) return ZERO_SIZE_PTR;
6cb8f913 (Christoph Lameter 2007-07-17 127)
9e396407 (Christoph Lameter 2012-09-26 128) i = kmalloc_index(size);
9e396407 (Christoph Lameter 2012-09-26 129)
4b51d669 (Christoph Lameter 2007-02-10 130) #ifdef CONFIG_ZONE_DMA
4b51d669 (Christoph Lameter 2007-02-10 131) if (flags & GFP_DMA)
24e75516 (Christoph Lameter 2012-09-26 132) cachep = kmalloc_dma_caches[i];
36555751 (Eduard - Gabriel Munteanu 2008-08-10 133) else
4b51d669 (Christoph Lameter 2007-02-10 134) #endif
24e75516 (Christoph Lameter 2012-09-26 @135) cachep = kmalloc_caches[i];
36555751 (Eduard - Gabriel Munteanu 2008-08-10 136)
85beb586 (Steven Rostedt 2010-11-24 137) ret = kmem_cache_alloc_trace(size, cachep, flags);
36555751 (Eduard - Gabriel Munteanu 2008-08-10 138)
36555751 (Eduard - Gabriel Munteanu 2008-08-10 139) return ret;
2e892f43 (Christoph Lameter 2006-12-13 140) }
2e892f43 (Christoph Lameter 2006-12-13 141) return __kmalloc(size, flags);
2e892f43 (Christoph Lameter 2006-12-13 142) }
2e892f43 (Christoph Lameter 2006-12-13 143) ---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu, Yuanhan Liu Intel Corporation
Re: [glommer-memcg:slab-common/kmalloc 28/30] mm/slab.c:2409:14: error: 'malloc_sizes' undeclared
Quoted 11 lines · Fengguang Wu
tree: git://git.kernel.org/pub/scm/linux/kernel/git/glommer/memcg.git slab-common/kmalloc head: f957c1ead131972db578b945e25982f4607da6ba commit: 55a6b9f968a877c728ed6e438fa68741a7711d89 [28/30] CK1 [12/13] Common names for the array of kmalloc caches config: x86_64-allyesdebian (attached as .config)All error/warnings:
mm/slab.c: In function '__kmem_cache_create':mm/slab.c:2409:14: error: 'malloc_sizes' undeclared (first use in this function)mm/slab.c:2409:14: note: each undeclared identifier is reported only once for each function it appears inmm/slab.c:2410:102: error: 'align' undeclared (first use in this function)
Fixed by this patch:
Index: linux/mm/slab.c
=================================--- linux.orig/mm/slab.c 2012-09-28 12:20:41.504733528 -0500
+++ linux/mm/slab.c 2012-09-28 12:20:12.732133191 -0500
@@ -2406,7 +2406,7 @@ __kmem_cache_create (struct kmem_cache *
size += BYTES_PER_WORD;
}
#if FORCED_DEBUG && defined(CONFIG_DEBUG_PAGEALLOC)
- if (size >= malloc_sizes[INDEX_L3 + 1].cs_size
+ if (size >= kmalloc_size(INDEX_L3 + 1))
&& cachep->object_size > cache_line_size() && ALIGN(size, align) < PAGE_SIZE) {
cachep->obj_offset += PAGE_SIZE - ALIGN(size, align);
size = PAGE_SIZE;
Will be folded into the patchset for the next release.
Re: [glommer-memcg:slab-common/kmalloc 28/30] include/linux/slab_def.h:135:27: warning: array subscr
In reply to Fengguang WuQuoted 1 line · Fengguang Wu
commit:
55a6b9f968a877c728ed6e438fa68741a7711d89[28/30] CK1 [12/13] Common names for the array of kmalloc caches
Is this issue really caused by the specified commit? I do not see how the patch can cause such a problem.
Re: [glommer-memcg:slab-common/kmalloc 28/30] include/linux/slab_def.h:135:27: warning: array subscr
In reply to Fengguang WuQuoted 6 lines · Christoph Lameter
Quoted 1 line · Fengguang Wu
commit:
55a6b9f968a877c728ed6e438fa68741a7711d89[28/30] CK1 [12/13] Common names for the array of kmalloc cachesIs this issue really caused by the specified commit? I do not see how the patch can cause such a problem.
It should be a wrong bisection. Sorry. I checked manually and find that the previous commit stopped early at this error:
In file included from /c/kernel-tests/src/next/include/linux/slab.h:309:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4,
from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/include/linux/slab_def.h: In function 'kmalloc':
/c/kernel-tests/src/next/include/linux/slab_def.h:132:13: error: 'kmalloc_dma_caches' undeclared (first use in this function) /c/kernel-tests/src/next/include/linux/slab_def.h:132:13: note: each undeclared identifier is reported only once for each function it appears in /c/kernel-tests/src/next/include/linux/slab_def.h:135:13: error: 'kmalloc_caches' undeclared (first use in this function)
Thus the warning was "hide" until the current commit:
In file included from /c/kernel-tests/src/next/include/linux/slab.h:314:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4,
from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/fs/proc/stat.c: In function 'stat_open':
/c/kernel-tests/src/next/include/linux/slab_def.h:135:27: warning: array subscript is above array bounds [-Warray-bounds]
Thanks,
Fengguang
Re: [glommer-memcg:slab-common/kmalloc 28/30] include/linux/slab_def.h:135:27: warning: array subscr
In reply to Fengguang WuQuoted 19 lines · Fengguang Wu
Quoted 6 lines · Christoph Lameter
Quoted 1 line · Fengguang Wu
commit:
55a6b9f968a877c728ed6e438fa68741a7711d89[28/30] CK1 [12/13] Common names for the array of kmalloc cachesIs this issue really caused by the specified commit? I do not see how the patch can cause such a problem.
It should be a wrong bisection. Sorry. I checked manually and find that the previous commit stopped early at this error:
In file included from /c/kernel-tests/src/next/include/linux/slab.h:309:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4, from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/include/linux/slab_def.h: In function 'kmalloc':
/c/kernel-tests/src/next/include/linux/slab_def.h:132:13: error: 'kmalloc_dma_caches' undeclared (first use in this function) /c/kernel-tests/src/next/include/linux/slab_def.h:132:13: note: each undeclared identifier is reported only once for each function it appears in /c/kernel-tests/src/next/include/linux/slab_def.h:135:13: error: 'kmalloc_caches' undeclared (first use in this function)
Quoted 7 lines
Thus the warning was "hide" until the current commit:
In file included from /c/kernel-tests/src/next/include/linux/slab.h:314:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4, from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/fs/proc/stat.c: In function '
stat_open':
/c/kernel-tests/src/next/include/linux/slab_def.h:135:27: warning: array subscript is above array bounds [-Warray-bounds]
Ok there were some fixes in that area in V2. Could we try again and see if the new version fixes it?
Re: [glommer-memcg:slab-common/kmalloc 28/30] include/linux/slab_def.h:135:27: warning: array subscr
In reply to Fengguang WuQuoted 23 lines · Christoph Lameter
Quoted 21 lines · Fengguang Wu
Quoted 6 lines · Christoph Lameter
Quoted 1 line · Fengguang Wu
commit:
55a6b9f968a877c728ed6e438fa68741a7711d89[28/30] CK1 [12/13] Common names for the array of kmalloc cachesIs this issue really caused by the specified commit? I do not see how the patch can cause such a problem.
It should be a wrong bisection. Sorry. I checked manually and find that the previous commit stopped early at this error:
In file included from /c/kernel-tests/src/next/include/linux/slab.h:309:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4, from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/include/linux/slab_def.h: In function 'kmalloc':
/c/kernel-tests/src/next/include/linux/slab_def.h:132:13: error: 'kmalloc_dma_caches' undeclared (first use in this function) /c/kernel-tests/src/next/include/linux/slab_def.h:132:13: note: each undeclared identifier is reported only once for each function it appears in /c/kernel-tests/src/next/include/linux/slab_def.h:135:13: error: 'kmalloc_caches' undeclared (first use in this function)Thus the warning was "hide" until the current commit:
Quoted 9 lines
Quoted 5 lines
In file included from /c/kernel-tests/src/next/include/linux/slab.h:314:0,
from /c/kernel-tests/src/next/include/linux/proc_fs.h:4, from /c/kernel-tests/src/next/fs/proc/stat.c:6:/c/kernel-tests/src/next/fs/proc/stat.c: In function '
stat_open':
/c/kernel-tests/src/next/include/linux/slab_def.h:135:27: warning: array subscript is above array bounds [-Warray-bounds]Ok there were some fixes in that area in V2. Could we try again and see if the new version fixes it?
I plan to upload a version with your new patches shortly. Sorry, I am trying to get a new version of my memcg-slab series with your feedback incorporated as soon as I can, so I was a bit slow with review yesterday in general.
Re: [glommer-memcg:slab-common/kmalloc 28/30] include/linux/slab_def.h:135:27: warning: array subscr
In reply to Fengguang WuQuoted 4 lines · Glauber Costa
I plan to upload a version with your new patches shortly. Sorry, I am trying to get a new version of my memcg-slab series with your feedback incorporated as soon as I can, so I was a bit slow with review yesterday in general.
Well looks things are moving already much faster then in the past. So do not worry about small delays like that.