Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1813996pxb; Sat, 2 Apr 2022 04:41:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqUQghohtpkpLdFo0svMCk9ZvbPprfMwbmxi47Knlo4/iupk27L+JewZbaTIFL6Y3+vXpX X-Received: by 2002:a17:90b:3b4c:b0:1c6:d91f:fbf5 with SMTP id ot12-20020a17090b3b4c00b001c6d91ffbf5mr16491323pjb.81.1648899711391; Sat, 02 Apr 2022 04:41:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648899711; cv=none; d=google.com; s=arc-20160816; b=Kp83r9MbhRucu6wop63xZCOThV6wjpn0Z6FGDwJcVhutaJBlWw3+u9EiTnNr8VUhMi THaMcVqYoUtEZ/XyzS+H1c8aUPFG1F8bSuXHq9gxgav63jiedHv66d+BM+OCtA7a2CZV ctRF8v6jS0hy7tOf4OAnZdBHVvKEJ2vFWxSH/UHU8f+pMMLwFGtCriFpUiYg1XzYqoEC VwV19HKYIpYYYZGz9WfgDiW83l1sANHkXk3XPcGsXFY4A8ZPZkAhhW3IoGLodFRkEXRL qVIK5e668Yx+e/5nrqRsgxAPFH900b1S7Cs3z2MCJ98Wuaweact7CXPxMqfP9Sg4aj/I YAwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :in-reply-to:from:cc:to:content-language:subject:user-agent :mime-version:date:message-id:dkim-signature:dkim-filter; bh=DM0rhvB2GhxeOPQPo/EjMS38q+Iw5NVWfPDrrASpcb4=; b=Z5hXZeZu38d/KcZWEQdBfW76FLuWYY+gc7B+1m6gq0tY78IkYdlf+DdiM1dJRNcUvq fIapq4UZ1TgSBJjkyEgtvnQLnV0wesfGQPigW+9vgifgcMpDB0AkeoLU4GgW9dxXWwYH 4RS29DosTJEMmmizEjlfRmMzfCB5bwA/MPZAZ3evNbeNGV7ovRN6fkRihAcZ+OpMl+sq JiuEbYTAgUrgSjneQcDJHe1aMMHSERo9Hr4q2Ue/jWYoWqdCUbsF4sVFUskUq//Z1x7e Amo0apksX+WFaUWclwcAsipzKhPW7c5kiTe2uAxFKRysDQ/CVZ1YusaobCEQH9/Rfi5d hs/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="ja/zMyMD"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l14-20020a170903120e00b0015445f2c041si5160467plh.230.2022.04.02.04.41.38; Sat, 02 Apr 2022 04:41:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="ja/zMyMD"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229911AbiCaVUB (ORCPT + 99 others); Thu, 31 Mar 2022 17:20:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232587AbiCaVT7 (ORCPT ); Thu, 31 Mar 2022 17:19:59 -0400 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28EC423D456 for ; Thu, 31 Mar 2022 14:18:11 -0700 (PDT) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20220331211806euoutp016c81c41ff4ba6c6a2d4929933cbc80b4~hk9YiJWWk1194011940euoutp015 for ; Thu, 31 Mar 2022 21:18:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20220331211806euoutp016c81c41ff4ba6c6a2d4929933cbc80b4~hk9YiJWWk1194011940euoutp015 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1648761486; bh=DM0rhvB2GhxeOPQPo/EjMS38q+Iw5NVWfPDrrASpcb4=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=ja/zMyMDE2hI5nWK1cSG+xVwKDnHdB3TJJsbdYWzaeuSimQ3m9JkMJrhhXkbmjFkz e2f0Sj3aKvgroxwesW/XSvOFwyXkOAq15i5RcLlHfNSmVWPBiN0QVU0vJC2kkc8Ck/ rErf/8S9OuUhBowX3M73oJFu2oPgR/2m7MXkX2ic= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20220331211805eucas1p2a8a5006c03c42a203bd56896dafbf5b4~hk9Xbop573192531925eucas1p2Z; Thu, 31 Mar 2022 21:18:05 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id ED.B2.09887.D8A16426; Thu, 31 Mar 2022 22:18:05 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20220331211804eucas1p28da21f2dfd57aa490abffb8f87417f42~hk9WlERhz0832008320eucas1p2F; Thu, 31 Mar 2022 21:18:04 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220331211804eusmtrp20190ecaa189b027a004cf7cf2b9bcc1b~hk9WkFQiu0959209592eusmtrp2E; Thu, 31 Mar 2022 21:18:04 +0000 (GMT) X-AuditID: cbfec7f4-471ff7000000269f-d8-62461a8d2ebf Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 7F.43.09404.C8A16426; Thu, 31 Mar 2022 22:18:04 +0100 (BST) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220331211803eusmtip1a9ccf738d9b7d324aba71fa048d24a9b~hk9VwfLgt1478114781eusmtip1M; Thu, 31 Mar 2022 21:18:03 +0000 (GMT) Message-ID: <6696cc6a-3e3f-035e-5b8c-05ea361383f3@samsung.com> Date: Thu, 31 Mar 2022 23:18:03 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH 4/5] block: turn bio_kmalloc into a simple kmalloc wrapper Content-Language: en-US To: Christoph Hellwig , Jens Axboe Cc: Coly Li , Mike Snitzer , Song Liu , "Martin K. Petersen" , Josef Bacik , David Sterba , Phillip Lougher , linux-block@vger.kernel.org, dm-devel@redhat.com, linux-kernel@vger.kernel.org, linux-bcache@vger.kernel.org, linux-raid@vger.kernel.org, target-devel@vger.kernel.org, linux-btrfs@vger.kernel.org From: Marek Szyprowski In-Reply-To: <20220308061551.737853-5-hch@lst.de> Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDKsWRmVeSWpSXmKPExsWy7djP87q9Um5JBg838VmsvtvPZjG98Ty7 xd53s1ktLvxoZLJYufook8Wfh4YWx7ZdY7LYe0vb4tLjFewWl3fNYbNon7+L0WL58X9MFkd7 NrNZtG38ymhxfPlfNovWpW+ZHAQ8Lp8t9di0qpPNY/fNBjaPj09vsXi833eVzWPK1+fMHuu3 XGXx2Hy62mPC5o2sHp83yQVwRXHZpKTmZJalFunbJXBlbJ49m7WgRadi6/J57A2Me1W6GDk5 JARMJJ7M3MEKYgsJrGCU2PvcuIuRC8j+wigx7/MeRgjnM6PE15P/WGE6Dt/6wwaRWM4o8X3P ShYI5yOjRHfDIaAMBwevgJ3E5WteIA0sAqoSbbO/MYPYvAKCEidnPmEBsUUFkiRWb18NVi4s ECAxb7cVSJhZQFzi1pP5TCC2iICDxOwNS8F2MQucZ5bY/OUOI0iCTcBQouttFxuIzQlk93y4 wQbRLC/RvHU2M0iDhMBuTom5R98wQ1ztIvF+51yoD4QlXh3fwg5hy0j83wmyjQPIzpf4O8MY Ilwhce31GqhWa4k7536B3cksoCmxfpc+RNhR4mnjVjaITj6JG28FIS7gk5i0bTozRJhXoqNN CKJaTWLW8XVwOw9euMQ8gVFpFlKYzELy/Cwkv8xC2LuAkWUVo3hqaXFuemqxUV5quV5xYm5x aV66XnJ+7iZGYAI8/e/4lx2My1991DvEyMTBeIhRgoNZSYT3aqxrkhBvSmJlVWpRfnxRaU5q 8SFGaQ4WJXHe5MwNiUIC6YklqdmpqQWpRTBZJg5OqQam9Iw27xM7eus6sqM4NSetOn73XsrL jPMnXyb/25a38anntEliL28rGemdCC07nuipf7QuN+/oBW22L9+eTZZfcG5mTrnk7Q72WnO+ mUKFm+PTBCeFT1KTf74wL9moLzp9cSzn5QoLltvLP6hfttnq/alz0tZvTAoy9ZPEpy04fOpk nV6O3SPPe4zXdky93GDzZnbIs5xFN047H+XrnbBIzE1S8kzJqtMfzni+qbK6XSi5eqbWyQTj X5IrpHYqXOdjNPokXrY1jeH5h2L74oNOWo5uyneOG6952ts6M80pIFdtZVvN7x+v/7ELZyqV KvM9u8k44+XZYvU98ydVXdjHf/SzgKKv8LkIZck1n6WLlViKMxINtZiLihMBeBXxdu8DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIIsWRmVeSWpSXmKPExsVy+t/xu7o9Um5JBic+C1usvtvPZjG98Ty7 xd53s1ktLvxoZLJYufook8Wfh4YWx7ZdY7LYe0vb4tLjFewWl3fNYbNon7+L0WL58X9MFkd7 NrNZtG38ymhxfPlfNovWpW+ZHAQ8Lp8t9di0qpPNY/fNBjaPj09vsXi833eVzWPK1+fMHuu3 XGXx2Hy62mPC5o2sHp83yQVwRenZFOWXlqQqZOQXl9gqRRtaGOkZWlroGZlY6hkam8daGZkq 6dvZpKTmZJalFunbJehlbJ49m7WgRadi6/J57A2Me1W6GDk5JARMJA7f+sPWxcjFISSwlFHi 5IedbBAJGYmT0xpYIWxhiT/XusDiQgLvGSUO3HLqYuTg4BWwk7h8zQskzCKgKtE2+xsziM0r IChxcuYTFhBbVCBJ4lJXOyOILSzgJ3Hh4gawMcwC4hK3nsxnArFFBBwkZm9YCnYDs8BFZon3 h6czQuwKl7h3pQlsKJuAoUTXW4gbOIHsng83oAaZSXRt7WKEsOUlmrfOZp7AKDQLyR2zkOyb haRlFpKWBYwsqxhFUkuLc9Nzi430ihNzi0vz0vWS83M3MQLjftuxn1t2MK589VHvECMTB+Mh RgkOZiUR3quxrklCvCmJlVWpRfnxRaU5qcWHGE2BgTGRWUo0OR+YePJK4g3NDEwNTcwsDUwt zYyVxHk9CzoShQTSE0tSs1NTC1KLYPqYODilGpg04u5N1BdXFt3TNvtertcEwbUOK+pNbVMC 0yqWC3NGHL6966WrV+5xzZjP55NOVL94uu/z3qqNTW36Ho7qbw15BLI+aAUd5d3MF6U0Jf10 dOnCFx/XGnBld5xX57Dpa63Zmtxh4OjAVvLtxdmZt/ZJehVfOiZ2ZQ7P46oNwQ+iCzrclMvC tjdpTfrh6Thd9dS9BLs3GnxTF1T2fF0UaXMlrGqJq8ipS8/teWdEFh/v1fX21Mq7lqgipa35 hVHyjf7D9SEfjtWubUxJrXohsy5CaavqvuOZ8qa/lzRf//jxlfZMhm23nU/5as3c5NO+t3AV 87slnskMM2TlfvcdFQn2LnwWfz8/OJbrntDORCWW4oxEQy3mouJEAFsaRTyEAwAA X-CMS-MailID: 20220331211804eucas1p28da21f2dfd57aa490abffb8f87417f42 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20220331211804eucas1p28da21f2dfd57aa490abffb8f87417f42 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20220331211804eucas1p28da21f2dfd57aa490abffb8f87417f42 References: <20220308061551.737853-1-hch@lst.de> <20220308061551.737853-5-hch@lst.de> X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_HI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Christoph, On 08.03.2022 07:15, Christoph Hellwig wrote: > Remove the magic autofree semantics and require the callers to explicitly > call bio_init to initialize the bio. > > This allows bio_free to catch accidental bio_put calls on bio_init()ed > bios as well. > > Signed-off-by: Christoph Hellwig This patch, which landed in today's next-20220331 as commit 57c47b42f454 ("block: turn bio_kmalloc into a simple kmalloc wrapper"), breaks badly all my test systems, which use squashfs initrd: RAMDISK: squashfs filesystem found at block 0 RAMDISK: Loading 2489KiB [1 disk] into ram disk... done. using deprecated initrd support, will be removed in 2021. ------------[ cut here ]------------ WARNING: CPU: 4 PID: 1 at block/bio.c:229 bio_free+0x6c/0x70 Modules linked in: CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.17.0-next-20220331 #4767 Hardware name: Samsung Exynos (Flattened Device Tree)  unwind_backtrace from show_stack+0x10/0x14  show_stack from dump_stack_lvl+0x58/0x70  dump_stack_lvl from __warn+0xc8/0x218  __warn from warn_slowpath_fmt+0x5c/0xb4  warn_slowpath_fmt from bio_free+0x6c/0x70  bio_free from squashfs_read_data+0x118/0x748  squashfs_read_data from squashfs_read_table+0xdc/0x144  squashfs_read_table from squashfs_fill_super+0x100/0x9ec  squashfs_fill_super from get_tree_bdev+0x154/0x248  get_tree_bdev from vfs_get_tree+0x24/0xe4  vfs_get_tree from path_mount+0x3d0/0xb14  path_mount from init_mount+0x54/0x80  init_mount from do_mount_root+0x78/0x104  do_mount_root from mount_block_root+0xf0/0x1fc  mount_block_root from initrd_load+0xec/0x294  initrd_load from prepare_namespace+0xdc/0x18c  prepare_namespace from kernel_init+0x18/0x12c  kernel_init from ret_from_fork+0x14/0x2c Exception stack(0xf0835fb0 to 0xf0835ff8) ... irq event stamp: 398271 hardirqs last  enabled at (398279): [] __up_console_sem+0x50/0x60 hardirqs last disabled at (398338): [] __up_console_sem+0x3c/0x60 softirqs last  enabled at (398352): [] __do_softirq+0x348/0x610 softirqs last disabled at (398347): [] __irq_exit_rcu+0x144/0x1ec ---[ end trace 0000000000000000 ]--- 8<--- cut here --- Unable to handle kernel NULL pointer dereference at virtual address 00000004 [00000004] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 4 PID: 1 Comm: swapper/0 Tainted: G        W 5.17.0-next-20220331 #4767 Hardware name: Samsung Exynos (Flattened Device Tree) PC is at bio_free+0x24/0x70 LR is at bio_free+0x24/0x70 pc : []    lr : []    psr: 80000113 sp : f0835cf0  ip : 00000000  fp : c28cae80 r10: ef0a95c0  r9 : c2805cc0  r8 : 00000060 r7 : 00000060  r6 : 00000060  r5 : 00000000  r4 : c2804a80 r3 : c2804ac8  r2 : 00000001  r1 : c2804ac8  r0 : 00000074 Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none Control: 10c5387d  Table: 4000406a  DAC: 00000051 Register r0 information: non-paged memory Register r1 information: slab kmalloc-128 start c2804a80 pointer offset 72 size 128 Register r2 information: non-paged memory Register r3 information: slab kmalloc-128 start c2804a80 pointer offset 72 size 128 Register r4 information: slab kmalloc-128 start c2804a80 pointer offset 0 size 128 Register r5 information: NULL pointer Register r6 information: non-paged memory Register r7 information: non-paged memory Register r8 information: non-paged memory Register r9 information: slab kmalloc-192 start c2805cc0 pointer offset 0 size 192 Register r10 information: non-slab/vmalloc memory Register r11 information: slab kmalloc-64 start c28cae80 pointer offset 0 size 64 Register r12 information: NULL pointer Process swapper/0 (pid: 1, stack limit = 0x(ptrval)) Stack: (0xf0835cf0 to 0xf0836000) ...  bio_free from squashfs_read_data+0x118/0x748  squashfs_read_data from squashfs_read_table+0xdc/0x144  squashfs_read_table from squashfs_fill_super+0x100/0x9ec  squashfs_fill_super from get_tree_bdev+0x154/0x248  get_tree_bdev from vfs_get_tree+0x24/0xe4  vfs_get_tree from path_mount+0x3d0/0xb14  path_mount from init_mount+0x54/0x80  init_mount from do_mount_root+0x78/0x104  do_mount_root from mount_block_root+0xf0/0x1fc  mount_block_root from initrd_load+0xec/0x294  initrd_load from prepare_namespace+0xdc/0x18c  prepare_namespace from kernel_init+0x18/0x12c  kernel_init from ret_from_fork+0x14/0x2c Exception stack(0xf0835fb0 to 0xf0835ff8) ... ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Reverting it on top of linux next-20220331 (together with commit 1292fb59f283 ("pktcdvd: stop using bio_reset")) fixes (or hides?) the issue. > --- > block/bio.c | 47 ++++++++++++------------------ > block/blk-crypto-fallback.c | 14 +++++---- > block/blk-map.c | 42 ++++++++++++++++---------- > drivers/block/pktcdvd.c | 25 ++++++++-------- > drivers/md/bcache/debug.c | 10 ++++--- > drivers/md/dm-bufio.c | 9 +++--- > drivers/md/raid1.c | 12 +++++--- > drivers/md/raid10.c | 21 ++++++++----- > drivers/target/target_core_pscsi.c | 10 +++---- > fs/squashfs/block.c | 9 +++--- > include/linux/bio.h | 2 +- > 11 files changed, 108 insertions(+), 93 deletions(-) > [...] Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland