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 0CE04C25B06 for ; Tue, 9 Aug 2022 21:02:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70E028E0002; Tue, 9 Aug 2022 17:02:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6969C8E0001; Tue, 9 Aug 2022 17:02:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50FD38E0002; Tue, 9 Aug 2022 17:02:02 -0400 (EDT) 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 3A9ED8E0001 for ; Tue, 9 Aug 2022 17:02:02 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id EE6D1803AB for ; Tue, 9 Aug 2022 21:02:01 +0000 (UTC) X-FDA: 79781276442.05.87BCC5E Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by imf14.hostedemail.com (Postfix) with ESMTP id 6D14010009D for ; Tue, 9 Aug 2022 21:02:01 +0000 (UTC) Received: by mail-pg1-f178.google.com with SMTP id 202so5694822pgc.8 for ; Tue, 09 Aug 2022 14:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc; bh=Yzf75bRCQMALZ7m4QyOplsWHzkaKOssLSVH5NduHojs=; b=iaJnB4GJfzpWMjIyS8fVo6WbhfcQyHDGbqXRw1MsNysR2Gq8DBanh4DoPd9AVVct8Y mem25Qa23+gRT2Bp3v59SGyHZ48/quLw14+n8EDMhd4fn3lgqMA4tnpjOru0n334ckHk G1jW3dgyczwvhOwkQPcJz1qPScp0tyjoKvXSwu2gt0to0a4xxt8LwFSnkrnyF/zA/58Z 0W+dx/lVk6OFugHrN+QPwEn+ZqCMPddsLzU5yvBoNrbG5tsQS6C21HLikTwfGM659Mol z3MCD22qtYeFDSkTd9b2rWOX8WMpMvHJ0rIIDM6wb4gYqw0RbvxqaKIHPISMWwWb6a/u twew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc; bh=Yzf75bRCQMALZ7m4QyOplsWHzkaKOssLSVH5NduHojs=; b=neI2y+SRfMiLes90aRgd1ujoDNaql60vF4NRNAd8VzAF75sxJNE/DSP68UGryOOFtY JIvsT/mjqEEceBsS+TGWrYvhGg2W0K0B1XFiFMr2kXXt9y7l1iekewJ/0KWdFAC1j12P BhrdiiMo9N9jzYSFK5+S2N4J03CZK4f1BE/hD6spojFVrrLEiNQRJZfTCU5B1BpldhzZ W4miR8PP3t40TSHQaghOWJkIvgNu5kqJ7EIMwKe3Zv3NXZG3WaUGmbOlmRHkWdeW2usJ nhB3zVstDCKj0l/0nHamOx8k0RGqqnLd3ehLAXcYIZ9CThgIpy0TxT6/tF7eiDawlGpi iAsw== X-Gm-Message-State: ACgBeo1a/476MvMeGP2BZR0+Tg8YXu7EnVCoK1BbJFOwcDrLeSbDLR/b uYO5Uw0+pYVNJk3kVNmdNfke4w== X-Google-Smtp-Source: AA6agR5MGHH1DtyGdsvEYz+paDTJ51eeo/p/X0YDN79KqsoMoGKdlMLf+ffWE5F5dWWMG3QBLzn0kA== X-Received: by 2002:a05:6a00:1a44:b0:528:6af7:ff4a with SMTP id h4-20020a056a001a4400b005286af7ff4amr24911716pfv.78.1660078920159; Tue, 09 Aug 2022 14:02:00 -0700 (PDT) Received: from google.com (238.76.127.34.bc.googleusercontent.com. [34.127.76.238]) by smtp.gmail.com with ESMTPSA id x25-20020aa79ad9000000b00528f9597fb3sm309872pfp.197.2022.08.09.14.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Aug 2022 14:01:59 -0700 (PDT) Date: Tue, 9 Aug 2022 21:01:55 +0000 From: Carlos Llamas To: Liam Howlett Cc: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , syzbot , Andrew Morton , Ondrej Mosnacek , "syzkaller-bugs@googlegroups.com" , Minchan Kim , Christian Brauner , Greg Kroah-Hartman , Hridya Valsaraju , Joel Fernandes , Martijn Coenen , Suren Baghdasaryan , Todd Kjos , Matthew Wilcox , Arve =?iso-8859-1?B?SGr4bm5lduVn?= Subject: Re: [PATCH] binder_alloc: Add missing mmap_lock calls when using the VMA Message-ID: References: <20220809160618.1052539-1-Liam.Howlett@oracle.com> <20220809190211.ew4taam2lcomramw@revolver> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220809190211.ew4taam2lcomramw@revolver> ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=iaJnB4GJ; spf=pass (imf14.hostedemail.com: domain of cmllamas@google.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=cmllamas@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660078921; a=rsa-sha256; cv=none; b=sEDwdsw8/zyjsqp8/8G52GjPaVy6vDWCc/orhWkTGR80hk0J9SAY+kamBUzaXNxxRUd5bg Lsjxs70Yb4wwnY/76OwyIylmxOpZqRDuJmVTTCG+VnTP75sDNiclbHXpUu7dwWdVR4vJ2Q M/P8NYlymC+ZpTV5+6Kt8+cbqGdd7ew= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660078921; 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=Yzf75bRCQMALZ7m4QyOplsWHzkaKOssLSVH5NduHojs=; b=PsjHIPiEHdUkJcv8KAmhVfzBxbLm1qyjM9nxow4C7Xv4joDsi5jcXqN08GUnVORHfy0WCz CCZDsSAOBniEpLDYhEY5YzVu4Z5KTIn0e01yR+SiurNdnSCq4VkPuQEDTKq+sVKO5lyOOl gIvs2Y6fYxwf+KfkNnhZiHmly2SrtCA= X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 6D14010009D X-Rspam-User: Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=iaJnB4GJ; spf=pass (imf14.hostedemail.com: domain of cmllamas@google.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=cmllamas@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: ndduyqnyy4k311wbayg633unjeijs8kf X-HE-Tag: 1660078921-880372 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 Tue, Aug 09, 2022 at 07:02:17PM +0000, Liam Howlett wrote: > > > > do we need to hold on to the lock while we loop through the pages here? > > I think we do? Holding this lock will ensure the pages don't go away, I > believe (looking at mm/rmap.c comments on locking at the top)? > > In any case, this function is called from print_binder_proc_stats() > which looks to be a debugfs/debugging call so I thought safer would be > better than faster and with a potential race. The pages are protected by alloc->mutex, so you could immediately release the mmap lock after binder_alloc_get_vma() call. I agree this is a debugging call so it would be nice to reduce contention.