mm/shmem.c: ret can be used uninitialized
Subsystems (2)
PATCH 1/1 mm/shmem.c: ret can be used uninitialized
Quoted 1 line
From
6c4eb2ce2849308c4a745ec1f93001e5064a469cMon Sep 17 00:00:00 2001
From: Serge Hallyn <[email protected]>
Date: Wed, 11 Jun 2008 11:20:28 -0500
Subject: [PATCH -mm] mm/shmem.c: ret can be used uninitialized
Make sure ret is defined before check at line 1408.
--- mm/shmem.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
mm/shmem.c +1 -1
@@ -1365,7 +1365,7 @@ repeat: }if (!filepage) { -int ret; +int ret =0 ;spin_unlock (&info->lock); filepage =shmem_alloc_page (gfp, info, idx);
Signature · 1 line
1.5.4.3
Andrew Morton
maintainerQuoted 17 lines · On Wed, 11 Jun 2008 14:37:29 -0500 "Serge E. Hallyn" <[email protected]> wrote:
Quoted 1 line
From
6c4eb2ce2849308c4a745ec1f93001e5064a469cMon Sep 17 00:00:00 2001From: Serge Hallyn <[email protected]>
Date: Wed, 11 Jun 2008 11:20:28 -0500
Subject: [PATCH -mm]mm/shmem.c: ret can be used uninitializedMake sure ret is defined before check at line 1408.
Signed-off-by Serge Hallyn <[email protected]>--- mm/shmem.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)mm/shmem.c +0
-0
mm/shmem.c repeat: · line 1371
Quoted 8 lines
mm/shmem.c +1
-1@@ -1365,7 +1365,7 @@ repeat: }if (!filepage) { -int ret; +int ret =0 ;spin_unlock (&info->lock); filepage =shmem_alloc_page (gfp, info, idx);
Well yes. But it adds more text and uncommentedly adds an unnecessary initialisation.
With a wee bit of thought we can _reduce_ the amount of text and not add unnecessary stuff?
mm/shmem.c renamed from mm/shmem.c~memcg-remove-refcnt-from-page_cgroup-fix-2 +3 -2
@@ -1396,7 +1396,8 @@ repeat: swap = *entry;shmem_swp_unmap (entry); } -if (error || swap.val) + ret = error || swap.val; +if (ret)mem_cgroup_uncharge_cache_page (filepage);else ret = add_to_page_cache_lru(filepage, mapping,
@@ -1405,7 +1406,7 @@ repeat:* At add_to_page_cache_lru() failure, uncharge will * be done automatically. */ -if (error || swap.val || ret) { +if (ret) {spin_unlock (&info->lock);page_cache_release (filepage);shmem_unacct_blocks (info->flags,1 );
_
Quoted 55 lines · Andrew Morton
Quoted 17 lines · On Wed, 11 Jun 2008 14:37:29 -0500 "Serge E. Hallyn" <[email protected]> wrote:
Quoted 1 line
From
6c4eb2ce2849308c4a745ec1f93001e5064a469cMon Sep 17 00:00:00 2001From: Serge Hallyn <[email protected]>
Date: Wed, 11 Jun 2008 11:20:28 -0500
Subject: [PATCH -mm]mm/shmem.c: ret can be used uninitializedMake sure ret is defined before check at line 1408.
Signed-off-by Serge Hallyn <[email protected]>--- mm/shmem.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)mm/shmem.c +0
-0mm/shmem.c repeat: · line 1371
Quoted 8 lines
mm/shmem.c +1
-1@@ -1365,7 +1365,7 @@ repeat: }if (!filepage) { -int ret; +int ret =0 ;spin_unlock (&info->lock); filepage =shmem_alloc_page (gfp, info, idx);Well yes. But it adds more text and uncommentedly adds an unnecessary initialisation.
With a wee bit of thought we can _reduce_ the amount of text and not add unnecessary stuff?
mm/shmem.c renamed from mm/shmem.c~memcg-remove-refcnt-from-page_cgroup-fix-2 +3
-2@@ -1396,7 +1396,8 @@ repeat: swap = *entry;shmem_swp_unmap (entry); } -if (error || swap.val) + ret = error || swap.val; +if (ret)mem_cgroup_uncharge_cache_page (filepage);else ret = add_to_page_cache_lru(filepage, mapping,@@ -1405,7 +1406,7 @@ repeat:* At add_to_page_cache_lru() failure, uncharge will * be done automatically. */ -if (error || swap.val || ret) { +if (ret) {spin_unlock (&info->lock);page_cache_release (filepage);shmem_unacct_blocks (info->flags,1 );
Quoted 1 line
_
Neat.
-serge