From mboxrd@z Thu Jan 1 00:00:00 1970 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 A2F29C0015E for ; Tue, 15 Aug 2023 07:29:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03341900020; Tue, 15 Aug 2023 03:29:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F265090000B; Tue, 15 Aug 2023 03:29:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DC7A7900020; Tue, 15 Aug 2023 03:29:23 -0400 (EDT) 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 CA9D490000B for ; Tue, 15 Aug 2023 03:29:23 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 979051A04E4 for ; Tue, 15 Aug 2023 07:29:23 +0000 (UTC) X-FDA: 81125513406.27.F317C77 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 686CAA0017 for ; Tue, 15 Aug 2023 07:29:21 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=SdcTJ4cH; spf=pass (imf15.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692084561; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GDEU9/G8qrOZdDq+xkFpm65x5rHPDpAyfBEoh8SrIbM=; b=Zx6atY2H5q33EHbbS97+DXs6ICQZ5EsDZohDIpCjbu5sjUtWSDPz4waT0gpWJ6i+YAmmeG sv6PFIykOk0CaOGZXyzVDdbZkMvasIUhk5Pv1pIgvjnclxCOLoTgnSUvF+PetmOIvS0KPw nCUyORGGjwufDj4JqhVLJebj3gGJxOI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692084561; a=rsa-sha256; cv=none; b=Juci4nR7v9noTqAKVFiwf/ZDSIjU8CjUDaJOERkzDQip41veqSpqLakxt4IiTW+9+Hma9G 3gJbkuWER1x4I1FryxfU0/LMQBKEVO2i4uuoPsaqBZlAquQJ1Q/7KWTdPqR+dOItnTkwY6 L00AAkaxNeKyIUd369F4NgumVAkDCKM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=SdcTJ4cH; spf=pass (imf15.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1692084560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GDEU9/G8qrOZdDq+xkFpm65x5rHPDpAyfBEoh8SrIbM=; b=SdcTJ4cH2Ypi1brb7eFzkdxd1WI0FRXrW8Aadx7jDRk5INgjDREH3xhDjCUQ40CkMiC5Rm WMEs2LIuFDpMWsQp51qkRIpL1f3Jdjqc4blzZ8jiGQcULaza6+3GtWpWwCCxBiqlba2ZYD KLKOYcqMIkEtnkYq8JjNkMyJ8v32Um4= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-130-aVVzDBtZMAu0ocBsejpsHA-1; Tue, 15 Aug 2023 03:29:19 -0400 X-MC-Unique: aVVzDBtZMAu0ocBsejpsHA-1 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3195d624c68so2187304f8f.3 for ; Tue, 15 Aug 2023 00:29:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692084558; x=1692689358; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GDEU9/G8qrOZdDq+xkFpm65x5rHPDpAyfBEoh8SrIbM=; b=aOsyGs8GnndNSo5ax6wI9hPCUNCeHy+HYmyBKeSb6eCDlC2EZt/Brq+/Iwl2F0IhH2 DxYLPV69EuPgLz90fOhQ74YMTgF0a4YPep6QmUHZa7mg4T9hf0ZZJwSDuMwYq52U8/FH OjuS9kt8yAyVvcpVB+1STSIpLpB4c3rei4GR+ABnkH0rH5Gztpfay097cltc0pYQcod4 3UzIB6MRsQW31KLFdJWBATe6/9ER8BZ5IEYRNbTwUaV4XorXubxlwV80600rJ6J8jYyq BqYW+Drffj8O9AA5tIFlF54nlrfTqx4/q7046laPg7CvL58qfQ0ZQhHBXD/qrtFiaI+E 7F0A== X-Gm-Message-State: AOJu0YxtO8+bjEJRab0jmR241+xGVLMC1R/8vqWc0P6RRrTDl4H7tLnA MqloEAgW44DIX6nTMyTrWO+8TMPvHwvJ4kod8Xs7T9XfC20KsoV6dAbX7bRVU0oeELSzLNCf5Wq 7869lo2X/Tyw= X-Received: by 2002:a5d:4301:0:b0:319:5e3b:d484 with SMTP id h1-20020a5d4301000000b003195e3bd484mr7683218wrq.45.1692084558193; Tue, 15 Aug 2023 00:29:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEEI+wTq6+vzXXuuA9J2opFcmVElEaCNNBWq/iMAo7KsRPyKerkVGllcEvyNEjO883L2YiFQ== X-Received: by 2002:a5d:4301:0:b0:319:5e3b:d484 with SMTP id h1-20020a5d4301000000b003195e3bd484mr7683202wrq.45.1692084557858; Tue, 15 Aug 2023 00:29:17 -0700 (PDT) Received: from ?IPV6:2003:cb:c701:3100:c642:ba83:8c37:b0e? (p200300cbc7013100c642ba838c370b0e.dip0.t-ipconnect.de. [2003:cb:c701:3100:c642:ba83:8c37:b0e]) by smtp.gmail.com with ESMTPSA id j1-20020a056000124100b003180822cf8fsm16974798wrx.1.2023.08.15.00.29.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Aug 2023 00:29:17 -0700 (PDT) Message-ID: <39b65258-5ab5-fdff-099a-999f5a4350ee@redhat.com> Date: Tue, 15 Aug 2023 09:29:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v2] kernel/fork: stop playing lockless games for exe_file replacement To: Mateusz Guzik , linux-kernel@vger.kernel.org Cc: torvalds@linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, akpm@linux-foundation.org, linux-mm@kvack.org, koct9i@gmail.com, oleg@redhat.com, dave@stgolabs.net References: <20230814172140.1777161-1-mjguzik@gmail.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20230814172140.1777161-1-mjguzik@gmail.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 686CAA0017 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5c4f79ezpfrwnsk5cpnudr9diqqismhi X-HE-Tag: 1692084561-746205 X-HE-Meta: U2FsdGVkX1/8miDJuas7GW7LKCxLx+jpNsvImDhV3xPP2vV74j9MtCirNdTkcn9p7Bem9mdxZI2yHVUIVJYAw7kJW9z1GtTrdT8eGInsFjitovrv6ITgNvj/PjsuLXQKHAT41b7PDqUZk+RR6DJ3YJVfC882UlnJIHpoddegSfC1eBbFU0SuNdMTdHLRa4RJjMXGeVSs4Lc6K6/003G++sCMAw4K2IKb5Fio1MDEtdjoYDHsLo9CHDjEv1BHpJotmRD7T2sc6w1upVNXpDkysYdHtOyeFtAsOsjLK1BHpOQmuIHBZP41S/CMu6lpZsrQ/B83xj7g1u05MaSqRqVSU0cJ5C6qR1xsjjuACsVAjrEZqJSYyM8U1KfEykiCPZ4nKYY2H8WW5G7rUXOVT7TIQ5zTB74Jm+1iKollXqTQdp4TV1ID/rndd/QTRxtCITcMDA0BD7MOMgsCbOkbv8gbfhLcVD41ZeuEfnmU1GciPkv80F8WMUOEFjqhGJOwVaYV1lzbJpQW7lQPGUp2MgmGdejMe7zmUi/l2NX2qOjim3k2pkIg0xW4N3RIFgWF7CUDc3sGSqbHJ+ml7I2LfWib8u8WLaS0s5p6kB3hX6SqNsIyQtbzIVXT2rmmO5Ig8B8fHmpWKcEdKxERiSzLib6xRQOIgGPsdg1ekdAq3Nk8GgnqzGFhYLaDBJ8bWVHvrq2MkcaXS+HW7cYjMtSOuCV4VwzKdrhoXm4xlsBAI7a4r8Gy86q7hXEdWcHIbhFmwOuacz913HnYVBBebuSc86yad+umBZQHdJV6qiOEVTwZIB61dL4ZHkbyiczxudrRh6SHshnnoFHLlGBWdyabB7cZuM5qOSco01dVNSBw9DQBuPmzDmR/5T7gyBTfFqXmote9GKJgKM4HzDe05ZoL40accZcePaoHMWCS/pMT4Wlzq+tVQi7wZFMAr6+Xrdk53natRI42m/vnGMKZhjTnYI4 NDMiCpMX HSenxDeHPxmBCBLG6Jlo8fAfM0Cnan7nq2hxStx7lU0EJAlwCJAcFpOHaueXNf1Jmqd6xHLI608TAMBAo9Kq23ABUdGWG/qtrPhvTFQ/5YYuks/qgCi1mDGIsdcVYGdq9bprxDhdxB4I/g1N7w6sVbbLAvR9M76tDZDO7DRoLikFF29SDrdZ7BS39HY0GOORBHD1TCacA13G84lZbQF+YOH5kJIMhgJN7Hd6FOdpmlOLrrvkAroPNXuJOUHNIJcu827HNPOPK9PYQNXhaNPoNuySHkUekOkMcrJPYjblXghUHfoFx5Mvj1js6kM/vEogdHjoIb1UfUuRiWRtxuiGOFSqvKlwXZWQn/NO9kL8OoGxGYEKs5t85qgIC+IWvX/jZRbEP2ASk5QMKJSGzfDkJ5sCyfrWFrEbPCSeJnyQkXgYGhzG+WdMNqFcfhxw0IVrpfuzuylxgH00cfYDYnTSs3wCIPx/mc3labDWQjX1dBEyWFUCzPKvo3sBGOOQIMF7NC5xOrYiPmBF9y/e7CuCUStAz8Ik7w4TOzegoZE0fdcvb05BZoX7I1t02sTa7OkyxXuOqyZKYRtfONPrAsZIxxhwj/g== 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: On 14.08.23 19:21, Mateusz Guzik wrote: > xchg originated in 6e399cd144d8 ("prctl: avoid using mmap_sem for > exe_file serialization"). While the commit message does not explain > *why* the change, I found the original submission [1] which ultimately > claims it cleans things up by removing dependency of exe_file on the > semaphore. > > However, fe69d560b5bd ("kernel/fork: always deny write access to current > MM exe_file") added a semaphore up/down cycle to synchronize the state > of exe_file against fork, defeating the point of the original change. > > This is on top of semaphore trips already present both in the replacing > function and prctl (the only consumer). > > Normally replacing exe_file does not happen for busy processes, thus > write-locking is not an impediment to performance in the intended use > case. If someone keeps invoking the routine for a busy processes they > are trying to play dirty and that's another reason to avoid any > trickery. > > As such I think the atomic here only adds complexity for no benefit. > > Just write-lock around the replacement. > > I also note that replacement races against the mapping check loop as > nothing synchronizes actual assignment with with said checks but I am > not addressing it in this patch. (Is the loop of any use to begin with?) > > V2: > - fix up comments > - tweak commit message > > Link: https://lore.kernel.org/linux-mm/1424979417.10344.14.camel@stgolabs.net/ [1] > Signed-off-by: Mateusz Guzik > --- Acked-by: David Hildenbrand -- Cheers, David / dhildenb