* [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma
@ 2012-04-17 12:28 Konstantin Khlebnikov
2012-04-17 14:05 ` Mel Gorman
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Konstantin Khlebnikov @ 2012-04-17 12:28 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-mm, linux-kernel, Mel Gorman
This patch fixes gcc warning (and bug?) introduced in linux-next commit cc9a6c877
("cpuset: mm: reduce large amounts of memory barrier related damage v3")
Local variable "page" can be uninitialized if nodemask from vma policy does not
intersects with nodemask from cpuset. Even if it wouldn't happens it's better to
initialize this variable explicitly than to introduce kernel oops on weird corner case.
mm/hugetlb.c: In function a??alloc_huge_pagea??:
mm/hugetlb.c:1135:5: warning: a??pagea?? may be used uninitialized in this function
Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Mel Gorman <mgorman@suse.de>
---
mm/hugetlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 4314a88..dcf4a55 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -532,7 +532,7 @@ static struct page *dequeue_huge_page_vma(struct hstate *h,
struct vm_area_struct *vma,
unsigned long address, int avoid_reserve)
{
- struct page *page;
+ struct page *page = NULL;
struct mempolicy *mpol;
nodemask_t *nodemask;
struct zonelist *zonelist;
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma
2012-04-17 12:28 [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma Konstantin Khlebnikov
@ 2012-04-17 14:05 ` Mel Gorman
2012-04-17 20:25 ` David Rientjes
2012-04-17 20:57 ` Andrew Morton
2 siblings, 0 replies; 5+ messages in thread
From: Mel Gorman @ 2012-04-17 14:05 UTC (permalink / raw)
To: Konstantin Khlebnikov; +Cc: Andrew Morton, linux-mm, linux-kernel
On Tue, Apr 17, 2012 at 04:28:19PM +0400, Konstantin Khlebnikov wrote:
> This patch fixes gcc warning (and bug?) introduced in linux-next commit cc9a6c877
> ("cpuset: mm: reduce large amounts of memory barrier related damage v3")
>
> Local variable "page" can be uninitialized if nodemask from vma policy does not
> intersects with nodemask from cpuset. Even if it wouldn't happens it's better to
> initialize this variable explicitly than to introduce kernel oops on weird corner case.
>
> mm/hugetlb.c: In function ???alloc_huge_page???:
> mm/hugetlb.c:1135:5: warning: ???page??? may be used uninitialized in this function
>
> Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> Cc: Mel Gorman <mgorman@suse.de>
Acked-by: Mel Gorman <mgorman@suse.de>
--
Mel Gorman
SUSE Labs
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma
2012-04-17 12:28 [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma Konstantin Khlebnikov
2012-04-17 14:05 ` Mel Gorman
@ 2012-04-17 20:25 ` David Rientjes
2012-04-17 20:57 ` Andrew Morton
2 siblings, 0 replies; 5+ messages in thread
From: David Rientjes @ 2012-04-17 20:25 UTC (permalink / raw)
To: Konstantin Khlebnikov; +Cc: Andrew Morton, linux-mm, linux-kernel, Mel Gorman
[-- Attachment #1: Type: TEXT/PLAIN, Size: 848 bytes --]
On Tue, 17 Apr 2012, Konstantin Khlebnikov wrote:
> This patch fixes gcc warning (and bug?) introduced in linux-next commit cc9a6c877
> ("cpuset: mm: reduce large amounts of memory barrier related damage v3")
>
> Local variable "page" can be uninitialized if nodemask from vma policy does not
> intersects with nodemask from cpuset. Even if it wouldn't happens it's better to
> initialize this variable explicitly than to introduce kernel oops on weird corner case.
>
> mm/hugetlb.c: In function a??alloc_huge_pagea??:
> mm/hugetlb.c:1135:5: warning: a??pagea?? may be used uninitialized in this function
>
> Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> Cc: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
This isn't just in -next, it's also in Linus' tree and seems like 3.4-rc4
material to me.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma
2012-04-17 12:28 [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma Konstantin Khlebnikov
2012-04-17 14:05 ` Mel Gorman
2012-04-17 20:25 ` David Rientjes
@ 2012-04-17 20:57 ` Andrew Morton
2012-04-18 5:58 ` Konstantin Khlebnikov
2 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2012-04-17 20:57 UTC (permalink / raw)
To: Konstantin Khlebnikov; +Cc: linux-mm, linux-kernel, Mel Gorman
On Tue, 17 Apr 2012 16:28:19 +0400
Konstantin Khlebnikov <khlebnikov@openvz.org> wrote:
> This patch fixes gcc warning (and bug?) introduced in linux-next commit cc9a6c877
> ("cpuset: mm: reduce large amounts of memory barrier related damage v3")
>
> Local variable "page" can be uninitialized if nodemask from vma policy does not
> intersects with nodemask from cpuset. Even if it wouldn't happens it's better to
> initialize this variable explicitly than to introduce kernel oops on weird corner case.
>
> mm/hugetlb.c: In function ___alloc_huge_page___:
> mm/hugetlb.c:1135:5: warning: ___page___ may be used uninitialized in this function
>
> ...
>
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -532,7 +532,7 @@ static struct page *dequeue_huge_page_vma(struct hstate *h,
> struct vm_area_struct *vma,
> unsigned long address, int avoid_reserve)
> {
> - struct page *page;
> + struct page *page = NULL;
> struct mempolicy *mpol;
> nodemask_t *nodemask;
> struct zonelist *zonelist;
hm, that's a pretty blatant use-uninitialised bug. I wonder why so few
gcc versions report it. Mine doesn't.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma
2012-04-17 20:57 ` Andrew Morton
@ 2012-04-18 5:58 ` Konstantin Khlebnikov
0 siblings, 0 replies; 5+ messages in thread
From: Konstantin Khlebnikov @ 2012-04-18 5:58 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mel Gorman
Andrew Morton wrote:
> On Tue, 17 Apr 2012 16:28:19 +0400
> Konstantin Khlebnikov<khlebnikov@openvz.org> wrote:
>
>> This patch fixes gcc warning (and bug?) introduced in linux-next commit cc9a6c877
>> ("cpuset: mm: reduce large amounts of memory barrier related damage v3")
>>
>> Local variable "page" can be uninitialized if nodemask from vma policy does not
>> intersects with nodemask from cpuset. Even if it wouldn't happens it's better to
>> initialize this variable explicitly than to introduce kernel oops on weird corner case.
>>
>> mm/hugetlb.c: In function ___alloc_huge_page___:
>> mm/hugetlb.c:1135:5: warning: ___page___ may be used uninitialized in this function
>>
>> ...
>>
>> --- a/mm/hugetlb.c
>> +++ b/mm/hugetlb.c
>> @@ -532,7 +532,7 @@ static struct page *dequeue_huge_page_vma(struct hstate *h,
>> struct vm_area_struct *vma,
>> unsigned long address, int avoid_reserve)
>> {
>> - struct page *page;
>> + struct page *page = NULL;
>> struct mempolicy *mpol;
>> nodemask_t *nodemask;
>> struct zonelist *zonelist;
>
> hm, that's a pretty blatant use-uninitialised bug. I wonder why so few
> gcc versions report it. Mine doesn't.
I'm using latest gcc-4.7
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-04-18 5:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-17 12:28 [PATCH linux-next] mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma Konstantin Khlebnikov
2012-04-17 14:05 ` Mel Gorman
2012-04-17 20:25 ` David Rientjes
2012-04-17 20:57 ` Andrew Morton
2012-04-18 5:58 ` Konstantin Khlebnikov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).