mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
tmpfs: fix oops on mounts with mpol=default
Fix an 'oops' when a tmpfs mount point is mounted with the mpol=default mempolicy. Upon remounting a tmpfs mount point with 'mpol=default' option, the mount code crashed with a null pointer dereference. The initial problem report was on 2.6.27, but the problem exists in mainline 2.6.34-rc as well. On examining the code, we see that mpol_new returns NULL if default mempolicy was requested. This 'NULL' mempolicy is accessed to store the node mask resulting in oops. The following patch fixes it. Signed-off-by: Ravikiran Thirumalai <[email protected]> Signed-off-by: KOSAKI Motohiro <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Mel Gorman <[email protected]> Acked-by: Lee Schermerhorn <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
8c363afe94
commit
413b43deab
1 changed files with 7 additions and 2 deletions
|
|
@ -2215,10 +2215,15 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
|
|||
goto out;
|
||||
mode = MPOL_PREFERRED;
|
||||
break;
|
||||
|
||||
case MPOL_DEFAULT:
|
||||
/*
|
||||
* Insist on a empty nodelist
|
||||
*/
|
||||
if (!nodelist)
|
||||
err = 0;
|
||||
goto out;
|
||||
/*
|
||||
* case MPOL_BIND: mpol_new() enforces non-empty nodemask.
|
||||
* case MPOL_DEFAULT: mpol_new() enforces empty nodemask, ignores flags.
|
||||
*/
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue