diff options
Diffstat (limited to 'kernel/acct.c')
| -rw-r--r-- | kernel/acct.c | 20 | 
1 files changed, 5 insertions, 15 deletions
| diff --git a/kernel/acct.c b/kernel/acct.c index e4c0e1fee9b0..385b88461c29 100644 --- a/kernel/acct.c +++ b/kernel/acct.c | |||
| @@ -216,7 +216,6 @@ static int acct_on(char *name) | |||
| 216 | { | 216 | { | 
| 217 | struct file *file; | 217 | struct file *file; | 
| 218 | struct vfsmount *mnt; | 218 | struct vfsmount *mnt; | 
| 219 | int error; | ||
| 220 | struct pid_namespace *ns; | 219 | struct pid_namespace *ns; | 
| 221 | struct bsd_acct_struct *acct = NULL; | 220 | struct bsd_acct_struct *acct = NULL; | 
| 222 | 221 | ||
| @@ -244,13 +243,6 @@ static int acct_on(char *name) | |||
| 244 | } | 243 | } | 
| 245 | } | 244 | } | 
| 246 | 245 | ||
| 247 | error = security_acct(file); | ||
| 248 | if (error) { | ||
| 249 | kfree(acct); | ||
| 250 | filp_close(file, NULL); | ||
| 251 | return error; | ||
| 252 | } | ||
| 253 | |||
| 254 | spin_lock(&acct_lock); | 246 | spin_lock(&acct_lock); | 
| 255 | if (ns->bacct == NULL) { | 247 | if (ns->bacct == NULL) { | 
| 256 | ns->bacct = acct; | 248 | ns->bacct = acct; | 
| @@ -281,7 +273,7 @@ static int acct_on(char *name) | |||
| 281 | */ | 273 | */ | 
| 282 | SYSCALL_DEFINE1(acct, const char __user *, name) | 274 | SYSCALL_DEFINE1(acct, const char __user *, name) | 
| 283 | { | 275 | { | 
| 284 | int error; | 276 | int error = 0; | 
| 285 | 277 | ||
| 286 | if (!capable(CAP_SYS_PACCT)) | 278 | if (!capable(CAP_SYS_PACCT)) | 
| 287 | return -EPERM; | 279 | return -EPERM; | 
| @@ -299,13 +291,11 @@ SYSCALL_DEFINE1(acct, const char __user *, name) | |||
| 299 | if (acct == NULL) | 291 | if (acct == NULL) | 
| 300 | return 0; | 292 | return 0; | 
| 301 | 293 | ||
| 302 | error = security_acct(NULL); | 294 | spin_lock(&acct_lock); | 
| 303 | if (!error) { | 295 | acct_file_reopen(acct, NULL, NULL); | 
| 304 | spin_lock(&acct_lock); | 296 | spin_unlock(&acct_lock); | 
| 305 | acct_file_reopen(acct, NULL, NULL); | ||
| 306 | spin_unlock(&acct_lock); | ||
| 307 | } | ||
| 308 | } | 297 | } | 
| 298 | |||
| 309 | return error; | 299 | return error; | 
| 310 | } | 300 | } | 
| 311 | 301 | ||
