Received: by 2002:ac0:b08d:0:0:0:0:0 with SMTP id l13csp4049371imc; Sun, 24 Feb 2019 20:18:19 -0800 (PST) X-Google-Smtp-Source: AHgI3IZ8PhtlHO3xV8GboVyAKbafeH1ARY+pcLzKr8P/XvDlbbPEeoC1UlCPrEKuncs3d2oUu547 X-Received: by 2002:a63:1241:: with SMTP id 1mr16971718pgs.211.1551068299447; Sun, 24 Feb 2019 20:18:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551068299; cv=none; d=google.com; s=arc-20160816; b=uoCJLWOpzOj7IEDGBnKWjZFGMtXmO4ZuKTm5793+kwJupsxIsX1CTAZ1u3ZE1nVgKW DT41HANC5bUhG84Ik0nrKltEDbPaEJEXBi442YfjwgZrIjTeqhxD2fDtcdazrS+Fo3pC ensu6zUzaJb/LjFAK26Ypwm+wQKYUNqAU2H33FsbFgqd/trYy3InFDY0Kon8NKA0v9Th 4oyeFB0+eVxLdZ6o9cKy746sCFiScklfOD/BhMzzDHS8FgtH6dNDVl6WuZAb1OKzQKqj INlVpvSP0jHsFkj99xWkROU/1VMTmFSGeyjZpVEQF26WhbE1YiqYnGoK9MBt20yVMq0H sEZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=KwhHjjj9HR5HZqEHnHUp5jSlrDPl0JyzCsowCQXd15Q=; b=EsUf+kGwcPwHp5YAiX4FbbLR7B86tKWf+k6AcvBcNXBs3YkjMfTzsdFuswrkP+Vqa9 a+1q5SVV0t67UNx/U5E78xLwW/w5xvp4BfEyyjKndT5tqNPP5af2gerdXij8YJLocDGa G2Ke8Nkse78e6Ar4SdBmB1pfr9GLPf77KIhJ7nFsQj00K/VL6dAYs8jjDg5iXisC5dch c7P/qX0LfNlQ4vuTxl5my8v5Q/gATscqoLpG71cm1YTtCrpIVWtXcVxEtZDF493MrWWD HeZsuDOMK2mBzUq5hrus3VTRefzAHLeQawdKscHXDR9ShCbp4ajJ8jJGWkQjvWgtVfSJ PWKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=WPDFF9eA; 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=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si8231373pgb.170.2019.02.24.20.18.04; Sun, 24 Feb 2019 20:18:19 -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=@arista.com header.s=googlenew header.b=WPDFF9eA; 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=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728530AbfBYERV (ORCPT + 99 others); Sun, 24 Feb 2019 23:17:21 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:45303 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727197AbfBYERV (ORCPT ); Sun, 24 Feb 2019 23:17:21 -0500 Received: by mail-qk1-f193.google.com with SMTP id v139so4511123qkb.12 for ; Sun, 24 Feb 2019 20:17:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=googlenew; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=KwhHjjj9HR5HZqEHnHUp5jSlrDPl0JyzCsowCQXd15Q=; b=WPDFF9eASZjddbTEaqyCSEP11uJIVKJf9h09VZjWfdQMs5JYYYbDw5Ney/ynaP6Tpx 96l1P3LM5PGEZjgYtJ+o7O7l/V694qWwSyrYWTFfyUf7xI89mOtjwX5z89XFKaymZICv rD/SHUyfjfG3uPQ/deHzxI2YnA3s1OxrB65cw5YYLXgAZ0rDUl9N8/N3I17nVNu5GqC5 4opjuuWRV766MYzHJQf2/3qYVEpDQZCpWO3rgu+FMOEoeQUhJe3jZrvPBHNz4WaaupYX ddBYaP2jkVZzDduH8LQOft2Ml88pZ69wRfG5OR+VeDtYwudqG64nETNOkGzmG1C5F34V BsXg== 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; bh=KwhHjjj9HR5HZqEHnHUp5jSlrDPl0JyzCsowCQXd15Q=; b=VcqlyusD1E4Bkzk8In+wkhiDzqXVHAFW3SHvujuBFGDMIyjCp2ss51H7vbDh55RQM0 +VsJfE1sUtt9zjo3/nrgZ+QYgnr3in6PQV3INDMrE0oE4/5XaBC4nBAVeT6nxuIDJEcr qlTZGT9YGrkRG3NKtkdk+cjro5ePf3ThO9JrFJ5UMHodbgH4mnVtjyZh4TfWoHMsu5np tHGiTn4mb8zwSi0yMitjfYpuPXxJqD1ukXWAfiNpTiYjfQhatcV9ACFsUNvDotHOkyTN 5JKZKKtBG4z3ofL0p3UsehfPZ06Zwr/aR3CDGGigqC2U6n5rxn/+QeUcJj0pFmzPEjGy Jhsw== X-Gm-Message-State: AHQUAuYLp6n4jwxG+3hk7/c3RGdNZHNwZBIDSVgoGtxMKA+G+0uNtMNV DLE4zF0OS80lE+gU2y3aL5xWLWGaHdztjZ0lPkbVjg== X-Received: by 2002:a37:74a:: with SMTP id 71mr11608388qkh.47.1551068240569; Sun, 24 Feb 2019 20:17:20 -0800 (PST) MIME-Version: 1.0 References: <20190221192712.E5CD895C343F@us180.sjc.aristanetworks.com> In-Reply-To: <20190221192712.E5CD895C343F@us180.sjc.aristanetworks.com> From: Francesco Ruggeri Date: Sun, 24 Feb 2019 20:17:10 -0800 Message-ID: Subject: Re: [PATCH] block: fix inconsistent page index To: viro@zeniv.linux.org.uk, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Francesco Ruggeri 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 Thu, Feb 21, 2019 at 11:27 AM Francesco Ruggeri wrote: > > __find_get_block_slow() and grow_buffers() use different methods to compute > a page index for a given block: __find_get_block_slow() computes it from > bd_inode->i_blkbits, while grow_buffers() computes it from the block size > argument. > The two can get out of sync, for example if bd_inode->i_blkbits is modified > while a isofs_fill_super() (in mount) is between sb_min_blocksize() and > sb_read/__bread_gfp/__getblk_gfp/__getblk_slow. > The script below can reproduce such a scenario, resulting in an infinite > loop in __getblk_slow(), as grow_buffers() allocates a page but > __find_get_block() keeps looking for a different one. > This patch changes __find_get_block_slow() to also use the block size. > It implicitly relies on size being a power of 2 in the 256..PAGE_SIZE > range. > Any comments? Thanks, Francesco Ruggeri