Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp370098pxa; Wed, 19 Aug 2020 03:49:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxqvTCbe9HFZBSVPgIQKgIJPMb+ngZmMQp+aPl/G0DPEzu6JnekzICaACg3i8lWer0yuyy1 X-Received: by 2002:a17:906:990c:: with SMTP id zl12mr23974243ejb.488.1597834185735; Wed, 19 Aug 2020 03:49:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597834185; cv=none; d=google.com; s=arc-20160816; b=XbR1p5hqXGtgbiI6+9fQXWkoQooJp1i9354o9PQCMTZ1m/9EuoRNg2LLTIVd86WELE ihZr/QF99cX9ZV5J2bGuKWPzl9FcsR5fYIl14X1fg3sty10hoN4m7vx/YPsey12f4eYI CkEclQO5XH0/uSNoIc81q8SEbU8ztHnuUgKR3n2AV+brImG0dZcp5xgqRQVchVz7Ffml PleSJdg2xp2UgOI7J8i5iBJr/ImuqSyiN2Vszd5L8KVq3WOhnwWmZbmech4+8DJpncvF aZxZj7Uc6y25g3TaOdGLN0JzCRsu2eClInj/OUnvQZWtzh6ZT/rLncu89cIGR6QX/Eze aPEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=OV9ggm/5/6Cdeyz3u2yrlAaYKeBigTPPePTfgCwUXco=; b=SwttzqjKa5eJS6eIxUf4eQ36A8fDeie9C9kpdizoVMOPzqDe+m7/Td0OcUzrt035Zb dr7g3q7XmJiJl2FtB99IviZwxoSf/r/o2mu5XvdLUKq7pq9WLr1E2KEGopvohZEGgFWT 55o4Q6VvoyiFuf6CsCu2E7G3n3FceVJnOp9vVX2qz4LK1bAVArqjEn8zt6GviQoLdC+j pr/u4jstP1pQjd41L/bK0sj1LjjxTnxWvi9Mttor7QllTOb6LLs6kWdX3bFPtDHNM2Ka v2N+/9yw03fcR/qOj3i350WZRu0Af9CJOYgr8iPLJZMTYti29MvZV7Wzsd1yXP7ZFprt eJ2w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dc26si16185362edb.203.2020.08.19.03.49.22; Wed, 19 Aug 2020 03:49:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727992AbgHSKr6 (ORCPT + 99 others); Wed, 19 Aug 2020 06:47:58 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:53968 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726919AbgHSKra (ORCPT ); Wed, 19 Aug 2020 06:47:30 -0400 Received: from ip5f5af70b.dynamic.kabel-deutschland.de ([95.90.247.11] helo=wittgenstein.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1k8Lco-0006IE-NK; Wed, 19 Aug 2020 10:47:22 +0000 From: Christian Brauner To: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jonathan Corbet , Yoshinori Sato , Tony Luck , Fenghua Yu , Geert Uytterhoeven , Ley Foon Tan , "David S. Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, Arnd Bergmann , Steven Rostedt , Stafford Horne , Peter Zijlstra , Kars de Jong , Kees Cook , Greentime Hu , "Eric W. Biederman" , Mauro Carvalho Chehab , Alexandre Chartre , Masami Hiramatsu , Tom Zanussi , Xiao Yang , linux-doc@vger.kernel.org, uclinux-h8-devel@lists.sourceforge.jp, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, sparclinux@vger.kernel.org, kgdb-bugreport@lists.sourceforge.net, linux-kselftest@vger.kernel.org, Linus Torvalds , Christoph Hewllig , Matthew Wilcox , Christian Brauner Subject: [PATCH v2 00/11] Introduce kernel_clone(), kill _do_fork() Date: Wed, 19 Aug 2020 12:46:44 +0200 Message-Id: <20200819104655.436656-1-christian.brauner@ubuntu.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey everyone, This is a follow-up to the fork-related cleanup. It's based on a brief discussion after the initial series was merged. Last cycle we removed copy_thread_tls() and the associated Kconfig option for each architecture. Now we are only left with copy_thread(). Part of this work was removing the old do_fork() legacy clone()-style calling convention in favor of the new struct kernel_clone args calling convention. The only remaining function callable outside of kernel/fork.c is _do_fork(). It doesn't really follow the naming of kernel-internal syscall helpers as Christoph righly pointed out. Switch all callers and references to kernel_clone() and remove _do_fork() once and for all also switching the return value for kernel_clone() from long to pid_t since that's what we use in all other places where we're dealing with process identifiers. For all architectures I have done a full git rebase v5.9-rc1 -x "make -j31". There were no built failures and the changes were fairly mechanical. The only helpers we have left now are kernel_thread() and kernel_clone() where kernel_thread() just calls kernel_clone(). Thanks! Christian Christian Brauner (11): fork: introduce kernel_clone() h8300: switch to kernel_clone() ia64: switch to kernel_clone() m68k: switch to kernel_clone() nios2: switch to kernel_clone() sparc: switch to kernel_clone() x86: switch to kernel_clone() kprobes: switch to kernel_clone() kgdbts: switch to kernel_clone() tracing: switch to kernel_clone() sched: remove _do_fork() Documentation/trace/histogram.rst | 4 +- arch/h8300/kernel/process.c | 2 +- arch/ia64/kernel/process.c | 4 +- arch/m68k/kernel/process.c | 10 ++-- arch/nios2/kernel/process.c | 2 +- arch/sparc/kernel/process.c | 6 +-- arch/x86/kernel/sys_ia32.c | 2 +- drivers/misc/kgdbts.c | 48 +++++++++---------- include/linux/sched/task.h | 2 +- kernel/fork.c | 16 +++---- samples/kprobes/kprobe_example.c | 6 +-- samples/kprobes/kretprobe_example.c | 4 +- .../test.d/dynevent/add_remove_kprobe.tc | 2 +- .../test.d/dynevent/clear_select_events.tc | 2 +- .../test.d/dynevent/generic_clear_event.tc | 2 +- .../test.d/ftrace/func-filter-stacktrace.tc | 4 +- .../ftrace/test.d/kprobe/add_and_remove.tc | 2 +- .../ftrace/test.d/kprobe/busy_check.tc | 2 +- .../ftrace/test.d/kprobe/kprobe_args.tc | 4 +- .../ftrace/test.d/kprobe/kprobe_args_comm.tc | 2 +- .../test.d/kprobe/kprobe_args_string.tc | 4 +- .../test.d/kprobe/kprobe_args_symbol.tc | 10 ++-- .../ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- .../ftrace/test.d/kprobe/kprobe_ftrace.tc | 14 +++--- .../ftrace/test.d/kprobe/kprobe_multiprobe.tc | 2 +- .../test.d/kprobe/kprobe_syntax_errors.tc | 12 ++--- .../ftrace/test.d/kprobe/kretprobe_args.tc | 4 +- .../selftests/ftrace/test.d/kprobe/profile.tc | 2 +- 28 files changed, 88 insertions(+), 88 deletions(-) base-commit: 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5 -- 2.28.0