From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5B2F399039 for ; Mon, 27 Apr 2026 12:29:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777292982; cv=none; b=QpUZ1sAUbHNwyhWX7VfAOvMOeUzAg43xxtE6yTgVHU8de1rAcD6U2iO+T0SbygwOegXSRGdVbBdcJ+P45pt5O5kg4xEUY8uaqdlgi1k/WXtwDRTP5FEYDlcBH7oppKKgcJ2v7azABC0capu3Of8AZx23ZhZTdRdfiDgLOR6OUZg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777292982; c=relaxed/simple; bh=qj4Szk0Vp+O98JfBekicQewgC27dQG6cpY0fw+kzbzs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=i9/ZSbaqSK9/orD0N7RHM0dOcW4h5eC7FrgtKThaF079NMNuVteT6Apc0WAG58dKQKe6OEX2n9Xom0YGjXuHdlmHOEp2zNVOP7IeFjoTh5o3TGI1qr7EA257nfZ3DbfgS2++sMH4X56XAIlOd3hP0TJko8IbS+gpYr4maqslmNU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=auWt3NT/; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="auWt3NT/" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-827270d50d4so9089863b3a.3 for ; Mon, 27 Apr 2026 05:29:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777292980; x=1777897780; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZyVfwI3ylMQ0K4OSfnwdgKvqJxQMmT7QZ769NDzGoQ0=; b=auWt3NT/2wTj2/nMNA3jlNzjWz/8fRQPgd+AeLbTxMjBfICzAKtVrwJUvH5zvhocFh TQJpQuBfQbyJ36H9I5/nXqPuqxJ+qQ2EcgrprCpe4jRumYmKgKqxbjLfHpEYPu5yWaq2 IqfMqKuRP5QTE8hzFrtSTCtMd0JoaxuEFGfvK3VNw+WjaOn696dwliaFE1DovBazC5mI 8iz9k/GqW+8R5YcYD4jipUvou2lDh1J6SrZwUu6m1d1VNvbuy7iHCt0mJyez54yldhj0 eFLgVMBpthpGRzEx7DaHo6bDc69R6m7UJzwoDlIV/2GytpkjTFRF/9eb0oiIFAba17+g jquA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777292980; x=1777897780; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ZyVfwI3ylMQ0K4OSfnwdgKvqJxQMmT7QZ769NDzGoQ0=; b=m+jaWwiJY8QNVxnHaZeLGczK6R9rMdX9iN6eLw97NTAZlHn4PzAyxNNO+3buMmyw5A 09wcsexBfnnX5cMuJFHg3zO88IoJt8ATgzD/NdIcT7rgCQOaHuna2fSycbM5jGDWUZY7 ezCWZnfqqAeDD/NpeMnaBYoWK75y9TBvQUiBNjcWMVzn7++IQUrgrm8xZ7R1I1s0tC/n FFepk618VTnrXe8YPuRsg+FEyJvnsFONrDCYF/JMTlxBm1DAoKg06HFsYcmWbBwOeh6i YiIAIN6+el9r9kA+xA4FRrtyajZRA38pinOm32SijUMEI5Xss+jP1YKiNZ7ewlqYNKSK 984A== X-Forwarded-Encrypted: i=1; AFNElJ+gq8Iz2ufVrFPuD01H/iHMRpyQejX4tKz/yrlwaPpTX1rix2E2skaVnJccOpeYW5Td/ucNorbN9gqAuqE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2ujQxJWSTgh1aDwkRIIB7aBEXIDW8nnRMZibJrvmCZydtMeFU qRGgZbwqg3w2cYL6ZrVTNm5p50xUYFq9YrJQ138cEzExsxZ/Lm1aq2mY X-Gm-Gg: AeBDietUHoykCDuacytmOuKWnZFWn6royCyBe0qNOm7e8T7bGBSWH4M37txlXmygfd8 2KjiV8VGgDp0e1aO7Z9/c2puWj7F85VvtUJE9qN8U8rbXhjq9wEBQvwkrlMGrS1cBYkmz83yxfZ Dwrc2Xf5sZtFXxTm/yYVKOpvsA5Yk8ZRgSfwVCM/Ro9JIC2avmEm5+Qy49rP/9i6xO06xgxzK37 B8EZ/bvLVFY6gRkNmwTKksLQ+A1V19F5wTP41W1lAW8pnf4M1wUQxwguRmjPcEYfsMlmA97q01H f4n15myDSqtTWjKtTU43vc7kVsMNtooEmTr5sMHTVS9kGOPjASHE/e/Gu0XEz+wZDz0lYLFTlqW C2Q8vYWbVlqGt2prkZXAoGdmLpp7ii+C6NJic55gj1YEHHRHCdNTmIdehZGCLJyjKMiLkKEV356 m9l7INsVkDJIn9wVPlEeX4kv3Z9+QlwQ5H1TgrVKioFPmmoqKLIFBlZ2OCthe2Er316q6BPYaj8 ud9eA== X-Received: by 2002:a05:6a00:8b0f:b0:82f:c1b4:8ba2 with SMTP id d2e1a72fcca58-82fc1b4931emr20644714b3a.47.1777292979936; Mon, 27 Apr 2026 05:29:39 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com ([129.41.58.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8e9f7735sm32733466b3a.21.2026.04.27.05.29.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 05:29:39 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, oleg@redhat.com, kees@kernel.org, luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com, sshegde@linux.ibm.com, thuth@redhat.com, ruanjinjie@huawei.com, akpm@linux-foundation.org, macro@orcam.me.uk, ldv@strace.io, charlie@rivosinc.com, deller@gmx.de, kevin.brodsky@arm.com, ritesh.list@gmail.com, yeoreum.yun@arm.com, agordeev@linux.ibm.com, segher@kernel.crashing.org, mark.rutland@arm.com, ryan.roberts@arm.com, pmladek@suse.com, feng.tang@linux.alibaba.com, peterz@infradead.org, kan.liang@linux.intel.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Cc: Mukesh Kumar Chaurasiya , Samir M , David Gow , Venkat Rao Bagalkote Subject: [PATCH v5 8/8] powerpc: Remove unused functions Date: Mon, 27 Apr 2026 17:57:42 +0530 Message-ID: <20260427122742.210074-9-mkchauras@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260427122742.210074-1-mkchauras@gmail.com> References: <20260427122742.210074-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Mukesh Kumar Chaurasiya After enabling GENERIC_ENTRY some functions are left unused. Cleanup all those functions which includes: - do_syscall_trace_enter - do_syscall_trace_leave - do_notify_resume - do_seccomp Signed-off-by: Mukesh Kumar Chaurasiya Tested-by: Samir M Tested-by: David Gow Tested-by: Venkat Rao Bagalkote Reviewed-by: Shrikanth Hegde --- arch/powerpc/include/asm/ptrace.h | 3 - arch/powerpc/include/asm/signal.h | 1 - arch/powerpc/kernel/ptrace/ptrace.c | 138 ---------------------------- arch/powerpc/kernel/signal.c | 17 ---- 4 files changed, 159 deletions(-) diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index 2e741ea57b80..fdeb97421785 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -177,9 +177,6 @@ extern unsigned long profile_pc(struct pt_regs *regs); #define profile_pc(regs) instruction_pointer(regs) #endif -long do_syscall_trace_enter(struct pt_regs *regs); -void do_syscall_trace_leave(struct pt_regs *regs); - static inline void set_return_regs_changed(void) { #ifdef CONFIG_PPC_BOOK3S_64 diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h index 922d43700fb4..21af92cdb237 100644 --- a/arch/powerpc/include/asm/signal.h +++ b/arch/powerpc/include/asm/signal.h @@ -7,7 +7,6 @@ #include struct pt_regs; -void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags); unsigned long get_min_sigframe_size_32(void); unsigned long get_min_sigframe_size_64(void); diff --git a/arch/powerpc/kernel/ptrace/ptrace.c b/arch/powerpc/kernel/ptrace/ptrace.c index f006a03a0211..316d4f5ead8e 100644 --- a/arch/powerpc/kernel/ptrace/ptrace.c +++ b/arch/powerpc/kernel/ptrace/ptrace.c @@ -192,144 +192,6 @@ long arch_ptrace(struct task_struct *child, long request, return ret; } -#ifdef CONFIG_SECCOMP -static int do_seccomp(struct pt_regs *regs) -{ - if (!test_thread_flag(TIF_SECCOMP)) - return 0; - - /* - * The ABI we present to seccomp tracers is that r3 contains - * the syscall return value and orig_gpr3 contains the first - * syscall parameter. This is different to the ptrace ABI where - * both r3 and orig_gpr3 contain the first syscall parameter. - */ - regs->gpr[3] = -ENOSYS; - - /* - * We use the __ version here because we have already checked - * TIF_SECCOMP. If this fails, there is nothing left to do, we - * have already loaded -ENOSYS into r3, or seccomp has put - * something else in r3 (via SECCOMP_RET_ERRNO/TRACE). - */ - if (__secure_computing()) - return -1; - - /* - * The syscall was allowed by seccomp, restore the register - * state to what audit expects. - * Note that we use orig_gpr3, which means a seccomp tracer can - * modify the first syscall parameter (in orig_gpr3) and also - * allow the syscall to proceed. - */ - regs->gpr[3] = regs->orig_gpr3; - - return 0; -} -#else -static inline int do_seccomp(struct pt_regs *regs) { return 0; } -#endif /* CONFIG_SECCOMP */ - -/** - * do_syscall_trace_enter() - Do syscall tracing on kernel entry. - * @regs: the pt_regs of the task to trace (current) - * - * Performs various types of tracing on syscall entry. This includes seccomp, - * ptrace, syscall tracepoints and audit. - * - * The pt_regs are potentially visible to userspace via ptrace, so their - * contents is ABI. - * - * One or more of the tracers may modify the contents of pt_regs, in particular - * to modify arguments or even the syscall number itself. - * - * It's also possible that a tracer can choose to reject the system call. In - * that case this function will return an illegal syscall number, and will put - * an appropriate return value in regs->r3. - * - * Return: the (possibly changed) syscall number. - */ -long do_syscall_trace_enter(struct pt_regs *regs) -{ - u32 flags; - - flags = read_thread_flags() & (_TIF_SYSCALL_EMU | _TIF_SYSCALL_TRACE); - - if (flags) { - int rc = ptrace_report_syscall_entry(regs); - - if (unlikely(flags & _TIF_SYSCALL_EMU)) { - /* - * A nonzero return code from - * ptrace_report_syscall_entry() tells us to prevent - * the syscall execution, but we are not going to - * execute it anyway. - * - * Returning -1 will skip the syscall execution. We want - * to avoid clobbering any registers, so we don't goto - * the skip label below. - */ - return -1; - } - - if (rc) { - /* - * The tracer decided to abort the syscall. Note that - * the tracer may also just change regs->gpr[0] to an - * invalid syscall number, that is handled below on the - * exit path. - */ - goto skip; - } - } - - /* Run seccomp after ptrace; allow it to set gpr[3]. */ - if (do_seccomp(regs)) - return -1; - - /* Avoid trace and audit when syscall is invalid. */ - if (regs->gpr[0] >= NR_syscalls) - goto skip; - - if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) - trace_sys_enter(regs, regs->gpr[0]); - - if (!is_32bit_task()) - audit_syscall_entry(regs->gpr[0], regs->gpr[3], regs->gpr[4], - regs->gpr[5], regs->gpr[6]); - else - audit_syscall_entry(regs->gpr[0], - regs->gpr[3] & 0xffffffff, - regs->gpr[4] & 0xffffffff, - regs->gpr[5] & 0xffffffff, - regs->gpr[6] & 0xffffffff); - - /* Return the possibly modified but valid syscall number */ - return regs->gpr[0]; - -skip: - /* - * If we are aborting explicitly, or if the syscall number is - * now invalid, set the return value to -ENOSYS. - */ - regs->gpr[3] = -ENOSYS; - return -1; -} - -void do_syscall_trace_leave(struct pt_regs *regs) -{ - int step; - - audit_syscall_exit(regs); - - if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) - trace_sys_exit(regs, regs->result); - - step = test_thread_flag(TIF_SINGLESTEP); - if (step || test_thread_flag(TIF_SYSCALL_TRACE)) - ptrace_report_syscall_exit(regs, step); -} - void __init pt_regs_check(void); /* diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c index 9f1847b4742e..bb42a8b6c642 100644 --- a/arch/powerpc/kernel/signal.c +++ b/arch/powerpc/kernel/signal.c @@ -293,23 +293,6 @@ static void do_signal(struct task_struct *tsk) signal_setup_done(ret, &ksig, test_thread_flag(TIF_SINGLESTEP)); } -void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags) -{ - if (thread_info_flags & _TIF_UPROBE) - uprobe_notify_resume(regs); - - if (thread_info_flags & _TIF_PATCH_PENDING) - klp_update_patch_state(current); - - if (thread_info_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) { - BUG_ON(regs != current->thread.regs); - do_signal(current); - } - - if (thread_info_flags & _TIF_NOTIFY_RESUME) - resume_user_mode_work(regs); -} - static unsigned long get_tm_stackpointer(struct task_struct *tsk) { /* When in an active transaction that takes a signal, we need to be -- 2.53.0