diff options
-rw-r--r-- | fs/dcache.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 99d4d7226203..29d58212aaf0 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -3067,6 +3067,7 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size) | |||
3067 | prepend(&cwd, &buflen, "\0", 1); | 3067 | prepend(&cwd, &buflen, "\0", 1); |
3068 | error = prepend_path(&pwd, &root, &cwd, &buflen); | 3068 | error = prepend_path(&pwd, &root, &cwd, &buflen); |
3069 | br_read_unlock(&vfsmount_lock); | 3069 | br_read_unlock(&vfsmount_lock); |
3070 | rcu_read_unlock(); | ||
3070 | 3071 | ||
3071 | if (error < 0) | 3072 | if (error < 0) |
3072 | goto out; | 3073 | goto out; |
@@ -3087,10 +3088,10 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size) | |||
3087 | } | 3088 | } |
3088 | } else { | 3089 | } else { |
3089 | br_read_unlock(&vfsmount_lock); | 3090 | br_read_unlock(&vfsmount_lock); |
3091 | rcu_read_unlock(); | ||
3090 | } | 3092 | } |
3091 | 3093 | ||
3092 | out: | 3094 | out: |
3093 | rcu_read_unlock(); | ||
3094 | free_page((unsigned long) page); | 3095 | free_page((unsigned long) page); |
3095 | return error; | 3096 | return error; |
3096 | } | 3097 | } |