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 DE773C7EE23 for ; Fri, 24 Feb 2023 17:42:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 687356B0078; Fri, 24 Feb 2023 12:42:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 638276B007B; Fri, 24 Feb 2023 12:42:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 527666B007D; Fri, 24 Feb 2023 12:42:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4003F6B0078 for ; Fri, 24 Feb 2023 12:42:55 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 16E651C6613 for ; Fri, 24 Feb 2023 17:42:55 +0000 (UTC) X-FDA: 80502905910.14.E2D8B9A Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) by imf14.hostedemail.com (Postfix) with ESMTP id 4C002100012 for ; Fri, 24 Feb 2023 17:42:53 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="a5/uEcnS"; spf=pass (imf14.hostedemail.com: domain of jthoughton@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677260573; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ImfHWq2alcMESc+jlZwm6NFsn5wdlz4TeCafnSlnQRY=; b=yU/RNxOcTCq63MSCg4Nfrsg06PWb3eb7ZoKAZM3xRhaBF4Umjc/duUorsYs3Ym75id+mXE 4isL85aCHKGH7x8C698YN4GviCirFlIRpmDi1cVZJ4su9j4k/wWpDtMGeTccvNqk+1VuTo d1x6UWqkpalh6OfXMDVJsII0TGm9+VI= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="a5/uEcnS"; spf=pass (imf14.hostedemail.com: domain of jthoughton@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677260573; a=rsa-sha256; cv=none; b=ynuK7ILEaYV2iTFOSm187oEmiF7w0BNoDzPKIzbYFb+4lfg5wfjYkRqfTCpM1YYIpBU9WF 8jG2cWcH13lQLslSbjCV1M2UxqwEjrsaLohHBX3yO6z/WnjNijxuJipilVHrow6a9vyyio gHlOREcIgzCsPF1scMf3SOp1nJZzMwM= Received: by mail-vs1-f52.google.com with SMTP id f23so379558vsa.13 for ; Fri, 24 Feb 2023 09:42:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ImfHWq2alcMESc+jlZwm6NFsn5wdlz4TeCafnSlnQRY=; b=a5/uEcnSHAw3vjGfVMDszS2akB2i9mpVfz/PyhLG3EbUelFnXQdjWguWYRK7rLj+Ba T732vrPBnEMWStHMrOvCrZdmOxGOPoh+0PHTvGvb9TPJvBsWLLru/SgiMsNP67YVAmfY VROMsr6Gstg0TU6qN9Dzrlb0bu3U0GongYwWh3m8hgnAE/ze4LzTb5084gxtNHpLPoCK 78DvVHHjTdMQinQxw5VU8SIZJ74hFa2IrpM5AtyLgv3z4QTUqKib7wbYVG6u35jifcSH 41CBzXc/o+C8zei2jOJBL72pBnC16bSeSW8MFGdm/o6kevvGm5a77MAxP/kZXRf8vy3h omNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ImfHWq2alcMESc+jlZwm6NFsn5wdlz4TeCafnSlnQRY=; b=6u/NoIYn45k68bsLaQV1PYtz6RHmLq+h0SUf54cICs90cJ8RKF1nCQ8ofc5ppWycqB jZNdKEhga5J/lr9IfXZMCTFoCuLVkXAUqECjYmjSZS7NnIjQomrC19FDS2XJ9MB4RlzH hLTQ1CLvqiu7CbMCEMrB8qQTOregXo8AKJRmuNe1yv5j5gDhZKs4OnAiw5d/lJneSqCG ShKjSP1YoyCslbnyApEP07xGuqFBI1Nw+sBfOzQbpYEFG03zrP0D/AcbcRTRUJ358QJX VtjQhjb12Jop/q4OMMz+UhvzkxDmixrkqYfzlTyT5jpBn0iM83Dvshj9g5TLH5daBClM 1AjA== X-Gm-Message-State: AO0yUKW5h1z7DxqGH/wJ6rTbzFAb6nK0yuOevrIhIpUNA/OBOxVLk3hD YaCPpiZr2/wqt3OgG/Lc0pU42cHgbDi/qBZNBabGNQ== X-Google-Smtp-Source: AK7set8XJ+X/I7BuVEK4uI2uLjeWUMpq+1S58VzfWVUN+y/M/G72dDeRJ2+H+BRiYY/inCy8ILlhax+H7H7dwCSZ/wk= X-Received: by 2002:a05:6102:1264:b0:412:d18:c718 with SMTP id q4-20020a056102126400b004120d18c718mr2889952vsg.3.1677260572300; Fri, 24 Feb 2023 09:42:52 -0800 (PST) MIME-Version: 1.0 References: <20230218002819.1486479-1-jthoughton@google.com> <20230218002819.1486479-36-jthoughton@google.com> In-Reply-To: <20230218002819.1486479-36-jthoughton@google.com> From: James Houghton Date: Fri, 24 Feb 2023 09:42:16 -0800 Message-ID: Subject: Re: [PATCH v2 35/46] hugetlb: add check to prevent refcount overflow via HGM To: Mike Kravetz , Muchun Song , Peter Xu , Andrew Morton Cc: David Hildenbrand , David Rientjes , Axel Rasmussen , Mina Almasry , "Zach O'Keefe" , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Frank van der Linden , Jiaqi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4C002100012 X-Stat-Signature: k9ndsz1g6gni7cqw91hx17wx6pyhaycq X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1677260573-212667 X-HE-Meta: U2FsdGVkX1/4g6x6D9kCUWDo+CJ8ni4q0on2qeOL/Ak34qGbEc++6QGOhnPKw4TogdOQphaD/3A1MzOAAqv6NSXV7B1a3zcmUsaiHN8Rljr/gsyLLEO/OzKU9a+cNpFtXuJSQqSETBL4QYfzIRvW+Kd8TzugImPTEL4gc05UegSvIuFfDXGAZx1FroNsLBdI6u8/yNS44LKJ0fGNR3fWprg2vaP5p2pdJHY9RVPnB1Xxgzi2xoBm+eAd9NUe9FBID5WdM3rJLG5HTpvJxDsx4OJ+zQgU+q+Ci1bfYjK/21JQXev8pwB04T+g71lJ78ybqG3NdN0gkddSeJmbJChA7BcPdeVv9NmIs/L1vl7f23DBS43gp6XygtqPPhT3o2ONyJMf1LVGXIQzgQOZwUWG5FSA9ryVInBbPgbNEt0O6vIDi3r/bGKXlg0rVnZeoFuHSIFXuC0gzafjZmAWzI5EPwBAd5Kklyo5cCM76Y4MynIaLYFmv/eQ1t3CZhm1XCndh9s1YctM9ZHuQ6BMuIzGueUPsKoPZbNI6UvboCJ8B3RBeMniENs4e5kZhlmfXWvRDY1tJiG5Uj+VrsYFHDv1Gcg3wgsUTVkaPW+rvTJUt/dXvy7xrfFY8m6BJUu0HLup5I4vCkpk7Kle46oG+GDQ5hs3wIbuZYsKHKG6IDJI1WVbdbAPiafLnBpQKbG9+Iof2U2j5naNocGsfBbHSvw19bUwNtnH3WtUzwRk8FHuWf6E1jivw0PWBrPYjWn/D7EyMAVXlYNQp2mS8DSW6o4tTgsC71WGkg1Rq9cqk9gC1dgNgSLSbDearJWQLKH52ABuFEZ7bo6y0hSIBesQoiNe7Ce3yd+NNcj0zhR/eTch54DOQA0H51oFEww5xCKmKhftZMwZdC8fv4pgsUZ4sdgd8NbnJWQSdzpJLB+kbjNHDax6oCM/c7cUOwJrgqJLgv85eadd3O1Yes+TbcYBoYW /CfmYX+X oMoN6I7X3BGfm7Z1mV1Qkd2tCHXJx6cVrejO4esc0ESqyvyhCDCRxgcPRQ6oP26xe9KgfCOyQGzyb4phcuHPOoM+elMYnl93Xw8a/L9K9J1N5HJqomUtNRVhSxPq6rNUzJW731ISRjc3eFfCqqKH8fMFXD90jH7pgKU3YB+JiQJXUpMkDezlhvYWjRRboHHFT+jWKFPrweD3rxC8AlTXNMiDg4IpRgI793snbex2KRMYQzNPOw+uSDB5UmA== 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: > @@ -5397,7 +5397,10 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, > } else { > ptepage = pte_page(entry); > hpage = compound_head(ptepage); > - get_page(hpage); > + if (try_get_page(hpage)) { > + ret = -EFAULT; > + break; spin_unlock(src_ptl) and spin_unlock(dst_ptl) is required here. I'll make sure there's a selftest that actually makes sure that refcount overflowing is handled gracefully for v3. > + } > > /* > * Failing to duplicate the anon rmap is a rare case > @@ -6132,6 +6135,30 @@ static bool hugetlb_pte_stable(struct hstate *h, struct hugetlb_pte *hpte, > return same; > }