Received: by 10.223.185.116 with SMTP id b49csp5259401wrg; Tue, 27 Feb 2018 10:17:00 -0800 (PST) X-Google-Smtp-Source: AH8x2257mns+kXx+P9Wt+QuuttgiK+E1APVblsDfMlmtIyZ/4p2+e5ilAzWIv0bf2beHOirJxDOl X-Received: by 10.99.127.65 with SMTP id p1mr11947061pgn.50.1519755420788; Tue, 27 Feb 2018 10:17:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519755420; cv=none; d=google.com; s=arc-20160816; b=nIGMBznEKWr74+met68fhUb/NiR5hIG4F7hdmNEVZutmiBh6M7oyEB5pmDjrdS1z9E W//6U0uVl2t1vKQffVQdmjdWbr0+s2xn4JDC4Qt3T+jE7cC/slgqsWc7MEZ5SWHXovO3 MDdhQUEm5i/vSPIBnt1rHlGWEEo/d2m0BzLEsw4hnK4nzvZeHTncLTyAajOhevCTGvtx 0kTAV2BsatGiwOLDfZLYcT0rlnnZC/wpHZaqSjCnMFyNYtZWLRhYa34eGIu/7ZvPj5We 715D7zSdcP4h7ZLBoAdB4YwI7Nt7eOsQEuKtWV2LtMNI0bwPVr/9eHQqvGFgy4ljqHxr /7ow== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=q1+tb5auK6ygaN43iQq0m2FE6+xm++j9R6f4Un/r+ZE=; b=Sm0ZNoEnRYRPAsBdlIRgpGYNtEvBRzwdDYW7/4DnAjDQjzUN6lAEa0QuwniN0HJMIo 5BGnW8esbYkeOh08MzfNfYcSGaU+KxYecM2fhZ9ZTfwh7SLK8fHb3Byg3m2OTMk/j1pz c88c9kuE8SwUe4AijbqB0p8u1oDZL9WhLCkhbjuQ2XBKF3+TGIxPndxcSmHkdzDA3L9s 2jGue1GjyptlC5yDsYInbqwlb9wLPmt9rn6KqyV0mUs9XikJarNEZLmRiq6ZXRfHFuAB TZ7Agr6o4Gcf96xjdSgjQDeEFa2bY/Mb/zYxt7OHiKxnuhAz0Vmf/uNY4YhmHfk9TsYK cBrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OLL2OKeU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 8si2336015pfn.113.2018.02.27.10.16.45; Tue, 27 Feb 2018 10:17:00 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OLL2OKeU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751633AbeB0SQF (ORCPT + 99 others); Tue, 27 Feb 2018 13:16:05 -0500 Received: from mail-pf0-f193.google.com ([209.85.192.193]:39866 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750746AbeB0SQD (ORCPT ); Tue, 27 Feb 2018 13:16:03 -0500 Received: by mail-pf0-f193.google.com with SMTP id u5so1533511pfh.6 for ; Tue, 27 Feb 2018 10:16:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=q1+tb5auK6ygaN43iQq0m2FE6+xm++j9R6f4Un/r+ZE=; b=OLL2OKeU3JXsw4l/Jugr/7XskbIcIj9ZLYqUl+JU4FLP9cT+lJhA+VG1m1/z+6+GnF 6XvpHzBzGBskxnHqCm2jK5ZwLHfHFF0qbunHQ/LZoFjhtI3cAD5Cd+LyjtNHacBB3+KB u6pucKySwcAZusLm2aGjIMe2ANGCKMYvlVmJHmOySAf6qp81CoDkZr04tAb1hMQ01oHp Upp0TVH0HSUOW1BhSSQcgXlJ36qM4R2WbB1+x8kl5k43NHN31os8llp+J3d9n3KpB7fT s/Rv5OOf3yQoSAMZfUGbfmBwJKm/9uZowiiTGk4pad44OtcHQGhOErAOyqVxReV7mwyI OWaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=q1+tb5auK6ygaN43iQq0m2FE6+xm++j9R6f4Un/r+ZE=; b=TICVU7QMxgptuLKB+CNlKSfjBMGMKXg9EI2RXyt7IXuj+KOqSw3d6S2slow4wElJPI BWbkWU7mmAepO/tCeECkPH70nTdQA+YxfrJ4fTZ1PIdolbu/yCU7HjFbXajAgCWo7s6E JsWFreeckXmKbUBy2NqNXZjQtUyjuvSWGXcSl9Zs49LF+PGJvffSqT6yf8YsbDPJskh+ /2+zJfEUOcoc14Ujx7uCekraaFdJ2D6Bto5Ir8mY35S+YBOHUNg6xfLSd34zKZHAN1Gb WzO1Z9ZB8DdbZ3PFK/qZbANNiB/JMrn39G2IN/ZeeypIKYyjATM0RblGwEZ3pwnxKSco Hi3A== X-Gm-Message-State: APf1xPCeuGqx2OlemZdhA+w1s1QoMt17Do85Km+S+GIkeVoeJpLOfZx1 T5jYG88CAovsN0Rknwxlr6gxeg== X-Received: by 10.99.117.28 with SMTP id q28mr12023575pgc.187.1519755362671; Tue, 27 Feb 2018 10:16:02 -0800 (PST) Received: from hackmann.mtv.corp.google.com ([2620:0:1000:1601:82f7:8f1:8c08:a97a]) by smtp.gmail.com with ESMTPSA id z7sm17925456pgp.55.2018.02.27.10.16.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Feb 2018 10:16:01 -0800 (PST) Subject: Re: [PATCH v2] staging: android: ashmem: Fix lockdep issue during llseek To: Joel Fernandes , Greg Kroah-Hartman Cc: LKML , Todd Kjos , Arve Hjonnevag , stable@vger.kernel.org References: <20180216190201.59572-1-joelaf@google.com> <20180222134832.GA1400@kroah.com> From: Greg Hackmann Message-ID: <8242bd71-4c84-73d4-81a1-01471024c338@google.com> Date: Tue, 27 Feb 2018 10:16:00 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/22/2018 01:02 PM, Joel Fernandes wrote: > (reposting in plain text, sorry for the previous HTML email, I should > have not posted from the Phone) > > On Thu, Feb 22, 2018 at 5:48 AM, Greg Kroah-Hartman > wrote: >> On Fri, Feb 16, 2018 at 11:02:01AM -0800, Joel Fernandes wrote: >>> ashmem_mutex create a chain of dependencies like so: >>> >>> (1) >>> mmap syscall -> >>> mmap_sem -> (acquired) >>> ashmem_mmap >>> ashmem_mutex (try to acquire) >>> (block) >>> >>> (2) >>> llseek syscall -> >>> ashmem_llseek -> >>> ashmem_mutex -> (acquired) >>> inode_lock -> >>> inode->i_rwsem (try to acquire) >>> (block) >>> >>> (3) >>> getdents -> >>> iterate_dir -> >>> inode_lock -> >>> inode->i_rwsem (acquired) >>> copy_to_user -> >>> mmap_sem (try to acquire) >>> >>> There is a lock ordering created between mmap_sem and inode->i_rwsem >>> causing a lockdep splat [2] during a syzcaller test, this patch fixes >>> the issue by unlocking the mutex earlier. Functionally that's Ok since >>> we don't need to protect vfs_llseek. >>> >>> [1] https://patchwork.kernel.org/patch/10185031/ >>> [2] https://lkml.org/lkml/2018/1/10/48 >>> >>> Cc: Todd Kjos >>> Cc: Arve Hjonnevag >>> Cc: Greg Hackmann >>> Cc: Greg Kroah-Hartman >>> Cc: stable@vger.kernel.org >>> Reported-by: syzbot+8ec30bb7bf1a981a2012@syzkaller.appspotmail.com >>> Signed-off-by: Joel Fernandes >>> --- >>> Changes since first version: >>> Don't relock after vfs call since its not needed. Only reason we lock is >>> to protect races with asma->file. >>> https://patchwork.kernel.org/patch/10185031/ >> >> I'd like some acks from others before I take this patch. > > GregH, Todd, could you provide Acks? Acked-by: Greg Hackmann