forked from mirrors/linux
		
	mempolicy: don't call mpol_set_nodemask() when no_context
No need to call mpol_set_nodemask() when we have no context for the mempolicy. This can occur when we're parsing a tmpfs 'mpol' mount option. Just save the raw nodemask in the mempolicy's w.user_nodemask member for use when a tmpfs/shmem file is created. mpol_shared_policy_init() will "contextualize" the policy for the new file based on the creating task's context. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com> Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: Ravikiran Thirumalai <kiran@scalex86.org> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Christoph Lameter <cl@linux-foundation.org> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									1980050250
								
							
						
					
					
						commit
						e17f74af35
					
				
					 1 changed files with 4 additions and 5 deletions
				
			
		| 
						 | 
					@ -2239,7 +2239,10 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
 | 
				
			||||||
	if (IS_ERR(new))
 | 
						if (IS_ERR(new))
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	{
 | 
						if (no_context) {
 | 
				
			||||||
 | 
							/* save for contextualization */
 | 
				
			||||||
 | 
							new->w.user_nodemask = nodes;
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
		int ret;
 | 
							int ret;
 | 
				
			||||||
		NODEMASK_SCRATCH(scratch);
 | 
							NODEMASK_SCRATCH(scratch);
 | 
				
			||||||
		if (scratch) {
 | 
							if (scratch) {
 | 
				
			||||||
| 
						 | 
					@ -2255,10 +2258,6 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	err = 0;
 | 
						err = 0;
 | 
				
			||||||
	if (no_context) {
 | 
					 | 
				
			||||||
		/* save for contextualization */
 | 
					 | 
				
			||||||
		new->w.user_nodemask = nodes;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
out:
 | 
					out:
 | 
				
			||||||
	/* Restore string for error message */
 | 
						/* Restore string for error message */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue