diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-03 00:09:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-03 00:09:10 -0400 |
commit | 8fe74cf053de7ad2124a894996f84fa890a81093 (patch) | |
tree | 77dcd8fbf33ce53a3821942233962fb28c6f2848 /fs/nfsd/nfssvc.c | |
parent | c2eb2fa6d2b6fe122d3479ec5b28d978418b2698 (diff) | |
parent | ced117c73edc917e96dea7cca98c91383f0792f7 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
Remove two unneeded exports and make two symbols static in fs/mpage.c
Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225
Trim includes of fdtable.h
Don't crap into descriptor table in binfmt_som
Trim includes in binfmt_elf
Don't mess with descriptor table in load_elf_binary()
Get rid of indirect include of fs_struct.h
New helper - current_umask()
check_unsafe_exec() doesn't care about signal handlers sharing
New locking/refcounting for fs_struct
Take fs_struct handling to new file (fs/fs_struct.c)
Get rid of bumping fs_struct refcount in pivot_root(2)
Kill unsharing fs_struct in __set_personality()
Diffstat (limited to 'fs/nfsd/nfssvc.c')
-rw-r--r-- | fs/nfsd/nfssvc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index bc3567bab8c4..7c09852be713 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c | |||
@@ -403,7 +403,6 @@ static int | |||
403 | nfsd(void *vrqstp) | 403 | nfsd(void *vrqstp) |
404 | { | 404 | { |
405 | struct svc_rqst *rqstp = (struct svc_rqst *) vrqstp; | 405 | struct svc_rqst *rqstp = (struct svc_rqst *) vrqstp; |
406 | struct fs_struct *fsp; | ||
407 | int err, preverr = 0; | 406 | int err, preverr = 0; |
408 | 407 | ||
409 | /* Lock module and set up kernel thread */ | 408 | /* Lock module and set up kernel thread */ |
@@ -412,13 +411,11 @@ nfsd(void *vrqstp) | |||
412 | /* At this point, the thread shares current->fs | 411 | /* At this point, the thread shares current->fs |
413 | * with the init process. We need to create files with a | 412 | * with the init process. We need to create files with a |
414 | * umask of 0 instead of init's umask. */ | 413 | * umask of 0 instead of init's umask. */ |
415 | fsp = copy_fs_struct(current->fs); | 414 | if (unshare_fs_struct() < 0) { |
416 | if (!fsp) { | ||
417 | printk("Unable to start nfsd thread: out of memory\n"); | 415 | printk("Unable to start nfsd thread: out of memory\n"); |
418 | goto out; | 416 | goto out; |
419 | } | 417 | } |
420 | exit_fs(current); | 418 | |
421 | current->fs = fsp; | ||
422 | current->fs->umask = 0; | 419 | current->fs->umask = 0; |
423 | 420 | ||
424 | /* | 421 | /* |