From: Nick Alcock Date: Mon, 31 Oct 2016 13:12:56 +0000 (+0000) Subject: dtrace: check for errors when getting a new fd X-Git-Tag: v4.1.12-92~25^2~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9fe9473d0a8d810063bdfcc891edaef964827645;p=users%2Fjedix%2Flinux-maple.git dtrace: check for errors when getting a new fd get_unused_fd_flags() can legitimately fail, e.g. when the fd table is full. We need to diagnose that rather than trying to fd_install() the resulting negative number. Signed-off-by: Nick Alcock Acked-by: Kris Van Hees Reviewed-by: Shannon Nelson Orabug: 24977175 --- diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 10467305c8eb..39d9be896e02 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -834,6 +834,11 @@ static int ptrace_getmapfd(struct task_struct *child, unsigned long addr, } new_fd = get_unused_fd_flags(O_CLOEXEC); + if (new_fd < 0) { + ret = new_fd; + goto err; + } + ret = __put_user(new_fd, datalp); get_file(vma->vm_file); fd_install(new_fd, vma->vm_file);