mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'akpm' (patches from Andrew)
Merge second patch-bomb from Andrew Morton: - most of the rest of MM - procfs - lib/ updates - printk updates - bitops infrastructure tweaks - checkpatch updates - nilfs2 update - signals - various other misc bits: coredump, seqfile, kexec, pidns, zlib, ipc, dma-debug, dma-mapping, ... * emailed patches from Andrew Morton <[email protected]>: (102 commits) ipc,msg: drop dst nil validation in copy_msg include/linux/zutil.h: fix usage example of zlib_adler32() panic: release stale console lock to always get the logbuf printed out dma-debug: check nents in dma_sync_sg* dma-mapping: tidy up dma_parms default handling pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode kexec: use file name as the output message prefix fs, seqfile: always allow oom killer seq_file: reuse string_escape_str() fs/seq_file: use seq_* helpers in seq_hex_dump() coredump: change zap_threads() and zap_process() to use for_each_thread() coredump: ensure all coredumping tasks have SIGNAL_GROUP_COREDUMP signal: remove jffs2_garbage_collect_thread()->allow_signal(SIGCONT) signal: introduce kernel_signal_stop() to fix jffs2_garbage_collect_thread() signal: turn dequeue_signal_lock() into kernel_dequeue_signal() signals: kill block_all_signals() and unblock_all_signals() nilfs2: fix gcc uninitialized-variable warnings in powerpc build nilfs2: fix gcc unused-but-set-variable warnings MAINTAINERS: nilfs2: add header file for tracing nilfs2: add tracepoints for analyzing reading and writing metadata files ...
This commit is contained in:
commit
ad804a0b2a
211 changed files with 2298 additions and 1632 deletions
|
|
@ -91,18 +91,18 @@
|
|||
static inline void task_name(struct seq_file *m, struct task_struct *p)
|
||||
{
|
||||
char *buf;
|
||||
size_t size;
|
||||
char tcomm[sizeof(p->comm)];
|
||||
int ret;
|
||||
|
||||
get_task_comm(tcomm, p);
|
||||
|
||||
seq_puts(m, "Name:\t");
|
||||
buf = m->buf + m->count;
|
||||
|
||||
/* Ignore error for now */
|
||||
buf += string_escape_str(tcomm, buf, m->size - m->count,
|
||||
ESCAPE_SPACE | ESCAPE_SPECIAL, "\n\\");
|
||||
size = seq_get_buf(m, &buf);
|
||||
ret = string_escape_str(tcomm, buf, size, ESCAPE_SPACE | ESCAPE_SPECIAL, "\n\\");
|
||||
seq_commit(m, ret < size ? ret : -1);
|
||||
|
||||
m->count = buf - m->buf;
|
||||
seq_putc(m, '\n');
|
||||
}
|
||||
|
||||
|
|
|
|||
14
fs/proc/fd.c
14
fs/proc/fd.c
|
|
@ -291,11 +291,19 @@ static struct dentry *proc_lookupfd(struct inode *dir, struct dentry *dentry,
|
|||
*/
|
||||
int proc_fd_permission(struct inode *inode, int mask)
|
||||
{
|
||||
int rv = generic_permission(inode, mask);
|
||||
struct task_struct *p;
|
||||
int rv;
|
||||
|
||||
rv = generic_permission(inode, mask);
|
||||
if (rv == 0)
|
||||
return 0;
|
||||
if (task_tgid(current) == proc_pid(inode))
|
||||
return rv;
|
||||
|
||||
rcu_read_lock();
|
||||
p = pid_task(proc_pid(inode), PIDTYPE_PID);
|
||||
if (p && same_thread_group(p, current))
|
||||
rv = 0;
|
||||
rcu_read_unlock();
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue