From: Linus Torvalds Date: Thu, 23 Nov 2017 06:20:02 +0000 (-1000) Subject: Merge branch 'work.whack-a-mole' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v4.19~2111 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=275327851e5c3e71bc73eaee7f065f22b2d1fe6c;p=platform%2Fkernel%2Flinux-rpi.git Merge branch 'work.whack-a-mole' of git://git./linux/kernel/git/viro/vfs Pull mode_t whack-a-mole from Al Viro: "For all internal uses we want umode_t, which is arch-independent; mode_t (or __kernel_mode_t, for that matter) is wrong outside of userland ABI. Unfortunately, that crap keeps coming back and needs to be put down from time to time..." * 'work.whack-a-mole' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: mode_t whack-a-mole: task_dump_owner() --- 275327851e5c3e71bc73eaee7f065f22b2d1fe6c diff --cc fs/proc/internal.h index 9aad373,5bc75e5..4a67188 --- a/fs/proc/internal.h +++ b/fs/proc/internal.h @@@ -100,10 -100,31 +100,10 @@@ static inline struct task_struct *get_p return get_pid_task(proc_pid(inode), PIDTYPE_PID); } - void task_dump_owner(struct task_struct *task, mode_t mode, + void task_dump_owner(struct task_struct *task, umode_t mode, kuid_t *ruid, kgid_t *rgid); -static inline unsigned name_to_int(const struct qstr *qstr) -{ - const char *name = qstr->name; - int len = qstr->len; - unsigned n = 0; - - if (len > 1 && *name == '0') - goto out; - while (len-- > 0) { - unsigned c = *name++ - '0'; - if (c > 9) - goto out; - if (n >= (~0U-9)/10) - goto out; - n *= 10; - n += c; - } - return n; -out: - return ~0U; -} - +unsigned name_to_int(const struct qstr *qstr); /* * Offset of the first process in the /proc root directory.. */