Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp914360pxb; Wed, 6 Apr 2022 04:08:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzuxf2pi8XPPFhsYfBJJmscVrhE60vUpL5k5bATW60HYoVSzoDEB/CSOjoMapEjM4MEEWDD X-Received: by 2002:a17:90b:380d:b0:1c7:223:c0d with SMTP id mq13-20020a17090b380d00b001c702230c0dmr9458748pjb.94.1649243285943; Wed, 06 Apr 2022 04:08:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649243285; cv=none; d=google.com; s=arc-20160816; b=knPMnsq0pKNHDaGR3LSh7mQcL0ktrpRpMIBji82y49soUFWLpU3bXo6Krxmdei1lLu fCQdDxWO0grxeEBAFY2QDSiNgCl39Q+OquMRfC7AgG/2Mzdyewcsa4fap4KkWxYV9IZQ 7Lzx78cqYsm+M+deFWQj2P+xi0OA9ZYEqLmigI3Z6hij1j0XtAOb/YsNMDlxO/2+sXBQ 270gF1Sv205WyameBUBSLTC0XbN4IetpZ0Uk8a/aWCqRMVl7xlx+UE0t6Rn0Bc6UlRci PED/JVb64Awscu+HybS5ai9DYZHC30iIWIZ+GRyoHEOanciKyKdQ7JJXL/MpfAnqcqu8 F6Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Nyahasn0nmmx5VJ6p7OmLuXQAT+6m42yENyuCTiilQs=; b=hrESuSsiXJdy+UV5QGbyr2rsaUenJbZtK0pLCXs8XkmG3ykygiQ1Dpojk8w5GXXOu6 tIna4+DqpVjZ4VJt15Qk+QiFio7YG/KzSwAPH+Qmzk2yCGFLf/jClrUudaVhpS06VVHK i7Se0IB2uNfyAyMRtjbu4vrSTmtvishEK2mR3Whi97wGRq9F1pQo3Jm65rBs3JNZ/a/+ NAn+U6u899Zj51jOjwJ4bFntpEnOpnesPISvX8uFr6mZTde4yCVjTNM7+0h1fnC+2HAG eVvg/kNTgu+jIMikj8CcJ3xVPzPlU/py1zsCaQXI72/EyK1a1ylKDFE+s6ZAD8tKka+l KQzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nNGfA3+s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id d7-20020a056a0010c700b004fa3a8dffd1si16237355pfu.136.2022.04.06.04.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 04:08:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nNGfA3+s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B1D5A5CBE00; Wed, 6 Apr 2022 02:30:34 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1840159AbiDFBH1 (ORCPT + 99 others); Tue, 5 Apr 2022 21:07:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229985AbiDEKxR (ORCPT ); Tue, 5 Apr 2022 06:53:17 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80F44AA014; Tue, 5 Apr 2022 03:28:16 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id F1A39B81C9A; Tue, 5 Apr 2022 10:28:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57EA5C385A1; Tue, 5 Apr 2022 10:28:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649154493; bh=f6cz/MNAsBqwTYBuSFyaQUy+qfrWVrxMZMvcDWc1FAU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nNGfA3+siTuhFxQBUPUK4FVbRxUDC1LI6V1HjbtAAhRv2wit30Y6rxeQjX85VFYiD YaxJlr3BzliWEvY/A29B/P1ojg/w72NNTmQn3NBIE6mXpR+9Xcy9tZ/rgbib9dFb45 zt8f8eB2To0BexL+BbwHFqp+Uzj81Q5AD1qU/X5k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jann Horn , Kees Cook , "Eric W. Biederman" Subject: [PATCH 5.10 597/599] coredump/elf: Pass coredump_params into fill_note_info Date: Tue, 5 Apr 2022 09:34:51 +0200 Message-Id: <20220405070316.605134581@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070258.802373272@linuxfoundation.org> References: <20220405070258.802373272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric W. Biederman commit 9ec7d3230717b4fe9b6c7afeb4811909c23fa1d7 upstream. Instead of individually passing cprm->siginfo and cprm->regs into fill_note_info pass all of struct coredump_params. This is preparation to allow fill_files_note to use the existing vma snapshot. Reviewed-by: Jann Horn Reviewed-by: Kees Cook Signed-off-by: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman --- fs/binfmt_elf.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1797,7 +1797,7 @@ static int fill_thread_core_info(struct static int fill_note_info(struct elfhdr *elf, int phdrs, struct elf_note_info *info, - const kernel_siginfo_t *siginfo, struct pt_regs *regs) + struct coredump_params *cprm) { struct task_struct *dump_task = current; const struct user_regset_view *view = task_user_regset_view(dump_task); @@ -1869,7 +1869,7 @@ static int fill_note_info(struct elfhdr * Now fill in each thread's information. */ for (t = info->thread; t != NULL; t = t->next) - if (!fill_thread_core_info(t, view, siginfo->si_signo, &info->size)) + if (!fill_thread_core_info(t, view, cprm->siginfo->si_signo, &info->size)) return 0; /* @@ -1878,7 +1878,7 @@ static int fill_note_info(struct elfhdr fill_psinfo(psinfo, dump_task->group_leader, dump_task->mm); info->size += notesize(&info->psinfo); - fill_siginfo_note(&info->signote, &info->csigdata, siginfo); + fill_siginfo_note(&info->signote, &info->csigdata, cprm->siginfo); info->size += notesize(&info->signote); fill_auxv_note(&info->auxv, current->mm); @@ -2026,7 +2026,7 @@ static int elf_note_info_init(struct elf static int fill_note_info(struct elfhdr *elf, int phdrs, struct elf_note_info *info, - const kernel_siginfo_t *siginfo, struct pt_regs *regs) + struct coredump_params *cprm) { struct core_thread *ct; struct elf_thread_status *ets; @@ -2069,7 +2069,7 @@ static int fill_note_info(struct elfhdr fill_note(info->notes + 1, "CORE", NT_PRPSINFO, sizeof(*info->psinfo), info->psinfo); - fill_siginfo_note(info->notes + 2, &info->csigdata, siginfo); + fill_siginfo_note(info->notes + 2, &info->csigdata, cprm->siginfo); fill_auxv_note(info->notes + 3, current->mm); info->numnote = 4; @@ -2079,8 +2079,8 @@ static int fill_note_info(struct elfhdr } /* Try to dump the FPU. */ - info->prstatus->pr_fpvalid = elf_core_copy_task_fpregs(current, regs, - info->fpu); + info->prstatus->pr_fpvalid = + elf_core_copy_task_fpregs(current, cprm->regs, info->fpu); if (info->prstatus->pr_fpvalid) fill_note(info->notes + info->numnote++, "CORE", NT_PRFPREG, sizeof(*info->fpu), info->fpu); @@ -2193,7 +2193,7 @@ static int elf_core_dump(struct coredump * Collect all the non-memory information about the process for the * notes. This also sets up the file header. */ - if (!fill_note_info(&elf, e_phnum, &info, cprm->siginfo, cprm->regs)) + if (!fill_note_info(&elf, e_phnum, &info, cprm)) goto end_coredump; has_dumped = 1;