Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp1145037rwb; Fri, 23 Sep 2022 08:44:33 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7kf3wGBS3S4suwtodPyRFgbIcrykJPwtdRzR6WjVDKQgcZloeGqqANe72H1bDeYxuWf7Zt X-Received: by 2002:a63:e00c:0:b0:434:aa6c:4198 with SMTP id e12-20020a63e00c000000b00434aa6c4198mr8102826pgh.14.1663947872872; Fri, 23 Sep 2022 08:44:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663947872; cv=none; d=google.com; s=arc-20160816; b=qtpJ5DsL7VPU89GNH6D51WUtz/mxtvHpDVQggXZyXQH3W4KLtfRDXChLgp3+PeDZQV XgBuyUIYouMoozXkEWjcvbSoaVRu2g+80i0TundHfvWXvK1Cgmn3cf50aJoEaF3vBjMo X7Uv2pensUWu9HhLrtU0u45BkOJJkCDn3vF7YckUQkf7X/RC9Gk4K+az1xtLdkWhOuxf Ju3JGCqUVExb2qA9OD/4vOWNvIxOLurtaamcvkJegpBqydtOHBbraJfDpuiC+daMStiu UI4wxLinbKZe9q9zxSbBOr7QUTZnMhpGa0PpYhHf/W3LHHvh7oNT4gtHBNdRFzN+7w9C Sbdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:sender:dkim-signature; bh=5r7foWQmgnElkTtlj2t11gwXHrDcKejvsb3U8D3RKiE=; b=qaDBcZH+0RxDCKN61ffTGSvwFGWTAVdB4lQJGpaRUysHiHB+PG3SaPtIOmlMmiAi8Q dM5pBZqqRgKMSRFRIgLRjgyTobsbbuet4KH503OovKMC7M29KkTsGWqEFkwoHvRMNene NdDd9Qln8ZujbXB1+rdMyCfThOC2ovrkgfLflrP3hfVMdwFloj54/Mt0zQ1wB24HOweV tOSn+VpBCPahnc8M2dL+QPLRPsHz9MX7lgdrEKhTe32NNddQ+c+hg7kb+8K00QUX+mvq 0UoGcel1ey95KztL7Ap7q48SwSV2Dv0Kcgmx28an+7le+tEJER4hX4Ibgdrdhqr66z7s 16sA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=CME6FiUd; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kb10-20020a17090ae7ca00b001f4fd88724csi3491577pjb.5.2022.09.23.08.44.21; Fri, 23 Sep 2022 08:44:32 -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=@gmail.com header.s=20210112 header.b=CME6FiUd; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232553AbiIWP2O (ORCPT + 99 others); Fri, 23 Sep 2022 11:28:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48110 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231474AbiIWP2N (ORCPT ); Fri, 23 Sep 2022 11:28:13 -0400 Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D388D143576; Fri, 23 Sep 2022 08:28:12 -0700 (PDT) Received: by mail-pj1-x102a.google.com with SMTP id s90-20020a17090a2f6300b00203a685a1aaso490948pjd.1; Fri, 23 Sep 2022 08:28:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :sender:from:to:cc:subject:date; bh=5r7foWQmgnElkTtlj2t11gwXHrDcKejvsb3U8D3RKiE=; b=CME6FiUdsbwMGLzNgML6WHHl1lM9nFZE7vx7IzFUZRa/XbKB8NDkcto6BiUp759bV9 7r862R6CjsSoGCnmpL+41+hVunsCJjoGMXymp0R7Y8Zqxaed1kZEIL0i1tno1wiFta14 jDYVEVndeuszvfDVLmcN1ZWzzcJYK5yleexxpDYQ2kwKg8ZV0BOerRBch2oONh0denaD lMDWdFMkd7McKfKnErgCx/kVfT1S64SKIpeAmn0fG0ljoRFoAciqPfTwVNQstTTm38vA l20Vf9rljn53hxlAXjYXbP3NGVmpwqPmgsukOtjbJ7qYlDo6jO0zGDdno3Ho30fJb8kq Xvhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :sender:x-gm-message-state:from:to:cc:subject:date; bh=5r7foWQmgnElkTtlj2t11gwXHrDcKejvsb3U8D3RKiE=; b=O4d1+J6Tf0kU8ELmX+6TqFaLbBBm5t0TccKa2qakdL4qvusc5CYFzpORYyWGyKYYSq cuU6KOCP5FZNw/uX7+KNcE8gvhtSLNKqXoctnomkL37EfKkQc27kFqyQjyJc/PmtOD7s DpUlASdWDC9cbob7dfTxJbGU68xkY/EqYRzlD0vgIARaOA76V1E8H8sPkMd9iHpSOeHD sZK9CY1KXtQMP8Q7EnYe26yxvKzLJYAA5PCfGrn2C2j4fjW828PfCmgTFaxkpvevHr6U U6Oqzol1GG0tzNkJy018YuIC2wGXNSMFwF3drl3/PVJhJvVJclDB9SE2c2UZvjDgQqV8 wsBA== X-Gm-Message-State: ACrzQf2jAtMXMHq9qkoUrYR7z3nbv5E80lfjpv7nZM5MYyi0CgQlu8uK CD7b+QXXTTH94KN9pcg3r/8= X-Received: by 2002:a17:902:f08a:b0:176:b477:8be0 with SMTP id p10-20020a170902f08a00b00176b4778be0mr9293590pla.66.1663946892310; Fri, 23 Sep 2022 08:28:12 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id a15-20020a17090a740f00b002036006d65bsm1688463pjg.39.2022.09.23.08.28.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Sep 2022 08:28:11 -0700 (PDT) Sender: Guenter Roeck Date: Fri, 23 Sep 2022 08:28:09 -0700 From: Guenter Roeck To: Masahiro Yamada Cc: linux-kernel@vger.kernel.org, Christoph Hellwig , Marek Szyprowski , Robin Murphy , iommu@lists.linux.dev, linux-kbuild@vger.kernel.org, "Martin K. Petersen" , Ming Lin , Sagi Grimberg Subject: Re: [PATCH] lib/sg_pool: change module_init(sg_pool_init) to subsys_initcall Message-ID: <20220923152809.GA455235@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=no 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 On Fri, Sep 23, 2022 at 08:38:35PM +0900, Masahiro Yamada wrote: > sg_alloc_table_chained() is called by several drivers, but if it is > called before sg_pool_init(), it results in a NULL pointer dereference > in sg_pool_alloc(). > > Since commit 9b1d6c895002 ("lib: scatterlist: move SG pool code from > SCSI driver to lib/sg_pool.c"), we rely on module_init(sg_pool_init) > is invoked before other module_init calls but this assumption is > fragile. > > I slightly changed the link order while Kbuild refactoring Kbuild, > then uncovered this issue. I should keep the current link order, but > depending on a specific call order among module_init is so fragine. > > We usually define the init order by specifying *_initcall correctly, > or delay the driver probing by returning -EPROBE_DEFER. > > Change module_initcall() to subsys_initcall(), and also delete the > pointless module_exit() because lib/sg_pool.c is always compiled as > built-in. (CONFIG_SG_POOL is bool) > > Link: https://lore.kernel.org/all/20220921043946.GA1355561@roeck-us.net/ > Link: https://lore.kernel.org/all/8e70837d-d859-dfb2-bf7f-83f8b31467bc@samsung.com/ > Fixes: 9b1d6c895002 ("lib: scatterlist: move SG pool code from SCSI driver to lib/sg_pool.c") > Reported-by: Guenter Roeck > Reported-by: Marek Szyprowski > Signed-off-by: Masahiro Yamada Tested-by: Guenter Roeck Guenter