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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ED351C27C79 for ; Mon, 17 Jun 2024 20:30:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=v0vVhwJ4NI0ZChVjv+k3qfPqq15F/Pk/tMQmEIEGo8w=; b=VPH42ZtjNVg4Qd 77RjdvASZR7WUCSjPe2xwJ+aLkY4WTFeuvxZSkG0xX2vI3DfUKPegLpSvn/JrqMLv81C4BKheJHUa SgKBUpasyobGdKsPw5gjcBFLtohI7xRzk0Tv/VG7SR/uHaIH5YTpeqBmsFH906Fk8AFKpaO1lLf/M 4zWWoBgF+wBGFjr6ASchCj5cv+aCSxnP+RWdcNK8/jdnLZusNyvCwTwlzMi1XVMChb3KrjK44njDp q6eMXrqVwD7KFNjxBE18TMkFF2Pae2SrU22Zxz4SR68r/8w3scy/wIlNoV9WyuqQSfTHhFD1dWYwr DvIz3KliNUSQPXT0ihlg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJIzM-0000000CXB0-43Yf; Mon, 17 Jun 2024 20:30:04 +0000 Received: from pidgin.makrotopia.org ([2a07:2ec0:3002::65]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJIzI-0000000CXA9-478S for linux-mtd@lists.infradead.org; Mon, 17 Jun 2024 20:30:03 +0000 Received: from local by pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.97.1) (envelope-from ) id 1sJIz2-000000001We-1tSz; Mon, 17 Jun 2024 20:29:44 +0000 Date: Mon, 17 Jun 2024 21:29:36 +0100 From: Daniel Golle To: Richard Weinberger Cc: Gagan Sidhu , ZhaoLong Wang , chengzhihao1 , dpervushin , linux-kernel , linux-mtd , Miquel Raynal , Vignesh Raghavendra , yangerkun , yi zhang Subject: Re: [PATCH v2] ubi: gluebi: Fix NULL pointer dereference caused by ftl notifier Message-ID: References: <48D8B89B-0402-4D8B-B045-86104C0C797F@mac.com> <303502000.252057.1718647746641.JavaMail.zimbra@nod.at> <90A90DA4-8B68-432D-9577-0D3635AF84BB@mac.com> <296007365.252185.1718649153090.JavaMail.zimbra@nod.at> <3841F21D-CA54-456C-9D9C-F06EEA332A30@mac.com> <136290141.252319.1718650375432.JavaMail.zimbra@nod.at> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <136290141.252319.1718650375432.JavaMail.zimbra@nod.at> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_133001_674212_1E17DFF2 X-CRM114-Status: GOOD ( 50.54 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgUmljaGFyZCwKCk9uIE1vbiwgSnVuIDE3LCAyMDI0IGF0IDA4OjUyOjU1UE0gKzAyMDAsIFJp Y2hhcmQgV2VpbmJlcmdlciB3cm90ZToKPiBbQ0MnaW5nIERhbmllbF0KPiAKPiAtLS0tLSBVcnNw csO8bmdsaWNoZSBNYWlsIC0tLS0tCj4gPiBWb246ICJHYWdhbiBTaWRodSIgPGJyb2x5QG1hYy5j b20+Cj4gPiBBbjogInJpY2hhcmQiIDxyaWNoYXJkQG5vZC5hdD4KPiA+IENDOiAiWmhhb0xvbmcg V2FuZyIgPHdhbmd6aGFvbG9uZzFAaHVhd2VpLmNvbT4sICJjaGVuZ3poaWhhbzEiIDxjaGVuZ3po aWhhbzFAaHVhd2VpLmNvbT4sICJkcGVydnVzaGluIgo+ID4gPGRwZXJ2dXNoaW5AZW1iZWRkZWRh bGxleS5jb20+LCAibGludXgta2VybmVsIiA8bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZz4s ICJsaW51eC1tdGQiCj4gPiA8bGludXgtbXRkQGxpc3RzLmluZnJhZGVhZC5vcmc+LCAiTWlxdWVs IFJheW5hbCIgPG1pcXVlbC5yYXluYWxAYm9vdGxpbi5jb20+LCAiVmlnbmVzaCBSYWdoYXZlbmRy YSIgPHZpZ25lc2hyQHRpLmNvbT4sCj4gPiAieWFuZ2Vya3VuIiA8eWFuZ2Vya3VuQGh1YXdlaS5j b20+LCAieWkgemhhbmciIDx5aS56aGFuZ0BodWF3ZWkuY29tPgo+ID4gR2VzZW5kZXQ6IE1vbnRh ZywgMTcuIEp1bmkgMjAyNCAyMDo0NjoxMAo+ID4gQmV0cmVmZjogUmU6IFtQQVRDSCB2Ml0gdWJp OiBnbHVlYmk6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgY2F1c2VkIGJ5IGZ0bCBub3Rp Zmllcgo+IAo+ID4+IE9uIEp1biAxNywgMjAyNCwgYXQgMTI6MzIgUE0sIFJpY2hhcmQgV2VpbmJl cmdlciA8cmljaGFyZEBub2QuYXQ+IHdyb3RlOgo+ID4+IAo+ID4+IC0tLS0tIFVyc3Byw7xuZ2xp Y2hlIE1haWwgLS0tLS0KPiA+Pj4gVm9uOiAiR2FnYW4gU2lkaHUiIDxicm9seUBtYWMuY29tPgo+ ID4+Pj4gQUZBSUNULCB0aGlzIGxvZyBsaW5lIGlzIG5vdCBwYXJ0IG9mIHRoZSBtYWlubGluZSBr ZXJuZWwuCj4gPj4+IAo+ID4+PiB0aGlzIGlzIG1haW5saW5lLiBpdOKAmXMganVzdCBub3QgNi54 LiBpdOKAmXMgNC4xNC4KPiA+PiAKPiA+PiBJJ3ZlIGRvdWJsZSBjaGVja2VkIGFuZCBkaXNhZ3Jl ZS4KPiA+PiBUaGlzIGxpbmUgY29tZXMgZnJvbToKPiA+PiBodHRwczovL2dpdC5vcGVud3J0Lm9y Zy8/cD1vcGVud3J0L29wZW53cnQuZ2l0O2E9YmxvYjtmPXRhcmdldC9saW51eC9nZW5lcmljL3Bl bmRpbmctNC4xNC80ODAtbXRkLXNldC1yb290ZnMtdG8tYmUtcm9vdC1kZXYucGF0Y2g7aD02Y2Rk YWYwMWI3NWNiNThjZmIzNzdmNTY4ZjJjMzc1YWY4N2UyZjFiO2hiPWMzYmQxMzIxZGUxZTBkODE0 ZjVjZmM0ZjQ5NGY2YjJmYjFmNTEzM2IKPiA+IAo+ID4gbm8gaSBrbm93IHRoYXQsIHRoYXTigJlz IHRoZSBwYXRjaCBpIHNob3dlZCB5b3UuIGkgbWVhbnQgdGhlIHJlc3Qgb2YgaXQgaXMKPiA+IG1h aW5saW5lLiB0aGUgcGF0Y2ggb2J2aW91c2x5IGlzIG5vdC4KPiA+PiAKPiA+PiBJbiByZWNlbnQg T3BlbldSVCBrZXJuZWxzIEkgc2VlOgo+ID4+IGh0dHBzOi8vZ2l0Lm9wZW53cnQub3JnLz9wPW9w ZW53cnQvb3BlbndydC5naXQ7YT1ibG9iO2Y9dGFyZ2V0L2xpbnV4L2dlbmVyaWMvcGVuZGluZy01 LjE1LzQ5My11Ymktc2V0LVJPT1RfREVWLXRvLXViaWJsb2NrLXJvb3Rmcy1pZi11bnNldC5wYXRj aDtoPTI2NmE2MzMxYzJhY2MwZjdjMTdkOWFjNzJmNTQ2NTlkMzFiNTYyNDk7aGI9SEVBRAo+ID4+ IAo+ID4+IExvb2tzIGxpa2UgaW4gcmVjZW50IHZlcnNpb25zIHRoZSBwYXRjaCBpbiBxdWVzdGlv biBkb2VzICpub3QqIGNhdXNlIGEKPiA+PiByZWdyZXNzaW9uLgo+ID4gCj4gPiB0aGF0IHBhdGNo IGlzIGFsc28gYXBwbGllZCBpbiBteSB2ZXJzaW9uIGFzIHdlbGwsIHNvIGkgZG9u4oCZdCBzZWUg aG93IHRoaXMgYXZvaWRzCj4gPiB0aGUgcmVncmVzc2lvbi4KPiA+IAo+ID4gaHR0cHM6Ly9naXRo dWIuY29tL3RvcnZhbGRzL2xpbnV4L2Jsb2IvbWFzdGVyL2RyaXZlcnMvbXRkL210ZGNvcmUuYyNM Nzc0Cj4gPiAKPiA+IG1pbmUgc2F5cyAiWzYuMDUxNDI2XSBtdGQ6IGRldmljZSAxMiAocm9vdGZz KSBzZXQgdG8gYmUgcm9vdCBmaWxlc3lzdGVtIgo+ID4gCj4gPiB3aGljaCBpcyBzaW1wbHkgdGhl IGNhbGwgZnJvbSBkcml2ZXJzL210ZC9tdGRjb3JlLmMKPiA+IAo+ID4gc28gdGhlIHJvb3RmcyBk ZXZpY2UgaXMgc2V0IGNvcnJlY3RseS4gaXTigJlzIGp1c3Qgbm90IGJvb3RpbmcgZnJvbSBpdC4K PiA+IAo+ID4gdGhlIHJlZ3Jlc3Npb24gY29tZXMgZnJvbSBoYXZpbmcgR0xVRUJJK0JMT0NLIGVu YWJsZWQsIGl0IHNlZW1zLCBhcmUgdGhleQo+ID4gZmlnaHRpbmcgZm9yL29wZXJhdGluZyBvbiB0 aGUgc2FtZSBwYXJ0aXRpb24/Cj4gCj4gSSBkb24ndCBrbm93LiBMZXQncyBhc2sgRGFuaWVsLgoK SSd2ZSB0cmllZCB0byBmb2xsb3cgdXAgd2l0aCB0aGlzIHRocmVhZCBhbmQgdG8gdW5kZXJzdGFu ZCB3aGF0IHRoaXMgaXMgYWxsCmFib3V0LgoKTGV0IG1lIGFkZCBhIGZldyB0aGluZ3M6CgogKiBJ biBPcGVuV3J0IHdlIGFyZSB0cnlpbmcgdG8gZ2V0IHJpZCBvZiB0aGUgZG93bnN0cmVhbSBwYXRj aGVzCiAgIG1lbnRpb25lZCBoZXJlLiBUaGV5IHdlcmUgaW50cm9kdWNlZCBhdCBhIHRpbWUgd2hl biB3ZSBkaWQgbm90IGhhdmUKICAgRGV2aWNlIFRyZWUgYW5kIGhlbmNlIG5vIG9wdGlvbiB0byB1 c2Uga2VybmVsIGNtZGxpbmUgdG8gYXR0YWNoIFVCSSwKICAgb3IgdXNlIHJvb3Q9IHBhcmFtZXRl ci4gTm93YWRheXMgdGhleSBhcmUgbGVnYWN5IGFuZCB3ZSBzaG91bGQgbm90CiAgIHVzZSB0aGUg dmFyaW91cyBhdXRvLXJvb3RmcyBoYWNrcyBpbiBmYXZvciBvZiBkb2luZyB0aGUgc2FtZSB0aGlu ZwogICB1c2luZyAvY2hvc2VuL2Jvb3RhcmdzIGluIERUIGFuZCB0aGUgbGlrZS4KCiAqIFNob3J0 bHkgYWZ0ZXIgdGhlIGludHJvZHVjdGlvbiBvZiB1YmlibG9jayB3ZSBoYXBwaWx5IGdvdCByaWQg b2YgZ2x1ZWJpLgogICBJbiBPcGVuV3J0IGdsdWViaSBoYXMgbm90IGJlZW4gZW5hYmxlZCBmb3Ig YSB2ZXJ5IGxvbmcgdGltZSwgYW5kCiAgIGhlbmNlIEkgY2FuIHRlbGwgbGl0dGxlIGFib3V0IHBv dGVudGlhbCBwcm9ibGVtcyBpdCBtYXkgY2F1c2UsIG9yIGF0CiAgIGxlYXN0IEkgY2FuJ3QgZG8g bW9yZSB0aGFuIGFueW9uZSBlbHNlIGNhbiB3aGljaCBpcyByZWFkaW5nIHRoZSBjb2RlCiAgIGFu ZCB0aGUgbG9ncyBzdXBwbGllZCBieSB0aGUgdXNlci4KCkFsbCB0aGF0IGJlaW5nIHNhaWQgdGhl cmUgYXJlIG9mIGNvdXJzZSBjYXNlcyB3aGVyZSBvbmUgbWF5IHNpbXBseQpyZXF1aXJlIHRvIHVz ZSBhIHZlcnkgb2xkIGtlcm5lbCAoNC4xNCBoZXJlKSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJ1 bgpwcm9wcmlldGFyeSBvdXQtb2YtdHJlZSBkcml2ZXJzIChydDI4NjAgd2lmaSBoZXJlKS4gQW5k LCBvZiBjb3Vyc2UsIGlmCnlvdSBjYW4gY29tcGlsZSBhIGtlcm5lbCB3aXRoIGdsdWViaSBhbmQg dWJpYmxvY2sgYm90aCBlbmFibGVkLCB0aGVuCnRoYXQgc2hvdWxkIHdvcmsgYXMgd2VsbCBhbmQg bm90IHJlc3VsdCBpbiBlaXRoZXIgb2YgdGhlbSBnb2luZyBzb3V0aC4KClNvIHJlYWRpbmcgdGhl IGxvZ3MgSSBkbyB1bmRlcnN0YW5kIHdoYXQgaGFzIGhhcHBlbmVkOgpOb3RlIHRoYXQgdGhlIGVy cm9yIGZvciB1bmtub3duLWJsb2NrKDMxLDEyKSBpcyBFTlhJTyAoIk5vIHN1Y2ggZGV2aWNlCm9y IGFkZHJlc3MiKSwgYW5kIHRoYXQgbWFrZXMgc2Vuc2UgYXMgdGhhdCBtdGRibG9jazEyIGRldmlj ZSBpbmRlZWQKZG9lc24ndCBleGlzdDoKCj4gWyAgICA2LjQ1NzUxOF0gMWYwYiAgICAgICAgICAg IDQ2MDggbXRkYmxvY2sxMQo+IFsgICAgNi40NTc1MjNdICAoZHJpdmVyPykKPiBbICAgIDYuNDcw NzIwXSBmZTAwICAgICAgICAgICAzMzYwNCB1YmlibG9jazBfMAo+IFsgICAgNi40NzA3MjRdICAo ZHJpdmVyPykKCkFuZCB5ZXMsIHRoYXQncyBkdWUgdG8gdGhlIGFkZGVkIHRlc3RzIGZvciBtdGQt PnR5cGUgIT0gTVREX1VCSVZPTFVNRQp3aGljaCBwcmV2ZW50IG10ZGJsb2NrIGZyb20gYmVpbmcg Y3JlYXRlZCBmb3IgZ2x1ZWJpIGRldmljZXMuCgpJIHVuZGVyc3RhbmQgdGhhdCB0aGUgYm9hcmQg ZGVwZW5kcyBvbiBPcGVuV3J0J3MgcGF0Y2hlcywgYXMgYmFjayBpbiB0aGUKZGF5cyBvZiBMaW51 eCA0LjE0IE1UNzYyMSB3YXMgc3RpbGwgdXNpbmcgcGxhdGZvcm0gQyBjb2RlIGZvciBlYWNoIGJv YXJkCmFuZCB0aGVyZSB3YXMgbm8gd2F5IHRvIHNldCwgYXBwZW5kIG9yIHJlcGxhY2UgYm9vdGFy Z3MgZnJvbSBEVCwgc2ltcGx5CmJlY2F1c2UgdGhlcmUgaXNuJ3QgRFQuCgpBcyBhdCB0aGUgdGlt ZSBhbHNvIHViaWJsb2NrIHdhc24ndCB1c2VkIGFuZCBhbHNvIG1vc3QgbGlrZWx5IHdvbid0IHdv cmsKd2l0aCB0aGF0IHNlbWktcHJvcHJpZXRhcnkgZmlybXdhcmUgYmFzZWQgTGludXggNC4xNCB3 aGljaCBleHBlY3RzIEpGRlMyCnRvIGJlIHVzZWQsIG15IHN1Z2dlc3Rpb24gaXMgdG8gZGlzYWJs ZWQgQ09ORklHX0ZUTCAoaWYgaXQgaXNuJ3QgYWxyZWFkeQpkaXNhYmxlZCBhbnl3YXkpIGFuZCBh cHBseSB0aGlzIHBhdGNoICh3aGljaCBzaG91bGQgYmUgZnVydGhlcgpkaXNjdXNzZWQpIGluIG9y ZGVyIHRvIGZpeCBjb21taXQgKCJtdGQ6IEZpeCBnbHVlYmkgTlVMTCBwb2ludGVyCmRlcmVmZXJl bmNlIGNhdXNlZCBieSBmdGwgbm90aWZpZXIiKToKCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9t dGRfYmxrZGV2cy5jIGIvZHJpdmVycy9tdGQvbXRkX2Jsa2RldnMuYwppbmRleCAzY2FhMDcxN2Q0 NmMuLjNlZjU3ZGQ1NjI4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbXRkX2Jsa2RldnMuYwor KysgYi9kcml2ZXJzL210ZC9tdGRfYmxrZGV2cy5jCkBAIC00NjEsNyArNDYxLDcgQEAgc3RhdGlj IHZvaWQgYmxrdHJhbnNfbm90aWZ5X2FkZChzdHJ1Y3QgbXRkX2luZm8gKm10ZCkKIHsKIAlzdHJ1 Y3QgbXRkX2Jsa3RyYW5zX29wcyAqdHI7CiAKLQlpZiAobXRkLT50eXBlID09IE1URF9BQlNFTlQg fHwgbXRkLT50eXBlID09IE1URF9VQklWT0xVTUUpCisJaWYgKG10ZC0+dHlwZSA9PSBNVERfQUJT RU5UIHx8IChJU19FTkFCTEVEKENPTkZJR19GVEwpICYmIG10ZC0+dHlwZSA9PSBNVERfVUJJVk9M VU1FKSkKIAkJcmV0dXJuOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh0ciwgJmJsa3RyYW5zX21h am9ycywgbGlzdCkKQEAgLTUwMSw3ICs1MDEsNyBAQCBpbnQgcmVnaXN0ZXJfbXRkX2Jsa3RyYW5z KHN0cnVjdCBtdGRfYmxrdHJhbnNfb3BzICp0cikKIAltdXRleF9sb2NrKCZtdGRfdGFibGVfbXV0 ZXgpOwogCWxpc3RfYWRkKCZ0ci0+bGlzdCwgJmJsa3RyYW5zX21ham9ycyk7CiAJbXRkX2Zvcl9l YWNoX2RldmljZShtdGQpCi0JCWlmIChtdGQtPnR5cGUgIT0gTVREX0FCU0VOVCAmJiBtdGQtPnR5 cGUgIT0gTVREX1VCSVZPTFVNRSkKKwkJaWYgKG10ZC0+dHlwZSAhPSBNVERfQUJTRU5UICYmICgh SVNfRU5BQkxFRChDT05GSUdfRlRMIHx8IG10ZC0+dHlwZSAhPSBNVERfVUJJVk9MVU1FKSkpCiAJ CQl0ci0+YWRkX210ZCh0ciwgbXRkKTsKIAltdXRleF91bmxvY2soJm10ZF90YWJsZV9tdXRleCk7 CiAJcmV0dXJuIDA7CgoKTGV0IG1lIGtub3cgaWYgdGhhdCBoZWxwcyBhbmQgbGV0cyBkaXNjdXNz IGlmIGl0IGNvdWxkIGJlIGNvbnNpZGVyZWQgZm9yCmJlaW5nIGFwcGxpZWQgaW4gdXBzdHJlYW0g TGludXguCgo+IAo+ID4gCj4gPj4gCj4gPj4+PiAoMzEsIDEyKSB3b3VsZCBiZSBtdGRibG9jazEy Lgo+ID4+Pj4gSG93IGRvZXMgeW91ciBrZXJuZWwga25vdyB0aGF0IG10ZGJsb2NrMTIgc2hhbGwg YmUgdGhlIHJvb3Rmcz8KPiA+Pj4gCj4gPj4+IHRoaXMgaXMgYW4gb3BlbndydCBhcHByb2FjaDog aHR0cHM6Ly9vcGVud3J0Lm9yZy9kb2NzL3RlY2hyZWYvZmlsZXN5c3RlbXMgKHVuZGVyCj4gPj4+ IOKAnHRlY2huaWNhbCBkZXRhaWxz4oCdLCB0aGlyZCBwYXJhZ3JhcGgpCj4gPj4+IAo+ID4+PiBl c3NlbnRpYWxseSB0aGVyZeKAmXMgYSBmZWF0dXJlIHRoZXkgYWRkIHRvIHRoZSBrZXJuZWwgKHZp YSBwYXRjaCkgd2hlcmUgeW91IGNhbgo+ID4+PiBlbmFibGUgYSBmZWF0dXJlIHRoYXQgc2V0cyB0 aGUgcm9vdCBkZXZpY2UgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIHBhcnRpdGlvbi4KPiA+PiAK PiA+PiBTbywgdGhpcyBpcyBhbGwgbm90IG1haW5saW5lLiA6LS8KPiA+IAo+ID4gaSBkaWQgc2F5 IG9wZW53cnQgYXQgdGhlIHN0YXJ0LCBhbmQgaSB0aGluayB0aGF04oCZcyBwcmV0dHkgY2xvc2Ug dG8gbWFpbmxpbmUgYXMKPiA+IGl0IGdldHMuCj4gPiAKPiA+IHNvbWV0aW1lcyB0aGVzZSBwYXRj aGVzIGFyZW7igJl0IGFwcHJvcHJpYXRlIHRvIHB1c2ggdXBzdHJlYW0uIHRoaXMgb25lIGlzIG5v dCB0aGUKPiA+IG9uZSBjYXVzaW5nIHRoZSBpc3N1ZS4KPiA+IAo+ID4gaXQgc2VlbXMgdG8gbWUg dGhhdCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCBHTFVFQkkrQkxPQ0sgcGxheWluZyB0b2dldGhl ci4KPiA+IAo+ID4gYXMgZmFyIGFzIGkgY2FuIHNlZSwgdGhlIHNldHRpbmcgb2YgdGhlIGRldmlj ZSBpcyBiZWluZyBkb2luZyBieSBtdGRjb3JlLmMKPiA+IAo+ID4gaXTigJlzIGp1c3Qgbm90IHdv cmtpbmcgd2l0aCBnbHVlYmkgYW5kIGJsb2NrIGFyZSBlbmFibGVkLCBhbmQgaSBuZWVkIHRvIGtu b3cKPiA+IHdoZXRoZXIgZGlzYWJsaW5nIGdsdWViaSB3aWxsIGFsbG93IGl0IHRvIHdvcmsuCj4g PiAKPiA+IGluIG90aGVyIHdvcmRzLCBpcyBpdCBwb3NzaWJsZSBmb3IgZ2x1ZWJpIHRvIHVzZSB0 aGUgcGFydGl0aW9uIGNyZWF0ZWQgYnkKPiA+IHViaV9ibG9jaywgYW5kIGFkZCB0aGUgTVREX1VC SVZPTFVNRSBmbGFnPwo+IAo+IE5vLiBVQklCbG9jayB3b3JrcyBvbiB0b3Agb2YgVUJJIHZvbHVt ZXMgYW5kIGNyZWF0ZXMgYSBibG9jayBkZXZpY2UuCj4gCj4gV2UnbGwgc29ydCB0aGlzIG91dC4g OikKPiAKPiBUaGFua3MsCj4gLy9yaWNoYXJkCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gTGludXggTVREIGRpc2N1c3Npb24gbWFp bGluZyBsaXN0Cj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1tdGQvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pidgin.makrotopia.org (pidgin.makrotopia.org [185.142.180.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9E9BF9F7 for ; Mon, 17 Jun 2024 20:30:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.142.180.65 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718656204; cv=none; b=cdVTF0CYRZW1v2HXjGi+GyLWHFyCYkNhld4N4mRsuOTqRQw34OPtU/Flh52VtuJ3ebFZczykWzq670XBdpwY1hBpl7KlmQw10Bne8iQ53ZSeuWmI/Y1VvPfMm2c8cI+UJXgXgCMyITgLLp4xWtMRQN7A9r5yVfUxkP3kj0rdhEE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718656204; c=relaxed/simple; bh=XuollNm8srBVHta/po2WkAa37OTUPvcmjlfgPNRaES0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=O1NAdMOn9qBbpDYqZ9tWnVE+A5jPozZayUlTFtmR6gVZ4f+h8laCvQB9weBIGsnsTCCELUQHIRj+Eb79VSGGBwuBfQHClFOdGGPwiFLO07GDGl/akEPtl7/3Ve+iC91waK2YgqD+9739MCEyJOC0LxXbHGJCHv2lphvVahePuIE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=makrotopia.org; spf=pass smtp.mailfrom=makrotopia.org; arc=none smtp.client-ip=185.142.180.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=makrotopia.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=makrotopia.org Received: from local by pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.97.1) (envelope-from ) id 1sJIz2-000000001We-1tSz; Mon, 17 Jun 2024 20:29:44 +0000 Date: Mon, 17 Jun 2024 21:29:36 +0100 From: Daniel Golle To: Richard Weinberger Cc: Gagan Sidhu , ZhaoLong Wang , chengzhihao1 , dpervushin , linux-kernel , linux-mtd , Miquel Raynal , Vignesh Raghavendra , yangerkun , yi zhang Subject: Re: [PATCH v2] ubi: gluebi: Fix NULL pointer dereference caused by ftl notifier Message-ID: References: <48D8B89B-0402-4D8B-B045-86104C0C797F@mac.com> <303502000.252057.1718647746641.JavaMail.zimbra@nod.at> <90A90DA4-8B68-432D-9577-0D3635AF84BB@mac.com> <296007365.252185.1718649153090.JavaMail.zimbra@nod.at> <3841F21D-CA54-456C-9D9C-F06EEA332A30@mac.com> <136290141.252319.1718650375432.JavaMail.zimbra@nod.at> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <136290141.252319.1718650375432.JavaMail.zimbra@nod.at> Hi Richard, On Mon, Jun 17, 2024 at 08:52:55PM +0200, Richard Weinberger wrote: > [CC'ing Daniel] > > ----- Ursprüngliche Mail ----- > > Von: "Gagan Sidhu" > > An: "richard" > > CC: "ZhaoLong Wang" , "chengzhihao1" , "dpervushin" > > , "linux-kernel" , "linux-mtd" > > , "Miquel Raynal" , "Vignesh Raghavendra" , > > "yangerkun" , "yi zhang" > > Gesendet: Montag, 17. Juni 2024 20:46:10 > > Betreff: Re: [PATCH v2] ubi: gluebi: Fix NULL pointer dereference caused by ftl notifier > > >> On Jun 17, 2024, at 12:32 PM, Richard Weinberger wrote: > >> > >> ----- Ursprüngliche Mail ----- > >>> Von: "Gagan Sidhu" > >>>> AFAICT, this log line is not part of the mainline kernel. > >>> > >>> this is mainline. it’s just not 6.x. it’s 4.14. > >> > >> I've double checked and disagree. > >> This line comes from: > >> https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/generic/pending-4.14/480-mtd-set-rootfs-to-be-root-dev.patch;h=6cddaf01b75cb58cfb377f568f2c375af87e2f1b;hb=c3bd1321de1e0d814f5cfc4f494f6b2fb1f5133b > > > > no i know that, that’s the patch i showed you. i meant the rest of it is > > mainline. the patch obviously is not. > >> > >> In recent OpenWRT kernels I see: > >> https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/generic/pending-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch;h=266a6331c2acc0f7c17d9ac72f54659d31b56249;hb=HEAD > >> > >> Looks like in recent versions the patch in question does *not* cause a > >> regression. > > > > that patch is also applied in my version as well, so i don’t see how this avoids > > the regression. > > > > https://github.com/torvalds/linux/blob/master/drivers/mtd/mtdcore.c#L774 > > > > mine says "[6.051426] mtd: device 12 (rootfs) set to be root filesystem" > > > > which is simply the call from drivers/mtd/mtdcore.c > > > > so the rootfs device is set correctly. it’s just not booting from it. > > > > the regression comes from having GLUEBI+BLOCK enabled, it seems, are they > > fighting for/operating on the same partition? > > I don't know. Let's ask Daniel. I've tried to follow up with this thread and to understand what this is all about. Let me add a few things: * In OpenWrt we are trying to get rid of the downstream patches mentioned here. They were introduced at a time when we did not have Device Tree and hence no option to use kernel cmdline to attach UBI, or use root= parameter. Nowadays they are legacy and we should not use the various auto-rootfs hacks in favor of doing the same thing using /chosen/bootargs in DT and the like. * Shortly after the introduction of ubiblock we happily got rid of gluebi. In OpenWrt gluebi has not been enabled for a very long time, and hence I can tell little about potential problems it may cause, or at least I can't do more than anyone else can which is reading the code and the logs supplied by the user. All that being said there are of course cases where one may simply require to use a very old kernel (4.14 here) in order to be able to run proprietary out-of-tree drivers (rt2860 wifi here). And, of course, if you can compile a kernel with gluebi and ubiblock both enabled, then that should work as well and not result in either of them going south. So reading the logs I do understand what has happened: Note that the error for unknown-block(31,12) is ENXIO ("No such device or address"), and that makes sense as that mtdblock12 device indeed doesn't exist: > [ 6.457518] 1f0b 4608 mtdblock11 > [ 6.457523] (driver?) > [ 6.470720] fe00 33604 ubiblock0_0 > [ 6.470724] (driver?) And yes, that's due to the added tests for mtd->type != MTD_UBIVOLUME which prevent mtdblock from being created for gluebi devices. I understand that the board depends on OpenWrt's patches, as back in the days of Linux 4.14 MT7621 was still using platform C code for each board and there was no way to set, append or replace bootargs from DT, simply because there isn't DT. As at the time also ubiblock wasn't used and also most likely won't work with that semi-proprietary firmware based Linux 4.14 which expects JFFS2 to be used, my suggestion is to disabled CONFIG_FTL (if it isn't already disabled anyway) and apply this patch (which should be further discussed) in order to fix commit ("mtd: Fix gluebi NULL pointer dereference caused by ftl notifier"): diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c index 3caa0717d46c..3ef57dd56288 100644 --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c @@ -461,7 +461,7 @@ static void blktrans_notify_add(struct mtd_info *mtd) { struct mtd_blktrans_ops *tr; - if (mtd->type == MTD_ABSENT || mtd->type == MTD_UBIVOLUME) + if (mtd->type == MTD_ABSENT || (IS_ENABLED(CONFIG_FTL) && mtd->type == MTD_UBIVOLUME)) return; list_for_each_entry(tr, &blktrans_majors, list) @@ -501,7 +501,7 @@ int register_mtd_blktrans(struct mtd_blktrans_ops *tr) mutex_lock(&mtd_table_mutex); list_add(&tr->list, &blktrans_majors); mtd_for_each_device(mtd) - if (mtd->type != MTD_ABSENT && mtd->type != MTD_UBIVOLUME) + if (mtd->type != MTD_ABSENT && (!IS_ENABLED(CONFIG_FTL || mtd->type != MTD_UBIVOLUME))) tr->add_mtd(tr, mtd); mutex_unlock(&mtd_table_mutex); return 0; Let me know if that helps and lets discuss if it could be considered for being applied in upstream Linux. > > > > >> > >>>> (31, 12) would be mtdblock12. > >>>> How does your kernel know that mtdblock12 shall be the rootfs? > >>> > >>> this is an openwrt approach: https://openwrt.org/docs/techref/filesystems (under > >>> “technical details”, third paragraph) > >>> > >>> essentially there’s a feature they add to the kernel (via patch) where you can > >>> enable a feature that sets the root device based on the name of the partition. > >> > >> So, this is all not mainline. :-/ > > > > i did say openwrt at the start, and i think that’s pretty close to mainline as > > it gets. > > > > sometimes these patches aren’t appropriate to push upstream. this one is not the > > one causing the issue. > > > > it seems to me that there is a problem with GLUEBI+BLOCK playing together. > > > > as far as i can see, the setting of the device is being doing by mtdcore.c > > > > it’s just not working with gluebi and block are enabled, and i need to know > > whether disabling gluebi will allow it to work. > > > > in other words, is it possible for gluebi to use the partition created by > > ubi_block, and add the MTD_UBIVOLUME flag? > > No. UBIBlock works on top of UBI volumes and creates a block device. > > We'll sort this out. :) > > Thanks, > //richard > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/