Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp3689102ybv; Mon, 10 Feb 2020 04:45:17 -0800 (PST) X-Google-Smtp-Source: APXvYqyAi+GQPqvNff1OXQeCnZTqFvuHrUmwxiSSSCEeLh2J3zq5KUmH4phonUzZzHRUe2QZDNGI X-Received: by 2002:a9d:394:: with SMTP id f20mr933599otf.148.1581338717477; Mon, 10 Feb 2020 04:45:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581338717; cv=none; d=google.com; s=arc-20160816; b=r2craVwQuF6EpZIvbdMvJTDT7YfMoRf0sGieotWTc6CcH5Ta10deHDAxM+WEEfj6od LQeW2StT7vy/2jwAvQHRYwn2CAmmT6la03pnxV1AHfRW3U8UiY2dsmygUDnt+7QWDywi cYnIYFLwk+EZOL3jGTR6B3X3ri76lnK5p9k8Rso3k0y44vxkdleAbsLC9FdZGdtWFdyk wo06OrX82Nl0lrvU8qwZ5LhTIM4YyRiKjMhQadok8nIxmqJuSzRWWhKGpOVcVJiYx/AY iIcIZdtPJFFeJCSlm0wQP2DVgeRZTYB3XLMx52vwql/1NiSXXdNy7Ce6XDgIGG0bZS9h Mxow== 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:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=VbbbDXnunAT9v4zhAOh2iEjdiCoHmeIuvKoWUZH1xps=; b=OMau4OaxILO7yDgWxnC6v8recgZNagkBecUh2cl3VgYvDoXNsHdzMGjqf7VGXnF4oQ 0QgdF9ZXRG6jK54V8Gs4xAY+GZhmUS6PLXWy/r2UMkKO/1AOne4xk5dxZSMiKw/vDNuD jhgTiddAxQ8RNzN7XwKhKXSteFUArAqDKASgQYtI/MOMnk8ncuqxF43veo3CD3fnOELE y2OpdcbpMbcxeWFJZKMWi4DXDuNj6ZjchatJuSHQuc92p7BdiUwJgySmufiagnUvZIRe evZP5i79YE2oN2GBvFHZyN/DL+D0yA7LzW4pO+0TuEYw9BXc2WDVdoSZ617apHXEyMMf YL1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o2phL52S; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d22si133238oti.316.2020.02.10.04.45.06; Mon, 10 Feb 2020 04:45:17 -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=@kernel.org header.s=default header.b=o2phL52S; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730531AbgBJMn6 (ORCPT + 99 others); Mon, 10 Feb 2020 07:43:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:39918 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726846AbgBJMkQ (ORCPT ); Mon, 10 Feb 2020 07:40:16 -0500 Received: from localhost (unknown [209.37.97.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A67E620733; Mon, 10 Feb 2020 12:40:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581338415; bh=rSh3R8xY6L76Nno7pwqyOzKKxTJ7fEguyZYa2B7n3O0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o2phL52Sk50eGdJRTgyvMKKlKN0D/5Klx26eWT5nklNBGfm06ZHdI0/qTJ3KdA/Zo cXHuJ2To88NNahIaB6zHUKkWHf0Zqt3wC+tUnDBRwYpXM5UaCLbglo4tMR1yv0O+OS pqglgnTWBHhOPAwXLyDKuurpqzzIl+ZvPC5ykDrU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Amir Goldstein , Miklos Szeredi Subject: [PATCH 5.5 130/367] ovl: fix wrong WARN_ON() in ovl_cache_update_ino() Date: Mon, 10 Feb 2020 04:30:43 -0800 Message-Id: <20200210122436.874786793@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200210122423.695146547@linuxfoundation.org> References: <20200210122423.695146547@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Amir Goldstein commit 4c37e71b713ecffe81f8e6273c6835e54306d412 upstream. The WARN_ON() that child entry is always on overlay st_dev became wrong when we allowed this function to update d_ino in non-samefs setup with xino enabled. It is not true in case of xino bits overflow on a non-dir inode. Leave the WARN_ON() only for directories, where assertion is still true. Fixes: adbf4f7ea834 ("ovl: consistent d_ino for non-samefs with xino") Cc: # v4.17+ Signed-off-by: Amir Goldstein Signed-off-by: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman --- fs/overlayfs/readdir.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) --- a/fs/overlayfs/readdir.c +++ b/fs/overlayfs/readdir.c @@ -504,7 +504,13 @@ get: if (err) goto fail; - WARN_ON_ONCE(dir->d_sb->s_dev != stat.dev); + /* + * Directory inode is always on overlay st_dev. + * Non-dir with ovl_same_dev() could be on pseudo st_dev in case + * of xino bits overflow. + */ + WARN_ON_ONCE(S_ISDIR(stat.mode) && + dir->d_sb->s_dev != stat.dev); ino = stat.ino; } else if (xinobits && !OVL_TYPE_UPPER(type)) { ino = ovl_remap_lower_ino(ino, xinobits,