From patchwork Wed Feb 5 19:32:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13961815 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B92B2C02198 for ; Wed, 5 Feb 2025 19:33:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4392D280013; Wed, 5 Feb 2025 14:33:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3C194280003; Wed, 5 Feb 2025 14:33:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 19EED280013; Wed, 5 Feb 2025 14:33:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E71DD280003 for ; Wed, 5 Feb 2025 14:32:59 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6AFF5A098E for ; Wed, 5 Feb 2025 19:32:59 +0000 (UTC) X-FDA: 83086888878.08.EC8B387 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf16.hostedemail.com (Postfix) with ESMTP id 4331B18000F for ; Wed, 5 Feb 2025 19:32:57 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Qquoo4Ox; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783977; a=rsa-sha256; cv=none; b=4rgzM9VXOkp+LOHCbXflGAmOlVn7mXhoQW0ezCzuwFxJgNGNg45/po4SiACltPvCsZxs/S H/WGPtVAQ9Cv4V30Uh+onVNXbV3fVN9D18I6SpCFtwHvqooO0iGmxq/wUXJsekZOsmBuk0 2Y+f95wrzx9D9/kZVAAkChdqIaP+AUA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Qquoo4Ox; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783977; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XPv5JRV70JrMhtiLP6t5DX+MOk6OWHK7l2xWpSMj1JA=; b=zN2Qkc2tX8Vsm8ieSH8iH9KXec/cNK2VjRZZDa/Y+CKCKuUmbCO0WcglMl2IJ8JCRCQUFl UXFIleLC1ZKgWsgH7VY4fjlwqKoxKJ9iW9aiygDyoj0GgUp+31BIuekrKNJYqmZ8ddbj+r zT0emOWIjpbJYCfL2gZ10BJcWoyxTc0= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-aaec111762bso43309466b.2 for ; Wed, 05 Feb 2025 11:32:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738783975; x=1739388775; darn=kvack.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=XPv5JRV70JrMhtiLP6t5DX+MOk6OWHK7l2xWpSMj1JA=; b=Qquoo4Ox0cFWgnQedobdZQLyeKuxNrIZpyOlUAY0Z2t9fYP2IpOUpPUIek91PYtMmI Z0TEZzmpDpSVMqN2Hd5xRlJ2DCLHI5G6HdNRUWOyHWhximT9w96bdkj7D/EcfHPVLCpj njqRtfLd1jZRpe72BPh8PQBCBjw9TBpjziOpQB2SHbTt4MAJIQsnHnc2MqLI0W13+9uW yKSgzsebl8ZxG7aYF9/hNvstofD/xOSqfNrqe78ptcKc1LE+O7tqVBGmsbl8dibKrSRP PyqnxElF8LFlu2pED1tiI75pRh+CdC9RlCKVVzuCuEoZjxsz+roBlYcJCxoFqRgc8/t6 yAlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738783975; x=1739388775; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XPv5JRV70JrMhtiLP6t5DX+MOk6OWHK7l2xWpSMj1JA=; b=PVAWH2Ja4A8RYv6hQvBJx04WOq+fXcTAXQBQyT72ZEPL1+kKgb7CvAWYKgAJ7Udti2 4iGag4z1Ew+UKm83Geadsx2fqFeylAiL7kXbBaVn5xqN+fSlYaXj+/RqCJnlinpSrGJu 7n0j07P0rVmVKeNjovUcyOGqEH9UMmM/YzFsFBUTuSgbIlfHqk8fLjd1MXDmYN78l51j h27hsc+fG0xyg4IRdKu/GM13ZGQLDQ1lWan9AlilXlHKhw1GFnMtGYzgxO5Ov+V5rNPV Xg7l166VIVvhuGFmJCT6i0OlhN+T2tVziyoDAXReHAWOIEl08IMgfkUlnz9wmuXE+27S EOrQ== X-Forwarded-Encrypted: i=1; AJvYcCXbmFUnsYvu8eD1NW34A5ZE+rzF+dGhY6kZoqoJ9+0HoaSGYCc6PU8SCO71w0B/8gQtaS29luhycg==@kvack.org X-Gm-Message-State: AOJu0YxM03jgZUTxaDna3uB/kmJJMEIFWTPSfY4OdJBCw/CeaLA/i8Wh +HnOtm7Qnd2fJNYD4HFo+aVXsV5CH/eLfq453iuK053HFXZ6Sa9z X-Gm-Gg: ASbGncuzf6vNuNIIQTmz/iOvXek5LMeOJtJLaUTH3louy4Z+pLM/gk2UbTa9c/97URT /huiAYQkkZRoWnw5mWAWMJ5o4nyFmM42Qp+BjE/T5qmNiNsX1nVQh6S7dTAHEkkG5a9szygresy UXh+iaEnuF2kTaAnGTlHppCCBdCo/wUak9/J0dCrpR3xvC32g/DCo564InhOjmzZO2fudupHBCB eOVKNZzM1owzQaeVQ5c6jPyoGPOQqezB7ZIghyywRLd4rqXQD8YmTBuPGkn0/Lpkda/jU3FushY M+UvXyhvv8Hk/Rw5UMYZpPIQU/eaUU0= X-Google-Smtp-Source: AGHT+IFQbmYgH78qzWyrya5Ebjacufa28BHh4ai61VrblS+KkRRo5Gjsy6KS34VsxBfHjTdhyIbxdw== X-Received: by 2002:a17:907:6e88:b0:ab6:d59b:614d with SMTP id a640c23a62f3a-ab75e25cb41mr444603266b.23.1738783975276; Wed, 05 Feb 2025 11:32:55 -0800 (PST) Received: from f.. (cst-prg-95-94.cust.vodafone.cz. [46.135.95.94]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6e47d06e5sm1167625566b.63.2025.02.05.11.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:32:54 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v4 1/5] exit: perform add_device_randomness() without tasklist_lock Date: Wed, 5 Feb 2025 20:32:17 +0100 Message-ID: <20250205193221.402150-2-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205193221.402150-1-mjguzik@gmail.com> References: <20250205193221.402150-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4331B18000F X-Stat-Signature: pcgkpnumimkpe384xize4hjdfxmkpt5g X-Rspam-User: X-HE-Tag: 1738783976-521377 X-HE-Meta: U2FsdGVkX194yinChZh3y3kKYfv3Guls7YV61OiW8O5Igpv/0+DAlDGLi3nwx+8hVTa3Z3/wEtU0plDS440LdaGzJ2r0ydw8++0+qwpyghLNh5M04hGmqtAU1YmUhtJizeDOvCUoda0wv735khib+hBvoj94Uhx9ZM6OIRxAESVWPj+IPib5Lxcb007CAvIBIlmBvj+EIWENBDnRRQVBCCzSrwNE7mAfZxfcbU0dLM6tcW+4bFKSObm0IKXSjhrdnPRIns72kUQfEvp24a8HmC7TVsP40ZIJ9XKMvEdO+Qm+zbRyrcByv1G5bygMltKlI2vwjiefL5BbzPxrwJaForquQT6G2WcKkHf/7FhaTRtByR079naRI36cwVnu6LTh29cjcdy9np/AJ/1JuCgoMXnnyN9ZtmgaBkJiaDG5f5bkUfsoPutAoYfwWjmtXzPqzt9X3+5fAVw0GLVReMN6cq4ZRF6NPLzvloRrQE9E9F4QDC3UXGfmcCLJ1C7cgj6S2jcOj/nR7pCDFnHMsHWsFpyebfLDaRUomkHJQoYGTOXqC4CIV5aF+RdLfO6iF0FCPiV0Titk1wk2/afRoZMFYMelAhgVk9xkgs5krvzcZ2oxfPFmwADH6pDb4Wvdk/QEJ18vtJrw8yeCBH57xexaF0nVabw++bUZsX2oS7CoJvdDjcT8pSijkb98KO8MHs9uGGSW/0V85vNSQdUouAtmoMJb+23Q1KTwic3FIP4XBW337p3Ovm4IHC85W0t4MovrTk/yC1t5XjYNma4Rr8cBtFj6TzHdiSSHXT/xq2sOnUn46uLXpQmO1j7x/sZCfecu7rtsW+buUkmDnBP+34nR7NGxaAAml6sY5wyWHgeln+lLcrrnSGtZ8fDGJc4wb9HBzbCg7y7vCb+4470qcLLjHmZadEfeKOA+bgJjdMv5eNIWbVLdLE1gDLk8zjQ2UOVSUhsHLXvVoqwvygcRjVl rb44/IDn 7LI33ZlsGNIU5P4/PF9ZkfaDt4aPx23QNJHNSJV/mcGJtsGT/vN0L0/0q6K+pIj745e0O/866Q/xSc5DuXkIsUbl1x8oICeKtzuAwsmgy3Tt3DNQnUo5wzAQTy8GhvL5NHA1Zx7ivo/imCYTJJXa6+y7VLdERLuQ8AbMt3E9B8kiY7r9uHhW51kjaSfNF7z/jxC41IkMOU34671XfGMYeRUveb1HtyUBraGbsHZ/EDNq1dZ6FVe603H5muNbdzGgBu8RiRtjdaShsjVar2qb1g+ZfuzZ9Z0oox0pfkk2jKaUTNn301vchm0N19yNmNhss5iSw9dCUk7FW+IRGeWiEpzDujARTnajg6bdQdl+tqxiuyi74c6VpQUOS1akLwL3Dfp8DeTPstUVZunEgLNmcujZ3LtWJB01FcCa+7W39MfYyJnf1tPckJbqVPYkxMhJVb1EL X-Bogosity: Unsure, tests=bogofilter, spamicity=0.467935, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Parallel calls to add_device_randomness() contend on their own. The clone side aleady runs outside of tasklist_lock, which in turn means any caller on the exit side extends the tasklist_lock hold time while contending on the random-private lock. Reviewed-by: Oleg Nesterov Signed-off-by: Mateusz Guzik --- kernel/exit.c | 6 +++--- scripts/selinux/genheaders/genheaders | Bin 90112 -> 0 bytes 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100755 scripts/selinux/genheaders/genheaders GIT binary patch literal 0 HcmV?d00001 literal 90112 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 diff --git a/kernel/exit.c b/kernel/exit.c index 3485e5fc499e..c79b41509cd3 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -174,9 +174,6 @@ static void __exit_signal(struct task_struct *tsk) sig->curr_target = next_thread(tsk); } - add_device_randomness((const void*) &tsk->se.sum_exec_runtime, - sizeof(unsigned long long)); - /* * Accumulate here the counters for all threads as they die. We could * skip the group leader because it is the last user of signal_struct, @@ -278,6 +275,9 @@ void release_task(struct task_struct *p) write_unlock_irq(&tasklist_lock); proc_flush_pid(thread_pid); put_pid(thread_pid); + add_device_randomness(&p->se.sum_exec_runtime, + sizeof(p->se.sum_exec_runtime)); + free_pids(post.pids); release_thread(p); put_task_struct_rcu_user(p); diff --git a/scripts/selinux/genheaders/genheaders b/scripts/selinux/genheaders/genheaders deleted file mode 100755 index 3fc32a664a7930b12a38d02449aec78d49690dfe..0000000000000000000000000000000000000000 From patchwork Wed Feb 5 19:32:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13961816 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5DF56C02192 for ; Wed, 5 Feb 2025 19:33:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2498280017; Wed, 5 Feb 2025 14:33:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DD16D280003; Wed, 5 Feb 2025 14:33:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B89D2280017; Wed, 5 Feb 2025 14:33:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 86EB6280003 for ; Wed, 5 Feb 2025 14:33:02 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 396CC1409BF for ; Wed, 5 Feb 2025 19:33:02 +0000 (UTC) X-FDA: 83086889004.18.7CE3742 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by imf14.hostedemail.com (Postfix) with ESMTP id 496EF100015 for ; Wed, 5 Feb 2025 19:32:59 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WgJQZJWo; spf=pass (imf14.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783980; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/diWf3Ne11QncyO86if84fhx289XRB6QA3E34QVttl8=; b=4Z3ft2tCgEITnDQ3sxq93rKmM0opxPkBtSoghvYEX54WpFt/hkI1UZmG0RtsXftLo8Ff1B ySw6HywbM5I5hBfBvk9hBcAWf9ExRigOZQfYjYfVjmiS+N38iVt5j8PJbrfz1Tcv95toVG tgZw8X+XRCKmago7iQ/9oFUZaL4m7ps= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WgJQZJWo; spf=pass (imf14.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783980; a=rsa-sha256; cv=none; b=e0CrfJXxHgxFXjPLNZo4tGQYipgUAuhRBbT2hn4p+2bn9bDvqSDJSwh4gl4HyhhDXsVqd9 F4zfD/7FSEOewNcmf88RhzOvHfX/OE1Nvs6W1HKr9OZ3Yz/jWRGztEJ7en75HeH3V4aCEb YzpIOKfk3lv8KCsG1aYMdi8ycmzljXw= Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5dc89df7eccso338651a12.3 for ; Wed, 05 Feb 2025 11:32:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738783979; x=1739388779; darn=kvack.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=/diWf3Ne11QncyO86if84fhx289XRB6QA3E34QVttl8=; b=WgJQZJWoFp9TWSPIAXd+TwXdR2QWpwBy6yXS2+w3pFAS4NGNk7TTFMWmUL7MCUWfRX Ec2Vx84p8hQFsW18LE/0lbOybgPsB/U3/TC3hm5SF0jt+FE6Df00KpkvjLRVYLjEyoEg g+OZdSsxGl5E5fMcn8OsLhk9ZpyHknexZsIWUBOqr3Sd179iOquAMBwQ56mHXdH5q800 St7BTnJdovJc6zbzRIC4ePHxGrqNpxPmJtrUl3CRT2MutmsY0ZeKhO6V7U98UyxrBfcZ WCTR7nIrVTLnNxQ+G0Rjf/eUSb21lvUuZMo0FRdUax8B8dvFOcqFbS8bdDYKlr/5POJW pqyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738783979; x=1739388779; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/diWf3Ne11QncyO86if84fhx289XRB6QA3E34QVttl8=; b=hZQh8vpEaBDhqt5VUBcwOp/0Btc8qJwMsb3auSSaE6XSpmsWJbG9B0SgaAQ9QmyUu3 HDjfcZpkCAv1U6HgDa0POS6UWrkJWBs/epdn+eIQwfiEslXrvV+xCr/gSBQXA9A/pmTU vaJG466PpLfAVdMXIPeAe6SMzjsbpOQRqlCMm3BeH6sohvzG6i0MWJ0ozIhjzb6og91f 5GZMnXOeJcyvWL/1L1zRp0lV2GGedwTgsZzwVNTc1OJ3lyK/XFwQ7Omf0NsHMuppSPP9 TyjS8js7l+6Kj6fXazWTfPczvzaDrwOxiaz2+gig0fNGxkOWZvZ4Tt+sLWZi4JoU1Lx0 ldKQ== X-Forwarded-Encrypted: i=1; AJvYcCWeLGVcd0R2vqKALbQ8ggtBz2Ke8Ngs4OA2oyI/kDHQPfr+6CfRjLSuk1LEBNugxWvB5dzXfZSvTA==@kvack.org X-Gm-Message-State: AOJu0YxFFFHOTKA52x5lGSx/1RS9iZaPQsijCmwf6omgwPNsxSxY/xrq gNnqbu3n4VqFFVTebvWWSjK6AUrpg63akW9+oeUEynzxuCLbi3ll X-Gm-Gg: ASbGncuMfR+NU4H7YbeGTpnRD3osnjOZkBAMRjfYqG+SKleCta5piQKS6hj4zFHcIJF WJkAYKLBRqCmBqug0CwIBsbRL98yFQQt2lfX6qfVzoSjGx6X19LPrwD5uHgjqq0jp/CTQw3r5nN 8vD8D2pWd5tXLFAXV7u23Sav0LFi6VUL2o44nDWp+8AVyqP/zFnaQn/eCI6EezU9sclpNL51Sgl eTvVGtWr8Bxm54MxW29pTpnyQjNWbG6aaNx8kf52313clLJxFH5FWAq5H12EgFa//ijkaBkY+Le KkQhOtGoyWlz7Vrpud0Ugqi7+hqQriE= X-Google-Smtp-Source: AGHT+IGm1LrNQ1WxECz8EmcH8PaJJZS4GvDFkkEhiET/QnLWNJ27G8bMpK15OATOj4JQaKrV/yFOVw== X-Received: by 2002:a17:907:3da6:b0:ab3:8b1:12aa with SMTP id a640c23a62f3a-ab75e24a877mr469553566b.8.1738783978658; Wed, 05 Feb 2025 11:32:58 -0800 (PST) Received: from f.. (cst-prg-95-94.cust.vodafone.cz. [46.135.95.94]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6e47d06e5sm1167625566b.63.2025.02.05.11.32.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:32:58 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v4 2/5] exit: hoist get_pid() in release_task() outside of tasklist_lock Date: Wed, 5 Feb 2025 20:32:18 +0100 Message-ID: <20250205193221.402150-3-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205193221.402150-1-mjguzik@gmail.com> References: <20250205193221.402150-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 496EF100015 X-Stat-Signature: 8ihorrohz7pixekfjssrxu3e8tpm1noi X-Rspam-User: X-HE-Tag: 1738783979-625872 X-HE-Meta: U2FsdGVkX1/5MoUjjikmhorzVAUBoZbULJT1ZnFjESivMJ0qgJw/dWNXtc3oX5j3nCKgvue0ebJsloAFzeV1TtXVqghZaWjk2greo8dF3wdnKEuNhQSwRpU6J9K9mVpy3TkEDLW/l4/8pkMHFzcgEOwXZ8SPbqHkUf+axmpniHTcOgXDQhX2/eVZvtQ28qOPx+gMB0Zvz7KknHyXJD6JmC22kjTB04cJcq53441flGYSDbNqQmUNs+SSS2IKRqzU8QbCD68QoxrmcVsZVE4gL3A40mYhdGkdxadRxibrpthrydp8I1NDB/JLHSOG6NKXY9QGGuTtpLYScAGpQLpWj39Amc27cqzlUWa8oo4hZ92GlXGBvdgc9gOyD1t9wyinGpHUrDiyRHXqYyrNGRX3B3W5RQ693NTgWxqCMM4DajNRquxOSX4ZOsHXujhhEqAylKG5pI83v1VEZhp+7P6V0hFrDaj7KiVAhaZoQUSIOyNnYwBZnlQiRQCm1vRlhlZ7I4mqsmvL5x+CIB09JwJEJxFlnpiON71m4dBXFrK9AKhbe5FRpqIz51D6zxwL2Zg9bnu/GZAsbaQuuV7w2S9CJVt3oa8PekvnPAnb6sRE5G/+3AhF5wZil28vajtpgLvlp/4XA9ODA13TYejco47gCEmQZu/9EKUMWCqsOK9beiIp6t1WUyPF28u5ed8ULuh+7DjTCU21Iy4lA5y7p6g6WrimZKvMSi/LUBCBrZib2mQ29D9Deqy2JWuboEup4I9JAeVLeK1efd6SrlEFlgGEOFnBPk6oN6lAF4rrM0IIFCNUZdsZKGspJU56Xo17H47C+EfvImdxajLtZTF3vlh1j4uPYJkNlATwO+VL1NGanGqSH0Gxi1LFwnXbZ5Hi9FdgnEOnC+k/oN29+gZ0IQOBpD8PQIFKFnKI+3aQYWoluUScOoNntC21Icm+vgNSQSFYhgRieMDSzOMfiiO4hbn UObE9VMO xaFB479wChZKHtdKDPFqlJ78fIxLXLlcfMnpqoQg+2jsbpuMAEsGrF9GoMiWT+6I9Wcg+Nb/VWgrEHFxuWOF/Gc2zDA8FOSKYjtzDmTn1eBJcJYTY5P8cKiKxrdB/gcpmDjZfhdfX5eo8H1RjGRKQFX4JjA9v6qzV6fAjFxmhWLCTSLnzfDZRhewTsZx0l78o9WRTNJwUdPgAVbLpL7qpjsU9/TwvCUxJBL2NGB9RLXd/MounCh7g5vfpDu2KPj17LfU33waTsfo1G8Qo2lUwFPZn97i2NYMRY+cqJjec8oz7UGI94OA4/0R6EaYvzgVGGStyPFZz5XnYf2Lndr9Jp8sHM8kVYg9yKcNGjU5xptjOOYzmBWFViJOSbV7LigvHt6vrgku/it31PUDX6T3dwVjVswagBr2fLjPOwxAeFxqnfVYBsXgLwLlxFzAksr5NrMhYoThiQG7IRO6UXCoJeb46ZQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000100, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: reduces hold time as get_pid() contains an atomic Reviewed-by: Oleg Nesterov Signed-off-by: Mateusz Guzik --- kernel/exit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/exit.c b/kernel/exit.c index c79b41509cd3..b5c0cbc6bdfb 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -248,9 +248,10 @@ void release_task(struct task_struct *p) cgroup_release(p); + thread_pid = get_pid(p->thread_pid); + write_lock_irq(&tasklist_lock); ptrace_release_task(p); - thread_pid = get_pid(p->thread_pid); __exit_signal(p); /* From patchwork Wed Feb 5 19:32:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13961817 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 494F2C02199 for ; Wed, 5 Feb 2025 19:33:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9BAF280019; Wed, 5 Feb 2025 14:33:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C4B7A280018; Wed, 5 Feb 2025 14:33:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AED93280019; Wed, 5 Feb 2025 14:33:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 90C7F280018 for ; Wed, 5 Feb 2025 14:33:05 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3F888A09D7 for ; Wed, 5 Feb 2025 19:33:05 +0000 (UTC) X-FDA: 83086889130.14.93B555B Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) by imf24.hostedemail.com (Postfix) with ESMTP id 4EAF4180010 for ; Wed, 5 Feb 2025 19:33:03 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="OLAxhVK/"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.45 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783983; a=rsa-sha256; cv=none; b=b/xm70r2qrWzppb+38udcDK6MLG0ZsZhrD2Sh380v19+lc8eYQyT3j5bre1LFmet/S7kxq IcLLGeVNMl9bMI4B0l6d5gcmCoUkOKW6ZOUquWHhVavm3FJozUylz7bYld/Lz2sY9dSw5V MjQ5InwCKT6O3APmG1j2UdQi+anj28w= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="OLAxhVK/"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.45 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783983; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pj3pWrosGkUlfXcIPyDNQK+jIHHC44medwj1pRwHHC4=; b=iV6ccHsZ3rEqJ9Kk8VIB0RZjrM4aw3C2JyrxiB7fU0sowALUnNvK40grXSOn5MsISuwtyt AuPd3cqI6vEyzYvvaYD29krSkUF+qBKkXYJZBT1D9PPU0+LCrhTVlhGxLbEtrknt4WSQUM T0zoVomSyXb0WapBcfSj/g6tY2/QFTg= Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5dcc38c7c6bso310139a12.1 for ; Wed, 05 Feb 2025 11:33:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738783982; x=1739388782; darn=kvack.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=pj3pWrosGkUlfXcIPyDNQK+jIHHC44medwj1pRwHHC4=; b=OLAxhVK/GCblOix4hITrcLI09Er7IcjgklaCImXs3QjxUWF5htTIg+7F5UYxzrq2zN UFBvb2Ytl+7rvd7/dmtIFVn1iZYXYVuJiAYPWneIXW7sQNVQhZLzhlnmlYvphpwwsxlv sN31NIWM+nqILAEnA41SyOr5q6ZhWgqDSgKPGMPqHWlmRTFEtZ+sOimGcG0v0EWw6bZ5 QLJwFr1kCdM274quTVDHuNLZDXroq2fnHqyAOMHSBE1FFbABWmCsfUNNtxoBkivhwGDt jE36jfkL88RQSqUOR1KQ9ClqOFyiYDQp8aQhhtqEd/WeZpaFeXpOXEP8EwrDDyN8/9Oo a3Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738783982; x=1739388782; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pj3pWrosGkUlfXcIPyDNQK+jIHHC44medwj1pRwHHC4=; b=dzZ1qonNcHeqJh389gct+qe9byV5sC5noaejJwdIQey5mQ5kXM5MwXVPlQwsh3Di5T DM+fARaYlrPJgQH01ExitQDY8p5J6u8IVVO5qnvbKQxPBqfNwTdwW7WYs9DzuC/H6dKB PpBxMGgjEBnBktsJp6rUDB/ivdqCO2y1c4IdSw3nsNgkwWeDf5yvlhao5lTlAsTSeMYM baLJ83IITJmGonFod24fji2MO6Rz1omPS0j1z8PGF5SDBTCnmq69dRQun9kVsXS6y5HL 3yCyCC97EPbjnDd0hug3I+UxHsoeks6+f7BZCz0pXaXa1BfipVtb0Koz2rjCiSIkrIkA FqDQ== X-Forwarded-Encrypted: i=1; AJvYcCVI+3I3AXA090P+snSE2JvDwKzlz29dzhy4L/chB+hfIb3xIR2zwO+EHwtHSXx6g5zPejkfdT2/dg==@kvack.org X-Gm-Message-State: AOJu0YwiIjjDUynD30IoJ2oxHlK7gRiao+3wbHJxC4j+ZGJehxsB6WMe EK2CuMoK+aRN/RO1GD0cpgkohLQAvwOw/WZ/eShgvXuFhdsFUy44euhfvS+3 X-Gm-Gg: ASbGncsdQ8Nsniq2JRRodcQqeLQpXPNm29uYxA6Es2089cGhAd80Q8eckKkYcWRRieY ZwUFxuT5QNhSqNUrzlLyIyy3DWfonDjY2N6OZaTl6lIty1ef2kAB+cTveLrF6LNWNm2hmgVcVVC vqAQELMUY8bV3PfEgZk4/eGZIfDWSYn9K4e2UX3LVWra473v0PpLc8+kTY+A25jfvsxLuN/Fnwf 3XphZPIMXuLYsmmv4nEqupbU2sps7SUBApKxa8LL0wke9FBZwPy09vqjsKi01KsEcAurKqBLOf5 XLKR8as7sh3yYxNCd7cZMLkTxkYlMWA= X-Google-Smtp-Source: AGHT+IH+v0+Y71X4Ng4Ev9fgSiJ1PgjylvwyDIfUtEEs89NqNYiVQlGoTsrKGaT1p5nA/a4xbnCAyw== X-Received: by 2002:a17:907:7da0:b0:aaf:afb3:ad63 with SMTP id a640c23a62f3a-ab75e35de67mr425464666b.43.1738783981639; Wed, 05 Feb 2025 11:33:01 -0800 (PST) Received: from f.. (cst-prg-95-94.cust.vodafone.cz. [46.135.95.94]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6e47d06e5sm1167625566b.63.2025.02.05.11.32.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:33:01 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v4 3/5] pid: sprinkle tasklist_lock asserts Date: Wed, 5 Feb 2025 20:32:19 +0100 Message-ID: <20250205193221.402150-4-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205193221.402150-1-mjguzik@gmail.com> References: <20250205193221.402150-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4EAF4180010 X-Stat-Signature: kmh3qwfew3wujzxaz8ucqm69f66ffu4q X-Rspam-User: X-HE-Tag: 1738783983-590091 X-HE-Meta: U2FsdGVkX1/L5vxzR5vBx9PN5Za8OMEYDQXCdPQCZ4887MOm0ImHqPPQTfhjk54b48t4CddGMRMYiCYQ4+cvJSskoDsG10YfLGPa4NJvY6rupv+l/sF/LvrHTI7gBcZufCLF+VF90x5uWGj6ieLf37E6jryRb3bxuiTKCS3EG3oTFkYheOaeZoV4w++3XMIl3SF43Bf+30nuWqsnyeQ0+k3+8ul9UUIsJNA6qENWpZemQj6h48nVG6rohIR6RMD6xgoFCYiDhtUGNoRi+gJ3gzA87QPRhoiG0EimNs3c829QXIGPqUKBc+cuaI9lp4Kyuv7m5cip8ER8lvV5ftoDXxTbJdLV4kVEEIA46l9UIQDfYyRo2DXqkMk9p2eceb2IXpKVwm2Nykzf2BqvK7/NZE2HcAP/4mTcHVA4XJT1FaaZjLDcD0K4cGQr8mPKV/aWMsDx8ibJM0lQkpKmZiRgiDqb7jBCYrfizqDs0069YM20Y6beQwxsGtmouiftem9CcrskHgTckL8GCa+RzOoNBFfTcaSDmdCqc0JnZS3MQRqSjKXOvkqER8RLlBfhWoQecQPjGJqAQ/k4Iu3DfIGMu85g+C1Smip+hbBgjvpfwqfGIApoxCN9ijRr5OqImtZ23WGTgaTq6Pt3jvNO77y5D0MESavbBRxRjurjmjrk05RzyrBXv3yQnHZmFR23Mut5qNSj9Rb842q6DgOy3Fb9Z4eSyGELKKW+sAJaRIJPcoaKt11R8nnt8PLZWTPAElZHUHJI6GCBu5maN6BrJ0y51t2B65EfS0IvxJ3xv79ePb1m+Km18sPeqMHPjlj4fiIuac52Qe+KL2Lrt0hHaaKunKKQRzZJIE//lYaEqILYNIjUzyGHRgMt8LGNKEYi3HhncMce79tkMe2zS2cad4cbtKZPggJqtxUX4Lt9Qr0iX7ke8JVKE/PrtxTMV3VgUOycI8X5RnNXnQkEW2b+AlI MVWOF0TT ZWRQ66ZE5Dv0c3FiDaRoXX+PjA9ze1/x/1FKvWP8sIQMv+rGNc2OTiTHb+1n6soT9wO05TYVJuGi0iuUUEQqo0z0o2PBkGc6WgUTuvGh3Ye/uLWuwaOwvrtYmDYcCqUV16NoBHj6sGWbASQmgQs3fjavl+aaYmmDLFVVlflYz65wDca1vAS+tlV8izSLOtDktn+RDasvuM6Exat6byJDjxE+s6Lr9KXfANayovmg8EzTBZecnqu89VPUeKkSV737dZYmHbCnqLlFZSgw3NLVGIMNR7duGAVMPoPW86zTKeawYWLPp2hyQ4dyZnTbNd+Kk3o8msu4IzvbhdtVhn1rBNo3/yrpcwplczDyeicLf59eIqEvbZOXj0c2u3GYayAbfmUlyrOeR4idcJtYRIrCw9fd3jUWbTbzX4RhnbiahWMMXbJRMPOJ0t84S1Dc5jGiBkwxU X-Bogosity: Ham, tests=bogofilter, spamicity=0.000156, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Reviewed-by: Oleg Nesterov Signed-off-by: Mateusz Guzik --- kernel/pid.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/kernel/pid.c b/kernel/pid.c index 924084713be8..2ae872f689a7 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -339,17 +339,23 @@ static struct pid **task_pid_ptr(struct task_struct *task, enum pid_type type) */ void attach_pid(struct task_struct *task, enum pid_type type) { - struct pid *pid = *task_pid_ptr(task, type); + struct pid *pid; + + lockdep_assert_held_write(&tasklist_lock); + + pid = *task_pid_ptr(task, type); hlist_add_head_rcu(&task->pid_links[type], &pid->tasks[type]); } static void __change_pid(struct task_struct *task, enum pid_type type, struct pid *new) { - struct pid **pid_ptr = task_pid_ptr(task, type); - struct pid *pid; + struct pid **pid_ptr, *pid; int tmp; + lockdep_assert_held_write(&tasklist_lock); + + pid_ptr = task_pid_ptr(task, type); pid = *pid_ptr; hlist_del_rcu(&task->pid_links[type]); @@ -386,6 +392,8 @@ void exchange_tids(struct task_struct *left, struct task_struct *right) struct hlist_head *head1 = &pid1->tasks[PIDTYPE_PID]; struct hlist_head *head2 = &pid2->tasks[PIDTYPE_PID]; + lockdep_assert_held_write(&tasklist_lock); + /* Swap the single entry tid lists */ hlists_swap_heads_rcu(head1, head2); @@ -403,6 +411,7 @@ void transfer_pid(struct task_struct *old, struct task_struct *new, enum pid_type type) { WARN_ON_ONCE(type == PIDTYPE_PID); + lockdep_assert_held_write(&tasklist_lock); hlist_replace_rcu(&old->pid_links[type], &new->pid_links[type]); } From patchwork Wed Feb 5 19:32:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13961818 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FE8DC02192 for ; Wed, 5 Feb 2025 19:33:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0676828001A; Wed, 5 Feb 2025 14:33:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 018EF280018; Wed, 5 Feb 2025 14:33:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D0F2F28001A; Wed, 5 Feb 2025 14:33:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B1170280018 for ; Wed, 5 Feb 2025 14:33:08 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6EEC3A0A61 for ; Wed, 5 Feb 2025 19:33:08 +0000 (UTC) X-FDA: 83086889256.17.A91EF12 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf07.hostedemail.com (Postfix) with ESMTP id 6166E40006 for ; Wed, 5 Feb 2025 19:33:06 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=C5gn+LkO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783986; a=rsa-sha256; cv=none; b=IymR5LPEgQ8lEvt4Jryevy5GEJJJLuE2FiPvUIqAIG43grDFVfwiB/2OWHgEH0wOduZwnC 72dXLhk+bG6ve0VtEUjEt+BkScNWRbvexa1sQ1VpBRbUGf5ERStnC4vMVbXnGJB9LXky7K iRi/0FKGU5Pntir0GQywqHOyTaDCNUM= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=C5gn+LkO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf07.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783986; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UXXHLc4u2eFHoy15ceLKQBCXMdX6jJSCsW2EOllr/as=; b=Wkb/R9efFAdf8DgvWxlvmAxhOO9Dgi3v/ZCZyfzkPAh5P3FlPnVhQGzU41AATflPDr0oV7 SZkHvr81SLPzkPv8sW5LREE/m82BEiRBehP0SksLPbGnOGgPaPebsVnJ9CocqxukiMDzHf RvQxicC2QLrFZoSo5H94SvLaY0D2Sq0= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-aaf57c2e0beso35343466b.3 for ; Wed, 05 Feb 2025 11:33:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738783985; x=1739388785; darn=kvack.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=UXXHLc4u2eFHoy15ceLKQBCXMdX6jJSCsW2EOllr/as=; b=C5gn+LkOKI1OhcXA6wWhqojKBd/PjpA1xyZOr8MVLZeEp1WVHaQxo7IrPANU0JodQf EGAdXkwbhKTM9MbMzZtB3gPCThdQN7W+ZGu87N9AmBpgOm9bUruOt1o3EmvXwI5qwqCG TLCQJA43R+sKELsGfv3bnGAnedRNIqPm39lqw8gn4ucSd2Qcq6JuJPd25Yd0qp0SNyzw 3uhqe75FyYBlUACqNSearNc1aooyuodxyOZTLF6/uMRxB+/R2qn4lc3bZMS4OyAm8fM+ qZP1MUd2IOJetsWJ6/o/TBB6wwvr8rxk0RHzr09Annw+4RnvuS46QhmeySXP5zHlU4dn S4gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738783985; x=1739388785; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UXXHLc4u2eFHoy15ceLKQBCXMdX6jJSCsW2EOllr/as=; b=eSjkSZwPiW1T4aJGu0ybHG5oNL7bbJED8bNmCK/zqbBn/8BmDlTkfCDcETPZqL6wVo XlPigypMCyqtY6rsfHBG7gvbm6w+ivVInc4jAXrSTVt58FJMSFmLSS6NorogMCpEo06B O+DY0SPJeicrD1ar4q+TTJMSFxjhpZhaw7AfgbxbZ8F17PG84HFqzr8rGyoo7U15Vpbv 1ZecChy7QWNL+mwGONzwn8RSdlDnpcEYxOQ4RMUsvaB5PJds6E1spM9sBWS16NPJ3MMU S8NordzdwOJb1e+Nq9Z4iyBk6FBjKG9SaTRbGY2E02uhPREA9xAYA970KphoYGkLWTID Xu0w== X-Forwarded-Encrypted: i=1; AJvYcCW/5cyWG8vCT2fVcaGGMAr0emOjw4XAfTkSsZdOwsj0PgZJftWhGIo4I5jSJ9Fq9xscND4cLNKTvg==@kvack.org X-Gm-Message-State: AOJu0YzepACG8QAXDsPNF3siCsssv0vCx3XPQrenrFAn0lmgVjucZOcj qFC37NKspnIn7fDeAJ3+cMwr6l565O3wI/3rAjlP6M2E0TcpXUzN X-Gm-Gg: ASbGncucO/jTZ7VWtcmmKIv349IPpn2Ah3agPo/b5J/5vC7AS2136prbSXpSk7lwQjz AOozkqQG+i9R2YC9HsL+RiUEiRfhyehF1sCqLKPfpFU+/PxxetLS2YmV2wCgzzojjyq7/tzXcqp LSjarja9FX6vcSgLeUbUHEmbK3WlN44YcACuor9xHF16f4ormLS83dm2i/t8IsksHJJLPuswtpf Lqw53EIc/om4xUWxCxPmONpsidfXavs3WUY2KWEDJnG0KgbtRF975byI6GJ/8hJOpE3v0Po4DFi mPgh0eH7OaqjiI62tNzWCsYiPP+gJbw= X-Google-Smtp-Source: AGHT+IH87fxy1aLrQrJqjVndU/KUZbUqokE/PIdc/Vzb1N+A6BvcMKg6lkozfo6Pe9B89Kgseo4Ydw== X-Received: by 2002:a17:906:7315:b0:ab6:b9c0:1ea2 with SMTP id a640c23a62f3a-ab75e262015mr466983966b.25.1738783984670; Wed, 05 Feb 2025 11:33:04 -0800 (PST) Received: from f.. (cst-prg-95-94.cust.vodafone.cz. [46.135.95.94]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6e47d06e5sm1167625566b.63.2025.02.05.11.33.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:33:04 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v4 4/5] pid: perform free_pid() calls outside of tasklist_lock Date: Wed, 5 Feb 2025 20:32:20 +0100 Message-ID: <20250205193221.402150-5-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205193221.402150-1-mjguzik@gmail.com> References: <20250205193221.402150-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 6166E40006 X-Stat-Signature: iyw9ua77m4tejxkgzc9t6j5y135yoo7r X-Rspam-User: X-HE-Tag: 1738783986-599343 X-HE-Meta: U2FsdGVkX19syXI4FvVTNAT53w+GPUNclSvBZdV1hV4w9jbUYyoA/8JsVVBBakm9suG4gdnRXd1Ito+a8XEU3iAHRZhlxJtJoChM2bwpx7+X2jD/49i8a805hX7pcilCC/DAp9m3zLKGXmpwAX6YVFkwrv9ztSquEf1znW8nruJog5RoDkGYHpfEdkd5/QVTXe9bK2Qub0/opyQFur1emr0fhM2UjkztFW+k939bHCovhGWsr7/zhtG4cKBDrhmLyPO1d64+O2zTqxZktgh95s67VfGSLRfNqqLnuyiGt/RZC4q+9/Ge5QO332kQi57v4LjUVBx7UR1ORcy0KvKGfGNBQ8c5Yw48gtptpgAoJ274jbDGkzWU7SSF2pRSe+bVPlYMlWo3EgPOXW8QEWm3yYPGQ93yfgiPifeZpWf96c+ra1d4SzCM41lzcvseWS1wlwC9HbbouW78etpr+PbJ26LO6rpnSY3br4IqKqgUW9iyBj2L804C3a7/NYQ+s6uJCRZCf+5Q0ZLS0qL6FyXqIcqTIT9UmH2VYMgvZxnn0t3HyU7nSzX2QxnXvoFEur4++ENvZixTZAtUpCDSkI/wE86E3SqlLQn8wNHKnwby84A9Y5crQ91WILu/vFh4FszZ0lqzS3gsMaOMNH52q8tpS4EG5cyjUYiP1m8iQJAqwIBGsxXj6ocma6rSrXVGr69NTKlJCGbPaAX9sqcjAZXw6dgH3vO2OLLdT4RWIUaQvrDbrJdiuyYVW5zEk9lEsAdvsif0SRN9dkzhcnt/90w6f7zojqrpL6JH2V/Cng3gP8jpBN2GE4u4mAQhc50xYU6t//UfkrLIl31hr80cW9EXpkdaERsEROuHkOUw1R17asjicG+JAtKZGtlAhjd8JNjluvpzTLtxh8bU7JzZ83OUalUMVk12jXBMdkdflafUxt7VWSDpASUUTBUhmg9+lljmDD9cZ7FGdsKINW85drp i+aS69RL P1TfsBBZY4pys1BkewHMnqfFz+NGldlytcqB3g0syk/T3++Yz9fP48ZQjDlvhQkYJqX8P7Ruw89xy2nufC/I2mw8ZqxSJjqR5r1ekslqIWZ+gSTyezuv5RzFbB9r5v9LuxAQydNAkoJGZX2dPev9Ica0+d5UdV5txdW8TuehiHnPdnc3ETxd2GbjROBFWr49k/MasE771H8fpIazy3+xb7SUluzLfBRFFM5dI07IkJgDkTYgUfJwvj+VH0SCbLLS0BKfgQo5KrV0BZkOPpR8EMwiHq4cgoza2XSJ4pl74MtuOBwDj6oA5XFBl67fzB+nCtZ9WM2239g26/bNvC7TRCuDDKLdeUSkmEko8t/a5LwlP9KFCXZI9TCzAVOvmOiLZq8SS1JKNVnm8Ropn6Px5l/Zc8qLK7sNX+8tpoKWhxMMItFYkIKV1BPNllnh/bSWanYjs X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: As the clone side already executes pid allocation with only pidmap_lock held, issuing free_pid() while still holding tasklist_lock exacerbates total hold time of the latter. The pid array is smuggled through newly added release_task_post struct so that any extra things want to get moved out have means to do it. Reviewed-by: Oleg Nesterov Signed-off-by: Mateusz Guzik --- include/linux/pid.h | 7 ++++--- kernel/exit.c | 27 +++++++++++++++++++-------- kernel/pid.c | 44 ++++++++++++++++++++++---------------------- kernel/sys.c | 14 +++++++++----- 4 files changed, 54 insertions(+), 38 deletions(-) diff --git a/include/linux/pid.h b/include/linux/pid.h index 98837a1ff0f3..311ecebd7d56 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h @@ -101,9 +101,9 @@ extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type); * these helpers must be called with the tasklist_lock write-held. */ extern void attach_pid(struct task_struct *task, enum pid_type); -extern void detach_pid(struct task_struct *task, enum pid_type); -extern void change_pid(struct task_struct *task, enum pid_type, - struct pid *pid); +void detach_pid(struct pid **pids, struct task_struct *task, enum pid_type); +void change_pid(struct pid **pids, struct task_struct *task, enum pid_type, + struct pid *pid); extern void exchange_tids(struct task_struct *task, struct task_struct *old); extern void transfer_pid(struct task_struct *old, struct task_struct *new, enum pid_type); @@ -129,6 +129,7 @@ extern struct pid *find_ge_pid(int nr, struct pid_namespace *); extern struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, size_t set_tid_size); extern void free_pid(struct pid *pid); +void free_pids(struct pid **pids); extern void disable_pid_allocation(struct pid_namespace *ns); /* diff --git a/kernel/exit.c b/kernel/exit.c index b5c0cbc6bdfb..0d6df671c8a8 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -122,14 +122,22 @@ static __init int kernel_exit_sysfs_init(void) late_initcall(kernel_exit_sysfs_init); #endif -static void __unhash_process(struct task_struct *p, bool group_dead) +/* + * For things release_task() would like to do *after* tasklist_lock is released. + */ +struct release_task_post { + struct pid *pids[PIDTYPE_MAX]; +}; + +static void __unhash_process(struct release_task_post *post, struct task_struct *p, + bool group_dead) { nr_threads--; - detach_pid(p, PIDTYPE_PID); + detach_pid(post->pids, p, PIDTYPE_PID); if (group_dead) { - detach_pid(p, PIDTYPE_TGID); - detach_pid(p, PIDTYPE_PGID); - detach_pid(p, PIDTYPE_SID); + detach_pid(post->pids, p, PIDTYPE_TGID); + detach_pid(post->pids, p, PIDTYPE_PGID); + detach_pid(post->pids, p, PIDTYPE_SID); list_del_rcu(&p->tasks); list_del_init(&p->sibling); @@ -141,7 +149,7 @@ static void __unhash_process(struct task_struct *p, bool group_dead) /* * This function expects the tasklist_lock write-locked. */ -static void __exit_signal(struct task_struct *tsk) +static void __exit_signal(struct release_task_post *post, struct task_struct *tsk) { struct signal_struct *sig = tsk->signal; bool group_dead = thread_group_leader(tsk); @@ -194,7 +202,7 @@ static void __exit_signal(struct task_struct *tsk) task_io_accounting_add(&sig->ioac, &tsk->ioac); sig->sum_sched_runtime += tsk->se.sum_exec_runtime; sig->nr_threads--; - __unhash_process(tsk, group_dead); + __unhash_process(post, tsk, group_dead); write_sequnlock(&sig->stats_lock); /* @@ -236,10 +244,13 @@ void __weak release_thread(struct task_struct *dead_task) void release_task(struct task_struct *p) { + struct release_task_post post; struct task_struct *leader; struct pid *thread_pid; int zap_leader; repeat: + memset(&post, 0, sizeof(post)); + /* don't need to get the RCU readlock here - the process is dead and * can't be modifying its own credentials. But shut RCU-lockdep up */ rcu_read_lock(); @@ -252,7 +263,7 @@ void release_task(struct task_struct *p) write_lock_irq(&tasklist_lock); ptrace_release_task(p); - __exit_signal(p); + __exit_signal(&post, p); /* * If we are the last non-leader member of the thread diff --git a/kernel/pid.c b/kernel/pid.c index 2ae872f689a7..73625f28c166 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -88,20 +88,6 @@ struct pid_namespace init_pid_ns = { }; EXPORT_SYMBOL_GPL(init_pid_ns); -/* - * Note: disable interrupts while the pidmap_lock is held as an - * interrupt might come in and do read_lock(&tasklist_lock). - * - * If we don't disable interrupts there is a nasty deadlock between - * detach_pid()->free_pid() and another cpu that does - * spin_lock(&pidmap_lock) followed by an interrupt routine that does - * read_lock(&tasklist_lock); - * - * After we clean up the tasklist_lock and know there are no - * irq handlers that take it we can leave the interrupts enabled. - * For now it is easier to be safe than to prove it can't happen. - */ - static __cacheline_aligned_in_smp DEFINE_SPINLOCK(pidmap_lock); seqcount_spinlock_t pidmap_lock_seq = SEQCNT_SPINLOCK_ZERO(pidmap_lock_seq, &pidmap_lock); @@ -128,10 +114,11 @@ static void delayed_put_pid(struct rcu_head *rhp) void free_pid(struct pid *pid) { - /* We can be called with write_lock_irq(&tasklist_lock) held */ int i; unsigned long flags; + lockdep_assert_not_held(&tasklist_lock); + spin_lock_irqsave(&pidmap_lock, flags); for (i = 0; i <= pid->level; i++) { struct upid *upid = pid->numbers + i; @@ -160,6 +147,18 @@ void free_pid(struct pid *pid) call_rcu(&pid->rcu, delayed_put_pid); } +void free_pids(struct pid **pids) +{ + int tmp; + + /* + * This can batch pidmap_lock. + */ + for (tmp = PIDTYPE_MAX; --tmp >= 0; ) + if (pids[tmp]) + free_pid(pids[tmp]); +} + struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, size_t set_tid_size) { @@ -347,8 +346,8 @@ void attach_pid(struct task_struct *task, enum pid_type type) hlist_add_head_rcu(&task->pid_links[type], &pid->tasks[type]); } -static void __change_pid(struct task_struct *task, enum pid_type type, - struct pid *new) +static void __change_pid(struct pid **pids, struct task_struct *task, + enum pid_type type, struct pid *new) { struct pid **pid_ptr, *pid; int tmp; @@ -370,18 +369,19 @@ static void __change_pid(struct task_struct *task, enum pid_type type, if (pid_has_task(pid, tmp)) return; - free_pid(pid); + WARN_ON(pids[type]); + pids[type] = pid; } -void detach_pid(struct task_struct *task, enum pid_type type) +void detach_pid(struct pid **pids, struct task_struct *task, enum pid_type type) { - __change_pid(task, type, NULL); + __change_pid(pids, task, type, NULL); } -void change_pid(struct task_struct *task, enum pid_type type, +void change_pid(struct pid **pids, struct task_struct *task, enum pid_type type, struct pid *pid) { - __change_pid(task, type, pid); + __change_pid(pids, task, type, pid); attach_pid(task, type); } diff --git a/kernel/sys.c b/kernel/sys.c index cb366ff8703a..4efca8a97d62 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1085,6 +1085,7 @@ SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid) { struct task_struct *p; struct task_struct *group_leader = current->group_leader; + struct pid *pids[PIDTYPE_MAX] = { 0 }; struct pid *pgrp; int err; @@ -1142,13 +1143,14 @@ SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid) goto out; if (task_pgrp(p) != pgrp) - change_pid(p, PIDTYPE_PGID, pgrp); + change_pid(pids, p, PIDTYPE_PGID, pgrp); err = 0; out: /* All paths lead to here, thus we are safe. -DaveM */ write_unlock_irq(&tasklist_lock); rcu_read_unlock(); + free_pids(pids); return err; } @@ -1222,21 +1224,22 @@ SYSCALL_DEFINE1(getsid, pid_t, pid) return retval; } -static void set_special_pids(struct pid *pid) +static void set_special_pids(struct pid **pids, struct pid *pid) { struct task_struct *curr = current->group_leader; if (task_session(curr) != pid) - change_pid(curr, PIDTYPE_SID, pid); + change_pid(pids, curr, PIDTYPE_SID, pid); if (task_pgrp(curr) != pid) - change_pid(curr, PIDTYPE_PGID, pid); + change_pid(pids, curr, PIDTYPE_PGID, pid); } int ksys_setsid(void) { struct task_struct *group_leader = current->group_leader; struct pid *sid = task_pid(group_leader); + struct pid *pids[PIDTYPE_MAX] = { 0 }; pid_t session = pid_vnr(sid); int err = -EPERM; @@ -1252,13 +1255,14 @@ int ksys_setsid(void) goto out; group_leader->signal->leader = 1; - set_special_pids(sid); + set_special_pids(pids, sid); proc_clear_tty(group_leader); err = session; out: write_unlock_irq(&tasklist_lock); + free_pids(pids); if (err > 0) { proc_sid_connector(group_leader); sched_autogroup_create_attach(group_leader); From patchwork Wed Feb 5 19:32:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz Guzik X-Patchwork-Id: 13961819 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 479D7C02198 for ; Wed, 5 Feb 2025 19:33:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE94C28001B; Wed, 5 Feb 2025 14:33:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C99EB280018; Wed, 5 Feb 2025 14:33:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B39BE28001B; Wed, 5 Feb 2025 14:33:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8F306280018 for ; Wed, 5 Feb 2025 14:33:11 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 39D32AEAF0 for ; Wed, 5 Feb 2025 19:33:11 +0000 (UTC) X-FDA: 83086889382.05.54D86D9 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf27.hostedemail.com (Postfix) with ESMTP id 527CC40003 for ; Wed, 5 Feb 2025 19:33:09 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=g6LjwnEj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783989; a=rsa-sha256; cv=none; b=YF92rRYR2NKpddm7SutUecsgjNp3Kl/vDO4vTPaplvIxqH3X0IQ5ovziIdEfwHRBt1pj+G i4A0ScD5MwNuxziwEIZu2Oj1VjGZdH2pE1XEIIAVJGjSWqs6S8Ib0z46Wqpq3XxHV90dHI 2LPAv5L55ld1klCt46jdwBXnlfjelzk= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=g6LjwnEj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783989; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6DMFX6YMCCpHUnKPYix3pzepx5ItpSalkZSrvWGNgEw=; b=4g/eS5lvqZhif3KGVc2E71PB2LxENb86SrTJZykfQCdqJ4u5V4Q/YwCUjm4hG80/rZLS6M 0Q4mebXk/TkE1fkKn+WB/BXxk8aF/VpsQ6bKLRvBdncNDRkXaGxrKDX12cu+zWDYJowEb/ d5Rm8hTynWT6zD79C+7koSLhiLjNK+U= Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-ab34a170526so28168366b.0 for ; Wed, 05 Feb 2025 11:33:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738783988; x=1739388788; darn=kvack.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=6DMFX6YMCCpHUnKPYix3pzepx5ItpSalkZSrvWGNgEw=; b=g6LjwnEjeqnF832iCDet/RIbogDlIlEnLOBDWo36v8eXWtpN1NcZWAAXPUidAOeF1e DlQ64sQnRbY/2gyvzzQaCwqyXhzZU+uiTDcEEhlApE/q5Yh/LjWQcZVJDusxnq30v98s n912BtfwbAJAizorkiFMS13SaD3mj3bNH+kDZe7rTU7h0/tSdLRvlj1f4nznzNoAk6YR QOX/MU/Xm785VzVeiIQrVhiMbofYZwkW4gDVqe322er6y5zKqOXYBHiRWyUR5FOCvkWk PjYyAAjK7grxJKEWD7pZX2rUOEc8PjpWfzyiOEdbHHuIAMxIQy1C/h+0836N4WwykhTi PJAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738783988; x=1739388788; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6DMFX6YMCCpHUnKPYix3pzepx5ItpSalkZSrvWGNgEw=; b=npyNmd6+MLXEvJskoj7sW5gOPVf8zhaa8L7b6HjHFdDPBSfiUJMqOwwMUXELkV74e0 aQrnmk3EEzVoQSaHxxOjPBHlvmDeiH6/Hr9o6rRMJ9vQTyvrQBaEuNHsTIFWC910gYHA QCUJQZjxwZ7Ycyb5m9s9OiLbd6MUKhiVdvoV85DZtKi+lWplyDVPIBabs3xmDB44PoKt vJbZ5rHPZNjLzTy5mMYauh8frWnpbTkJEg/3JURUdTYIKgMITPSpPcpaiOvUxkDGZ/kz 9A/NPRi7m+fGvc+hEX9YzKmOITYNfv14ST/RWUNICG3qDF+gWiw3veW0/lo8JW4ngMJ5 bNSg== X-Forwarded-Encrypted: i=1; AJvYcCWb72ESOBo49HU8zEWzWbTlvWIidIxWbwnPTXBf+4AXAe5NHqZBp65uGq/SpfH7aQhwZ651HuWtVA==@kvack.org X-Gm-Message-State: AOJu0Yx/UqnczIUZhlSdV1hJcKo5eoMNkgdvKX/Cw18448T8fQYYc8HF q3hoPjHJbZy0SOD40MfOT0zuKF8PeK/AYESxW49aWv07BPC6PVqM X-Gm-Gg: ASbGncuNjhnTGC917KPnW6EAKL5bda4pcw2yES+R2VTP1la72TcXGbZ4mIUW4n0RwG+ 7vU/rruUxHXPauqGrqUrNOd+LR3mGyZ3ETSsaHaI2ddsfeLrQxABdYBHkrF8vWNWOd+YDxOzLTW Nbew3g+DXoIc70nVzFoTGIbqbkejI3SsN8LCBxa1YngTYteub1Pv/WRS/w5D4EvZL5tJ3kgSXEs gWctiK7Nadvz5h6OmPuRMH5UnJjURIwmjCNOetFzw5XeMhl92K82fSoKlP357PyHkQcMDsoe4Ff YsG1jjR3bAGK0ulOg+Hw7L8ecvomxqI= X-Google-Smtp-Source: AGHT+IEspfSoxqbLIt/wPS3oIyPyVwU5YXPwKuyWMm8XPvGckSHESK4eRb45elfXhYfcQxhI/KTf5w== X-Received: by 2002:a17:906:7315:b0:aaf:1183:ec2c with SMTP id a640c23a62f3a-ab75e221e80mr485372166b.5.1738783987681; Wed, 05 Feb 2025 11:33:07 -0800 (PST) Received: from f.. (cst-prg-95-94.cust.vodafone.cz. [46.135.95.94]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6e47d06e5sm1167625566b.63.2025.02.05.11.33.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:33:07 -0800 (PST) From: Mateusz Guzik To: ebiederm@xmission.com, oleg@redhat.com Cc: brauner@kernel.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mateusz Guzik Subject: [PATCH v4 5/5] pid: drop irq disablement around pidmap_lock Date: Wed, 5 Feb 2025 20:32:21 +0100 Message-ID: <20250205193221.402150-6-mjguzik@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205193221.402150-1-mjguzik@gmail.com> References: <20250205193221.402150-1-mjguzik@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 527CC40003 X-Stat-Signature: xwrpt74bm3jnx456tr9i63hzcfkoousr X-Rspam-User: X-HE-Tag: 1738783989-7949 X-HE-Meta: U2FsdGVkX1+6FSKwqZe6qn9oKhckYHZd+u2PoCoxanL4t4U0prMOVXfaz/ip84MoYZTnARemiLAZCJQ4X+xcbNXxHNihq/tI+kikpLWKc/6Cg7jEFzZbYlhWNZ3ivzjEnSz2KFjHT3Hu4GFFO7pdMavGPzQO9hDQ0sTtx3LN9uMA1mPKku7kvC+cvMXA2v8E/Pmt2c921Y2ltSiBtZhhgnIzqsiuWNa3kRe7Kym4Ymv7SRalgT0s8Ay4hKJxTC6Ckf3HDN7rBersVkERmcfHhJujfkXwJLKgKz1YrHIZYD91Q0ZQ9JA6NMf3SAvQK/sTLQursd45nH/zSk2WeyL/CDcS4IfaiKO253Ro68uHRg6mr0pvprjlS41NW/D5jxTBIkUUorJyhVFOosqXKpL2rv/oAMOTRAm9HfurKFYDR13G1sACz89GYFCtyuzF/L1mpVjSWs5uyYFddosWXT4JZR4eRvm8iwU2MB24bRzNv/P1ZC7CkL4l9QwqP2vYLdFrtU7mI8nsBY7E6gjFJjmpBRqKhpOo20tUI6eb/5mSC1d+I785Z8tDlpJTKQU3AWy5nNNNjUGyHfO82+ifBGOT9+bTg2u45gIdeV1JzjmK+6cOSXlwAIJjYgxIROKkIjVK/AQlnHTpYuQg18GynaueMNKAO0NXJRuB3lN+RwAkbDYSbz9WAtWQYxMxaIpIYqAgSYxjz+G6dMuRC8ChXIntBV3FnhBdqNSESlHwTsFdUx0Emdmn52/1LRiQXafQAZXDG4lks+oWvWiK3gZxSVwizZmVFa2cDwliR1AkF+1RYATZzLZW1Ty3icjRmB+UjqCol+KP8SVx/L9ecZms2JRBeAnoD5zW98zI/XLLy80JcGs9HiT49Jl/SR0hLevexMfobZLFn4Gih0TDWyBVCcFO+qBeZbCtkw1JbImYZkLRsmSkrnFi5cC7iM/b09nCNvw/E8Z5Mqqnir1fZHf4fDc LJixncQI Hww0wQlnqWMCWWNKIOySzqRsThrUNW+fvPPv4XN8EibBUByjVNicVHPtMV5mzin0g4mYJbp35ImPJUq9JQ6IUH7OLwXcc8RZwcDVn3Odz41rvXro4ypJ7YwSZVcBZve9WKsjgooslt7mmYBAy7F8ANG8/SxkUGEY8OaXwJhASqRgJw4wR3+h3KoCADoAXWkWEx9DKR98lvSaqhg4b2M3Ao/Ocmj/eDxQpk8ySYIkAohS9E4sNZO4v5bWJF9VaaVWWcMYBCva3/G+uuQVVo1C8VbEg9k/47RKB5MmSS3bpe8FH15Rib+3V17VcBhBRMJs2mnSGHA7QA5HsFs7sRWQQuHjJd2fsciSuBuiXE/WqkU/h+xBHpZ4Z844XLMyLgmwBQWN/LLfbdiA/OmDkKiemiGn94PAnlWLRjTJ0BrnIv2N0QMKjlKQ8h75pM3FzgVDAg0Db X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: It no longer serves any purpose now that the tasklist_lock -> pidmap_lock ordering got eliminated. Reviewed-by: Oleg Nesterov Signed-off-by: Mateusz Guzik --- kernel/pid.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/kernel/pid.c b/kernel/pid.c index 73625f28c166..900193de4232 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -115,11 +115,10 @@ static void delayed_put_pid(struct rcu_head *rhp) void free_pid(struct pid *pid) { int i; - unsigned long flags; lockdep_assert_not_held(&tasklist_lock); - spin_lock_irqsave(&pidmap_lock, flags); + spin_lock(&pidmap_lock); for (i = 0; i <= pid->level; i++) { struct upid *upid = pid->numbers + i; struct pid_namespace *ns = upid->ns; @@ -142,7 +141,7 @@ void free_pid(struct pid *pid) idr_remove(&ns->idr, upid->nr); } pidfs_remove_pid(pid); - spin_unlock_irqrestore(&pidmap_lock, flags); + spin_unlock(&pidmap_lock); call_rcu(&pid->rcu, delayed_put_pid); } @@ -210,7 +209,7 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, } idr_preload(GFP_KERNEL); - spin_lock_irq(&pidmap_lock); + spin_lock(&pidmap_lock); if (tid) { nr = idr_alloc(&tmp->idr, NULL, tid, @@ -237,7 +236,7 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, nr = idr_alloc_cyclic(&tmp->idr, NULL, pid_min, pid_max, GFP_ATOMIC); } - spin_unlock_irq(&pidmap_lock); + spin_unlock(&pidmap_lock); idr_preload_end(); if (nr < 0) { @@ -271,7 +270,7 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, upid = pid->numbers + ns->level; idr_preload(GFP_KERNEL); - spin_lock_irq(&pidmap_lock); + spin_lock(&pidmap_lock); if (!(ns->pid_allocated & PIDNS_ADDING)) goto out_unlock; pidfs_add_pid(pid); @@ -280,18 +279,18 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, idr_replace(&upid->ns->idr, pid, upid->nr); upid->ns->pid_allocated++; } - spin_unlock_irq(&pidmap_lock); + spin_unlock(&pidmap_lock); idr_preload_end(); return pid; out_unlock: - spin_unlock_irq(&pidmap_lock); + spin_unlock(&pidmap_lock); idr_preload_end(); put_pid_ns(ns); out_free: - spin_lock_irq(&pidmap_lock); + spin_lock(&pidmap_lock); while (++i <= ns->level) { upid = pid->numbers + i; idr_remove(&upid->ns->idr, upid->nr); @@ -301,7 +300,7 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, if (ns->pid_allocated == PIDNS_ADDING) idr_set_cursor(&ns->idr, 0); - spin_unlock_irq(&pidmap_lock); + spin_unlock(&pidmap_lock); kmem_cache_free(ns->pid_cachep, pid); return ERR_PTR(retval); @@ -309,9 +308,9 @@ struct pid *alloc_pid(struct pid_namespace *ns, pid_t *set_tid, void disable_pid_allocation(struct pid_namespace *ns) { - spin_lock_irq(&pidmap_lock); + spin_lock(&pidmap_lock); ns->pid_allocated &= ~PIDNS_ADDING; - spin_unlock_irq(&pidmap_lock); + spin_unlock(&pidmap_lock); } struct pid *find_pid_ns(int nr, struct pid_namespace *ns)