Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1615745ybg; Wed, 29 Jul 2020 20:26:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwqyFa4xatLXVsqHdbPiIIoZD7CKLySfoLGp74KIRfPaIoS2rlR0OfB9H89SNs2P5K6I56w X-Received: by 2002:a50:e617:: with SMTP id y23mr771915edm.47.1596079562811; Wed, 29 Jul 2020 20:26:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596079562; cv=none; d=google.com; s=arc-20160816; b=leVSLU4eujYso1e2dknhzk5Q7mJ+dtlS6+ba6ubU3oCtnzcc+KVNeSbd0oYfQO0p5u vU3McMctQfHTUosaTcN81zFHGTs2OCKPbhLIIi0ii2d6QjXXSwFOsEbqONOS33gi9YM/ Y8VYokz8epa0x8YEsLNj03fLjuSZM9fPgwbqSJk1Lff1NZGxwtpn4QF5JaDwA6Zq7zYU rd36L1hCtSXdZmdVPHmmrOFga4zvvsFeY4R3ApvExrz/97EjCQBqSJ1gM1e8BDcg7hzH Ehc7C90A9QkY+n6yxFWk6w7YA3Suus3JqvDcKgqVUuk4PA2K8FEWfDoeX2WlQdpdaD9R KpRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=nHh4RsCBRXoWwPbSjRWWq5HuFYgEivNXO/c+GhS+MZs=; b=T5vFRji0x/1Bbsl8OTELOd4ElQe5zBc1A+SY+bL49ixbj6/ec7fuz14ou1l9Rq5I1w 0zCxTH2xqmOLkTqtqviF6q8T4g+agaIcHeF8pBAiFPYIRcOVctP3FVwUW5HjBFuARx+/ 3Qx9JwJX0qme4H2RRwFggitZ5d935cmjPpHGmKKQ2HiL/VY0ASUmEymSRAJJNe4tOpNU CBTycjr+EIPv5HunaZyCtXvcjabEpRPiZUIF6LSZ890Xfbb8gkURI+OGGNzqUwifDrMM rjb+Z+C8BLj6xlrDL4gicgnpy4M0D15fKh5+yMg+onxDoMlNSUnJaTKmOTYab7x6Iq1R aogA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=OZ8J5iKd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l22si2556827edw.118.2020.07.29.20.25.37; Wed, 29 Jul 2020 20:26:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=OZ8J5iKd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728491AbgG3DYI (ORCPT + 99 others); Wed, 29 Jul 2020 23:24:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726519AbgG3DYH (ORCPT ); Wed, 29 Jul 2020 23:24:07 -0400 Received: from mail-il1-x142.google.com (mail-il1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC65EC061794 for ; Wed, 29 Jul 2020 20:24:06 -0700 (PDT) Received: by mail-il1-x142.google.com with SMTP id z17so6196008ill.6 for ; Wed, 29 Jul 2020 20:24:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nHh4RsCBRXoWwPbSjRWWq5HuFYgEivNXO/c+GhS+MZs=; b=OZ8J5iKdzrD7ZOS3oiWeOqMjZ8YQGcyZAgnZ2AY4LAqnKj9fMWuIO/lEMxQi5cbI6C BgEhayHQ7LbJhGHnWA5EG2/vvBN12zXQfH/3WbvSTl6Bt5XVozjvwIuAGHcIXR4hT8m9 GOGcZjLTYdHk5GVsgUDQJ85EvWp1Q4NYe56Hg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nHh4RsCBRXoWwPbSjRWWq5HuFYgEivNXO/c+GhS+MZs=; b=Dod4hGnKAHRTqp/sfncPmlbxcj16avq9zc3dNlp92UQ20a+3wGK5nDUr/r2vNLyqAx 3mlduaSPWUkpKr1/srol13bCKNgiVGG20nI+LNr79kJeeiMBpIICMnSilCW8ikDGNwC7 F4oBu0CZQB4h/0iDDbE/2nPIUAPgGrSWu1xf+sChorY5Yze6CUthOX3d+XWTEMXaa/3O GGrnsUXCk+fehmWEhXwq22xP83TSureIWjNI+sRgF4A+A/RPLma5R0B6P02n2g1qd5w0 IqZ/CopW7lCEfIbBImD/dhvVXyAroGetFqzIpfCby4IFJ/rFRnfXtauYNDD7AL0/JpiH sc0w== X-Gm-Message-State: AOAM532Ob721a4GzRQVP2wWQeNVS252dWwPYNRq4uhlgFOzEsUEYlj3b BwT+8h0zSH7FBzs+yHQqOdq8qq8FroIYYUxqfSzaVA== X-Received: by 2002:a92:b705:: with SMTP id k5mr35501322ili.176.1596079446340; Wed, 29 Jul 2020 20:24:06 -0700 (PDT) MIME-Version: 1.0 References: <20200716024527.4009170-1-surenb@google.com> In-Reply-To: <20200716024527.4009170-1-surenb@google.com> From: Joel Fernandes Date: Wed, 29 Jul 2020 23:23:55 -0400 Message-ID: Subject: Re: [PATCH 1/1] staging: android: ashmem: Fix lockdep warning for write operation To: Suren Baghdasaryan Cc: Greg Kroah-Hartman , =?UTF-8?B?QXJ2ZSBIasO4bm5ldsOlZw==?= , Todd Kjos , Martijn Coenen , Christian Brauner , Hridya Valsaraju , Michal Hocko , hdanton@sina.com, ebiggers@kernel.org, "open list:ANDROID DRIVERS" , linux-mm , LKML , kernel-team Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 15, 2020 at 10:45 PM Suren Baghdasaryan wrote: > > syzbot report [1] describes a deadlock when write operation against an > ashmem fd executed at the time when ashmem is shrinking its cache results > in the following lock sequence: > > Possible unsafe locking scenario: > > CPU0 CPU1 > ---- ---- > lock(fs_reclaim); > lock(&sb->s_type->i_mutex_key#13); > lock(fs_reclaim); > lock(&sb->s_type->i_mutex_key#13); > > kswapd takes fs_reclaim and then inode_lock while generic_perform_write > takes inode_lock and then fs_reclaim. However ashmem does not support > writing into backing shmem with a write syscall. The only way to change > its content is to mmap it and operate on mapped memory. Therefore the race > that lockdep is warning about is not valid. Resolve this by introducing a > separate lockdep class for the backing shmem inodes. > > [1]: https://lkml.kernel.org/lkml/0000000000000b5f9d059aa2037f@google.com/ > > Signed-off-by: Suren Baghdasaryan > --- Once Eric's nits are resolved: Reviewed-by: Joel Fernandes (Google) Thanks.