diff options
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/array.c | 6 | ||||
-rw-r--r-- | fs/proc/base.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c index 7495d3e207..0b615d62a1 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
@@ -74,6 +74,7 @@ | |||
74 | #include <linux/times.h> | 74 | #include <linux/times.h> |
75 | #include <linux/cpuset.h> | 75 | #include <linux/cpuset.h> |
76 | #include <linux/rcupdate.h> | 76 | #include <linux/rcupdate.h> |
77 | #include <linux/delayacct.h> | ||
77 | 78 | ||
78 | #include <asm/uaccess.h> | 79 | #include <asm/uaccess.h> |
79 | #include <asm/pgtable.h> | 80 | #include <asm/pgtable.h> |
@@ -411,7 +412,7 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) | |||
411 | 412 | ||
412 | res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ | 413 | res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ |
413 | %lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \ | 414 | %lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \ |
414 | %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n", | 415 | %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu %llu\n", |
415 | task->pid, | 416 | task->pid, |
416 | tcomm, | 417 | tcomm, |
417 | state, | 418 | state, |
@@ -455,7 +456,8 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) | |||
455 | task->exit_signal, | 456 | task->exit_signal, |
456 | task_cpu(task), | 457 | task_cpu(task), |
457 | task->rt_priority, | 458 | task->rt_priority, |
458 | task->policy); | 459 | task->policy, |
460 | (unsigned long long)delayacct_blkio_ticks(task)); | ||
459 | if(mm) | 461 | if(mm) |
460 | mmput(mm); | 462 | mmput(mm); |
461 | return res; | 463 | return res; |
diff --git a/fs/proc/base.c b/fs/proc/base.c index 0cb8f20d00..474eae3450 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
@@ -1338,8 +1338,8 @@ static int pid_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1338 | } else { | 1338 | } else { |
1339 | inode->i_uid = 0; | 1339 | inode->i_uid = 0; |
1340 | inode->i_gid = 0; | 1340 | inode->i_gid = 0; |
1341 | inode->i_mode = 0; | ||
1342 | } | 1341 | } |
1342 | inode->i_mode &= ~(S_ISUID | S_ISGID); | ||
1343 | security_task_to_inode(task, inode); | 1343 | security_task_to_inode(task, inode); |
1344 | put_task_struct(task); | 1344 | put_task_struct(task); |
1345 | return 1; | 1345 | return 1; |
@@ -1390,6 +1390,7 @@ static int tid_fd_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1390 | inode->i_uid = 0; | 1390 | inode->i_uid = 0; |
1391 | inode->i_gid = 0; | 1391 | inode->i_gid = 0; |
1392 | } | 1392 | } |
1393 | inode->i_mode &= ~(S_ISUID | S_ISGID); | ||
1393 | security_task_to_inode(task, inode); | 1394 | security_task_to_inode(task, inode); |
1394 | put_task_struct(task); | 1395 | put_task_struct(task); |
1395 | return 1; | 1396 | return 1; |