On Tue, 2010-03-16 at 14:52 +0900, KOSAKI Motohiro wrote: > mpol_parse_str() made lots 'err' variable related bug. because > it is ugly and reviewing unfriendly. > > This patch makes simplify it. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> > Cc: Ravikiran Thirumalai <kiran@xxxxxxxxxxxx> > Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> > Cc: Mel Gorman <mel@xxxxxxxxx> > Cc: Lee Schermerhorn <lee.schermerhorn@xxxxxx> > Cc: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxx> Nice cleanup. Acked-by: Lee Schermerhorn <lee.schermerhorn@xxxxxx> > --- > mm/mempolicy.c | 24 ++++++++++++------------ > 1 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 5c197d5..816419d 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -2193,8 +2193,8 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > char *rest = nodelist; > while (isdigit(*rest)) > rest++; > - if (!*rest) > - err = 0; > + if (*rest) > + goto out; > } > break; > case MPOL_INTERLEAVE: > @@ -2203,7 +2203,6 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > */ > if (!nodelist) > nodes = node_states[N_HIGH_MEMORY]; > - err = 0; > break; > case MPOL_LOCAL: > /* > @@ -2212,7 +2211,6 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > if (nodelist) > goto out; > mode = MPOL_PREFERRED; > - err = 0; > break; > case MPOL_DEFAULT: > /* > @@ -2227,7 +2225,6 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > */ > if (!nodelist) > goto out; > - err = 0; > } > > mode_flags = 0; > @@ -2241,13 +2238,14 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > 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) { > @@ -2258,13 +2256,15 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) > 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 */ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>