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 X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC731C433ED for ; Wed, 19 May 2021 13:33:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8AEB0610A8 for ; Wed, 19 May 2021 13:33:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353682AbhESNe5 (ORCPT ); Wed, 19 May 2021 09:34:57 -0400 Received: from verein.lst.de ([213.95.11.211]:38376 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240462AbhESNex (ORCPT ); Wed, 19 May 2021 09:34:53 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id DBED467373; Wed, 19 May 2021 15:33:30 +0200 (CEST) Date: Wed, 19 May 2021 15:33:30 +0200 From: Christoph Hellwig To: Linus Torvalds Cc: kernel test robot , Christoph Hellwig , Thomas =?iso-8859-1?Q?Hellstr=F6m?= , Serge Belyshev , Chris Wilson , Daniel Vetter , Jani Nikula , Joonas Lahtinen , Peter Zijlstra , Rodrigo Vivi , Andrew Morton , LKML , lkp@lists.01.org, kernel test robot Subject: Re: [i915] b12d691ea5: kernel_BUG_at_mm/memory.c Message-ID: <20210519133330.GA14452@lst.de> References: <20210519024322.GA29704@xsang-OptiPlex-9020> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 18, 2021 at 04:58:31PM -1000, Linus Torvalds wrote: > On Tue, May 18, 2021 at 4:26 PM kernel test robot wrote: > > > > commit: b12d691ea5e01db42ccf3b4207e57cb3ce7cfe91 ("i915: fix remap_io_sg to verify the pgprot") > > [...] > > [ 778.550996] kernel BUG at mm/memory.c:2183! > > [ 778.559015] RIP: 0010:remap_pfn_range_notrack (kbuild/src/consumer/mm/memory.c:2183 kbuild/src/consumer/mm/memory.c:2211 kbuild/src/consumer/mm/memory.c:2233 kbuild/src/consumer/mm/memory.c:2255 kbuild/src/consumer/mm/memory.c:2311) > > [ 778.688951] remap_pfn_range (kbuild/src/consumer/mm/memory.c:2342) > > [ 778.692700] remap_io_sg (kbuild/src/consumer/drivers/gpu/drm/i915/i915_mm.c:71) i915 > > Yeah, so that BUG_ON() checks that theer isn't any old mapping there. > > You can't just remap over an old one, but it does seem like that is > exactly what commit b12d691ea5e0 ("i915: fix remap_io_sg to verify the > pgprot") ends up doing. > > So the code used to just do "apply_to_page_range()", which admittedly > was odd too. But it didn't mind having old mappings and re-applying > something over them. > > Converting it to use remap_pfn_range() does look better, but it kind > of depends on it ever being done *once*. But the caller seems to very > much remap the whole vmsa at fault time, so... > > I don't know what the right thing to do here is, because I don't know > the invalidation logic and when faults happen. > > I see that there is another thread about different issues on the > intel-gfx list. Adding a few people to this kernel test robot thread > too. > > I'd be inclined to revert the commits as "not ready yet", but it would > be better if somebody can go "yeah, this should be done properly like > X". I think reverting just this commit for now is the best thing.