lkml.org 
[lkml]   [2010]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[85/89] tmpfs: cleanup mpol_parse_str()
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>

    commit 926f2ae04f183098cf9a30521776fb2759c8afeb upstream.

    mpol_parse_str() made lots 'err' variable related bug. Because it is ugly
    and reviewing unfriendly.

    This patch simplifies it.

    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Ravikiran Thirumalai <kiran@scalex86.org>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Acked-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
    Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    mm/mempolicy.c | 24 ++++++++++++------------
    1 file changed, 12 insertions(+), 12 deletions(-)

    --- a/mm/mempolicy.c
    +++ b/mm/mempolicy.c
    @@ -2122,8 +2122,8 @@ int mpol_parse_str(char *str, struct mem
    char *rest = nodelist;
    while (isdigit(*rest))
    rest++;
    - if (!*rest)
    - err = 0;
    + if (*rest)
    + goto out;
    }
    break;
    case MPOL_INTERLEAVE:
    @@ -2132,7 +2132,6 @@ int mpol_parse_str(char *str, struct mem
    */
    if (!nodelist)
    nodes = node_states[N_HIGH_MEMORY];
    - err = 0;
    break;
    case MPOL_LOCAL:
    /*
    @@ -2141,7 +2140,6 @@ int mpol_parse_str(char *str, struct mem
    if (nodelist)
    goto out;
    mode = MPOL_PREFERRED;
    - err = 0;
    break;
    case MPOL_DEFAULT:
    /*
    @@ -2156,7 +2154,6 @@ int mpol_parse_str(char *str, struct mem
    */
    if (!nodelist)
    goto out;
    - err = 0;
    }

    mode_flags = 0;
    @@ -2170,13 +2167,14 @@ int mpol_parse_str(char *str, struct mem
    else if (!strcmp(flags, "relative"))
    mode_flags |= MPOL_F_RELATIVE_NODES;
    else
    - err = 1;
    + goto out;
    }

    new = mpol_new(mode, mode_flags, &nodes);
    if (IS_ERR(new))
    - err = 1;
    - else {
    + goto out;
    +
    + {
    int ret;
    NODEMASK_SCRATCH(scratch);
    if (scratch) {
    @@ -2187,13 +2185,15 @@ int mpol_parse_str(char *str, struct mem
    ret = -ENOMEM;
    NODEMASK_SCRATCH_FREE(scratch);
    if (ret) {
    - err = 1;
    mpol_put(new);
    - } else if (no_context) {
    - /* save for contextualization */
    - new->w.user_nodemask = nodes;
    + goto out;
    }
    }
    + err = 0;
    + if (no_context) {
    + /* save for contextualization */
    + new->w.user_nodemask = nodes;
    + }

    out:
    /* Restore string for error message */



    \
     
     \ /
      Last update: 2010-03-31 01:21    [W:0.021 / U:62.632 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site