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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45213C27C4F for ; Thu, 13 Jun 2024 07:05:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B77C16B0085; Thu, 13 Jun 2024 03:05:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B269C6B0096; Thu, 13 Jun 2024 03:05:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EE6B6B0098; Thu, 13 Jun 2024 03:05:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8044D6B0085 for ; Thu, 13 Jun 2024 03:05:23 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CEF7F140300 for ; Thu, 13 Jun 2024 07:05:22 +0000 (UTC) X-FDA: 82224979284.19.0FED77C Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) by imf14.hostedemail.com (Postfix) with ESMTP id CDDCF100010 for ; Thu, 13 Jun 2024 07:05:20 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=yoseli.org header.s=gm1 header.b=Rxnluk4o; spf=none (imf14.hostedemail.com: domain of jeanmichel.hautbois@yoseli.org has no SPF policy when checking 217.70.183.200) smtp.mailfrom=jeanmichel.hautbois@yoseli.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718262320; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=94/HQ7UFsg3zLtaBFFGaUMR4/4ICG6Lrs8af0wpASsI=; b=DQpiW6AkmL+vxSDDkw2A17U3IgaZ4Z9EOiWSzVopRUffTj/nXlO0YtnvnjmfGaF4oOI2F0 90AK2PsfUKMnW6TEGsQiLAnuMT+0NYqGWpSx12t+WJMtdki/S7jtmSdvm2KGBgWY9TL33k L6gjyr5kR6pRKGeyfXdooBXAT26BYms= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=yoseli.org header.s=gm1 header.b=Rxnluk4o; spf=none (imf14.hostedemail.com: domain of jeanmichel.hautbois@yoseli.org has no SPF policy when checking 217.70.183.200) smtp.mailfrom=jeanmichel.hautbois@yoseli.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718262320; a=rsa-sha256; cv=none; b=R0RlZ3hrbFv1U/cIOQn05F9dKP57hVxO+JSJkcEcWcEs0ePBJiJ9wVO96mXT9a5Y1NC0BF CBtliGLKZ3CQdSRafO2q6phCDIeOuB42DpjpUuT9VUNFhLb92VD+gbIEtxlAh8QjaI8BDC RBQR6D93peDFXY6wRA/pGRBswtuC9bk= Received: by mail.gandi.net (Postfix) with ESMTPSA id 2C16320009; Thu, 13 Jun 2024 07:05:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoseli.org; s=gm1; t=1718262319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=94/HQ7UFsg3zLtaBFFGaUMR4/4ICG6Lrs8af0wpASsI=; b=Rxnluk4omhHGSkigsY+MaP0/dqLBlDNpcHc/n0I2xlQzToeEpPS9WJCnvXwVfnBTxT76nl xPMiSlm+CjVPm5ia+VyZtUmKTJ7STyL4qu/nQjxCaG5vD4erBbOx23/xV4fwZGqNczalem R3cQ8B0utWrs/6aTlEeAI23bfG8wFhaitZGx55nAXV4GkO9pbtBxpDcnuPWUkY93IQjPNo A98QxlOaNOCOqMfz7NTPT4aV4Rh98sU45owukA+MQjpo3olp54mnoMT9hF4HHfjwTApW3v VPA7llYeAw7Sxf63F/sdD6bKtE8i010U2/fRTQwR1c+5pIjDnwyu47EJDFZxTQ== Message-ID: <0b657056-3a7f-46ba-8e99-a8fe2203901f@yoseli.org> Date: Thu, 13 Jun 2024 09:05:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-mtd@lists.infradead.org Cc: willy@infradead.org, Andrew Morton , linux-m68k@lists.linux-m68k.org From: Jean-Michel Hautbois Subject: Issue with JFFS2 and a_ops->dirty_folio Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-GND-Sasl: jeanmichel.hautbois@yoseli.org X-Stat-Signature: quz9iocn9jexna45uitni13qo3ueqhjb X-Rspam-User: X-Rspamd-Queue-Id: CDDCF100010 X-Rspamd-Server: rspam02 X-HE-Tag: 1718262320-517929 X-HE-Meta: U2FsdGVkX1+rnXYb2RGm9dwrXwHN6UrGjHzJ/JzfavU4cXvzdYxDHNnjuW4mtuGFJHRRBTxPPkZfZK7s1V0J6WKa1rIUs/h8160hgR9QGcQEx5YTHkqSFbEdNnz++guNlJ4gWrDgFWamzmUoUdgoXppp5Cue77XqclHDgvXcw6+sMVgfpJz5ZeM4AHHWkG/efQcslE8yt1HdHF31//gW++iIFN080cpMneb97I0pumnXQ6JmZC4v27n0lyYI9cSvpBTI2D39r2M4ESHQj5Jyn2oYPutrDZNMfQT37GVf1ZQEOaEcpMsl6MS52myJnTKKYttVZWzSp4E0tYtxrys5kn63FC0WoORazywuRVW7FGBylgj3s81VM1OS6M2M3fIz8HOiJp1mAZqG8TJSm/sDmpVJwJElAIbRPXalhb58V6C9YxWIGM8/j9rQK/BsEB5GwljyE3pjAmCt7pqOfoGmqSvptOZ7/bS+G5fB1ONArWulHsUTX4MYCGjY1R+wljBcfcqzOphfujTxLuGRJcT1l7X2+xl0Z+EUXNs6EwR3J/rVogQvu5Muny7r6IVieED9X1qmwiLsS8yv/NDlWInK1bqv2qTkpVV4lndgUpylrHynm6Tb48ZgB3wqD2l0a/6tG28P5uwFugHRhTtu0xSptvyj4VggtkyuwAa6NpEFLdgUlghQB4lzRyDrkRqL94v+g8llAD6mLVUuiYwOmzZPfd/42ck4bj6ds4mqvixNrVp6jq+nWye12Lm2H3TPL4tDO8U1mjHtYV9WfwFcKNFHnd4VKOxPlWtzgh7PicvS4i6lcars/mrGtSl29t5GarJJ3uxYrqPpGKbPUSdj1EmENLbP4Ztx6Ng6mEaqAQ5ZNamHWJF1Sa2PFO77iiPdIYeasm817oStEjAaNi9VdyEzmbBgBx5ubPldZctWSTTEgwonyhB/qI+5bIVGFlDtztTw5Pu1pKTLhEq4pYhCGzD 82ZJ62EZ pCyILW/P7D0WL0xg5qwV57rSquiwjQeAF/jVgDynWA4fHdtifHKlKPq4bGR7puVvElyb8hK61sXF8th/QTcpiL6OJ39wqtz0SvaNk7ohL8/4bEGHFwyx/2eekRMZm5RUHaoaGaNl4y9Vh8lKKsjleNFfp+I+cbyghVRJ82SRrRhJUTDCd0LBh0Qh7Og== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi everyone ! I am currently working on a Coldfire (MPC54418) and quite everything goes well, except that I can only execute one command from user space before getting a segmentation fault on the do_exit() syscall. I tried to debug it and it appears to be failing in folio_mark_dirty() on the 'return mapping->a_ops->dirty_folio(mapping, folio);' call. I added a VM_BUG_ON_FOLIO(): diff --git a/mm/page-writeback.c b/mm/page-writeback.c index c2a48592c258..122ca2253263 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -2857,9 +2857,9 @@ bool folio_mark_dirty(struct folio *folio) */ if (folio_test_reclaim(folio)) folio_clear_reclaim(folio); - if (mapping->a_ops->dirty_folio) - return mapping->a_ops->dirty_folio(mapping, folio); - return noop_dirty_folio(mapping, folio); + + VM_BUG_ON_FOLIO(!mapping->a_ops->dirty_folio, folio); + return mapping->a_ops->dirty_folio(mapping, folio); } return noop_dirty_folio(mapping, folio); And it appears that this is because if tries unconditionally to call the a_ops->dirty_folio() function in JFFS2. The bug report is at the bottom of this mail. We see: aops:0x41340ae0 Which, in my build, leads to jffs2_file_address_operations. And indeed, there is no .dirty_folio nor anything relating to folios in there. I don't really know how to solve this though, as I am no expert in this specific part at all ! Thanks for your answers, BR JM --- bash-5.2# ls bin etc lib32 mnt root sys usr data home [ 9.730000] page: refcount:2 mapcount:1 mapping:42097964 index:0x97 pfn:0x27f01 [ 9.740000] aops:0x41340ae0 ino:b6 dentry name:"libc.so.6" 9.740000] flags: 0x28(uptodate|lru|zone=0) ;36ml[ 9.750000] raw: 00000028 4fed39bc 4ffd9d24 42097964 00000097 00000000 00000000 00000002 inux[ 9.760000] raw: 4fe02000 rc 9.760000] page dumped because: VM_BUG_ON_FOLIO(!mapping->a_ops->dirty_folio) [m [ 9.770000] kernel BUG at mm/page-writeback.c:2861! [ 9.770000] *** TRAP #7 *** FORMAT=4 [ 9.770000] Current process id is 24 [ 9.770000] BAD KERNEL TRAP: 00000000 [ 9.770000] PC: [<41058ff2>] folio_mark_dirty+0x68/0x82 [ 9.770000] SR: 2010 SP: 41dcddb4 a2: 418fb710 [ 9.770000] d0: 00000027 d1: 0000009e d2: 4ffd9c24 d3: 60160000 [ 9.770000] d4: 4fe03419 d5: 4ffd9c24 a0: 41dcdd00 a1: 414491f0 [ 9.770000] Process ls (pid: 24, task=418fb710) [ 9.770000] Frame format=4 eff addr=413d4c3c pc=413dbd16 [ 9.770000] Stack from 41dcddf0: [ 9.770000] 00000b2d 413dea77 413dbce8 4fe03419 41dcdf1a 410750ee 4ffd9c24 00000000 [ 9.770000] ffffffff fffffffe 41dcde9e 60164000 00000001 41317ea4 41074d0c 41078bb0 [ 9.770000] 00000001 41d67034 ffffffff 41dd6600 60164000 41dd6600 41d6e3d0 41dcc000 [ 9.770000] 41d6e3fc 00000000 00000000 00000000 00000000 41dcdf5c 410753f2 41dcdf1a [ 9.770000] 41d67034 60160000 60164000 41dcde9e 41d6e3fc 41dcdef6 41dcdf1a 4102a940 [ 9.770000] 41d6e3d4 41d67344 41d6e3d0 41dc0000 00000100 00000003 4107ad24 41dcdf1a [ 9.770000] Call Trace: [<410750ee>] unmap_page_range+0x3e2/0x672 [ 9.770000] [<41317ea4>] mas_find+0x0/0xfa [ 9.770000] [<41074d0c>] unmap_page_range+0x0/0x672 [ 9.770000] [<41078bb0>] vma_next+0x0/0x14 [ 9.770000] [<410753f2>] unmap_vmas+0x74/0x98 [ 9.770000] [<4102a940>] up_read+0x0/0x34 [ 9.770000] [<4107ad24>] exit_mmap+0xd4/0x1c0 [ 9.770000] [<410093f8>] arch_local_irq_enable+0x0/0xc [ 9.770000] [<410093ec>] arch_local_irq_disable+0x0/0xc [ 9.770000] [<41006bfa>] __mmput+0x2e/0x86 [ 9.770000] [<4100a168>] do_exit+0x21e/0x6f2 [ 9.770000] [<4100a7ba>] sys_exit_group+0x0/0x14 [ 9.770000] [<4100a778>] do_group_exit+0x22/0x64 [ 9.770000] [<4100a7ce>] pid_child_should_wake+0x0/0x56 [ 9.770000] [<410058c8>] system_call+0x54/0xa8 [ 9.770000] [ 9.770000] Code: bd16 4879 413d 4c3c 4eb9 4132 b30a 4e47 <2f02> 2f0b 4e90 508f 241f 265f 4e75 2f02 42a7 4eb9 4105 8f56 60ec 2f0b 266f 0008 [ 9.770000] Disabling lock debugging due to kernel taint [ 9.770000] note: ls[24] exited with irqs disabled 9.780000] Fixing recursive fault but reboot is needed!