Re: 32-bit Amlogic (ARM) SoC: kernel BUG in kfree()

From: Martin Blumenstingl
Date: Thu Mar 28 2019 - 14:03:32 EST


Hi Liang,

On Wed, Mar 27, 2019 at 9:52 AM Liang Yang <liang.yang@xxxxxxxxxxx> wrote:
>
> Hi Martin,
>
> Thanks a lot.
> On 2019/3/26 2:31, Martin Blumenstingl wrote:
> > Hi Liang,
> >
> > On Mon, Mar 25, 2019 at 11:03 AM Liang Yang <liang.yang@xxxxxxxxxxx> wrote:
> >>
> >> Hi Martin,
> >>
> >> On 2019/3/23 5:07, Martin Blumenstingl wrote:
> >>> Hi Matthew,
> >>>
> >>> On Thu, Mar 21, 2019 at 10:44 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
> >>>>
> >>>> On Thu, Mar 21, 2019 at 09:17:34PM +0100, Martin Blumenstingl wrote:
> >>>>> Hello,
> >>>>>
> >>>>> I am experiencing the following crash:
> >>>>> ------------[ cut here ]------------
> >>>>> kernel BUG at mm/slub.c:3950!
> >>>>
> >>>> if (unlikely(!PageSlab(page))) {
> >>>> BUG_ON(!PageCompound(page));
> >>>>
> >>>> You called kfree() on the address of a page which wasn't allocated by slab.
> >>>>
> >>>>> I have traced this crash to the kfree() in meson_nfc_read_buf().
> >>>>> my observation is as follows:
> >>>>> - meson_nfc_read_buf() is called 7 times without any crash, the
> >>>>> kzalloc() call returns 0xe9e6c600 (virtual address) / 0x29e6c600
> >>>>> (physical address)
> >>>>> - the eight time meson_nfc_read_buf() is called kzalloc() call returns
> >>>>> 0xee39a38b (virtual address) / 0x2e39a38b (physical address) and the
> >>>>> final kfree() crashes
> >>>>> - changing the size in the kzalloc() call from PER_INFO_BYTE (= 8) to
> >>>>> PAGE_SIZE works around that crash
> >>>>
> >>>> I suspect you're doing something which corrupts memory. Overrunning
> >>>> the end of your allocation or something similar. Have you tried KASAN
> >>>> or even the various slab debugging (eg redzones)?
> >>> KASAN is not available on 32-bit ARM. there was some progress last
> >>> year [0] but it didn't make it into mainline. I tried to make the
> >>> patches apply again and got it to compile (and my kernel is still
> >>> booting) but I have no idea if it's still working. for anyone
> >>> interested, my patches are here: [1] (I consider this a HACK because I
> >>> don't know anything about the code which is being touched in the
> >>> patches, I only made it compile)
> >>>
> >>> SLAB debugging (redzones) were a great hint, thank you very much for
> >>> that Matthew! I enabled:
> >>> CONFIG_SLUB_DEBUG=y
> >>> CONFIG_SLUB_DEBUG_ON=y
> >>> and with that I now get "BUG kmalloc-64 (Not tainted): Redzone
> >>> overwritten" (a larger kernel log extract is attached).
> >>>
> >>> I'm starting to wonder if the NAND controller (hardware) writes more
> >>> than 8 bytes.
> >>> some context: the "info" buffer allocated in meson_nfc_read_buf is
> >>> then passed to the NAND controller IP (after using dma_map_single).
> >>>
> >>> Liang, how does the NAND controller know that it only has to send
> >>> PER_INFO_BYTE (= 8) bytes when called from meson_nfc_read_buf? all
> >>> other callers of meson_nfc_dma_buffer_setup (which passes the info
> >>> buffer to the hardware) are using (nand->ecc.steps * PER_INFO_BYTE)
> >>> bytes?
> >>>
> >> NFC_CMD_N2M and CMDRWGEN are different commands. CMDRWGEN needs to set
> >> the ecc page size (1KB or 512B) and Pages(2, 4, 8, ...), so
> >> PER_INFO_BYTE(= 8) bytes for each ecc page.
> >> I have never used NFC_CMD_N2M to transfer data before, because it is
> >> very low efficient. And I do a experiment with the attachment and find
> >> on overwritten on my meson axg platform.
> >>
> >> Martin, I would appreciate it very much if you would try the attachment
> >> on your meson m8b platform.
> > thank you for your debug patch! on my board 2 * PER_INFO_BYTE is not enough.
> > I took the idea from your patch and adapted it so I could print a
> > buffer with 256 bytes (which seems to be "big enough" for my board).
> it only needs PER_INFO_BYTE (= 8) bytes, because NFC_CMD_N2M don't set
> *Pages*, that is not like CMDRWGEN which needs Pages*PER_INFO_BYTE (= 8)
> bytes when setting *Pages* parameter. I have been thinking that
> NFC_CMD_N2M only occupis PER_INFO_BYTE (= 8) bytes. And i have tried to
> not set the info address, the machine would crash.
thank you for the explanation. the command is built using:
cmd = NFC_CMD_N2M | (len & GENMASK(5, 0));

> > see the attached, modified patch
> >
> > in the output I see that sometimes the first 32 bytes are not touched
> > by the controller, but everything beyond 32 bytes is modified in the
> > info buffer.
> >
> it really makes sense that the controller sometimes fills the space
> beyond the first 8 bytes. However i expect the controller should only
> take the first 8 bytes when using NFC_CMD_N2M.
in my tests (see the attached log output) it seems that the info
buffer size has the following constraints:
- use the "len" which is passed to meson_nfc_read_buf
- if "len" is smaller than PER_INFO_BYTE then use PER_INFO_BYTE (= 8)

> > I also tried to increase the buffer size to 512, but that didn't make
> > a difference (I never saw any info buffer modification beyond 256
> > bytes).
> >
> > also I just noticed that I didn't give you much details on my NAND chip yet.
> > from Amlogic vendor u-boot on Meson8m2 (all my Meson8b boards have
> > eMMC flash, but I believe the NAND controller on Meson8 to GXBB is
> > identical):
> > m8m2_n200_v1#amlnf chipinfo
> > flash info
> > name:B revision 20nm NAND 8GiB H27UCG8T2B, id:ad de 94 eb 74 44 0 0
> > pagesize:0x4000, blocksize:0x400000, oobsize:0x500, chipsize:0x2000,
> > option:0x8, T_REA:16, T_RHOH:15
> > hw controller info
> > chip_num:1, onfi_mode:0, page_shift:14, block_shift:22, option:0xc2
> > ecc_unit:1024, ecc_bytes:70, ecc_steps:16, ecc_max:40
> > bch_mode:5, user_mode:2, oobavail:32, oobtail:64384
> >
> I don't think it is caused by a different NAND type, but i have followed
> the some test on my GXL platform. we can see the result from the
> attachment. By the way, i don't find any information about this on meson
> NFC datasheet, so i will ask our VLSI.
> Martin, May you reproduce it with the new patch on meson8b platform ? I
> need a more clear and easier compared log like gxl.txt. Thanks.
your gxl.txt is great, finally I can also compare my own results with
something that works for you!
in my results (see attachment) the "DATA_IN [256 B, force 8-bit]"
instructions result in a different info buffer output.
does this make any sense to you?


Regards
Martin
[ 2.726921] Executing operation [2 instructions]:
[ 2.726924] ->CMD [0xff]
[ 2.726950] ->WAITRDY [max 250 ms]
[ 2.729131] Executing operation [3 instructions]:
[ 2.732748] ->CMD [0x90]
[ 2.737480] ->ADDR [1 cyc]
[ 2.740550] ->DATA_IN [2 B, force 8-bit]
[ 2.747963] 0x0 0x0 0x5 0x80 0x0 0x28 0x45 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.755978] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.764431] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.772805] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.781211] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.789617] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.798027] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.806440] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.814836] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.823252] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.831658] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.840067] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.848475] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.856884] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.865285] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.873699] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.882122] Executing operation [3 instructions]:
[ 2.882124] ->CMD [0x90]
[ 2.886791] ->ADDR [1 cyc]
[ 2.889904] ->DATA_IN [8 B, force 8-bit]
[ 2.897316] 0x0 0x0 0x1b 0x80 0x0 0x28 0x45 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.905419] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.913837] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.922244] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.930650] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.939059] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.947467] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.955868] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.964283] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.972706] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.981101] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.989507] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 2.997916] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.006317] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.014731] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.023141] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.031565] Executing operation [3 instructions]:
[ 3.031567] ->CMD [0x90]
[ 3.036223] ->ADDR [1 cyc]
[ 3.039353] ->DATA_IN [4 B, force 8-bit]
[ 3.046784] 0x0 0x0 0x11 0x80 0x0 0x3d 0x5e 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.054859] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.063280] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.071687] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.080092] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.088499] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.096907] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.105308] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.113722] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.122132] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.130539] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.138948] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.147356] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.155757] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.164172] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.172579] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.181048] Executing operation [3 instructions]:
[ 3.181050] ->CMD [0xec]
[ 3.185663] ->ADDR [1 cyc]
[ 3.188793] ->WAITRDY [max 200000 ms]
[ 3.192013] Executing operation [1 instructions]:
[ 3.195893] ->DATA_IN [256 B, force 8-bit]
[ 3.204923] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.213322] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.221730] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.230137] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.238546] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.246954] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.255355] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.263771] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.272177] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.280587] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.288994] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.297403] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.305804] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.314218] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.322628] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.331039] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0xa5
[ 3.339469] Executing operation [1 instructions]:
[ 3.339471] ->DATA_IN [256 B, force 8-bit]
[ 3.348475] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.356868] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.365268] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.373683] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.382092] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.390514] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.398911] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.407317] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.415718] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.424133] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.432540] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.440949] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.449356] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.457766] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.466167] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.474581] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0xa5
[ 3.483014] Executing operation [1 instructions]:
[ 3.483016] ->DATA_IN [256 B, force 8-bit]
[ 3.492013] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.500415] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.508821] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.517230] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.525631] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.534045] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.542454] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.550861] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.559271] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.567678] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.576080] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.584495] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.592906] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.601326] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.609720] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b
[ 3.618129] 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0x6b 0xa5
[ 3.626560] Could not find a valid ONFI parameter page, trying bit-wise majority to recover it
[ 3.635155] ONFI parameter recovery failed, aborting
[ 3.640073] Executing operation [3 instructions]:
[ 3.640075] ->CMD [0x90]
[ 3.644733] ->ADDR [1 cyc]
[ 3.647863] ->DATA_IN [5 B, force 8-bit]
[ 3.655269] 0x0 0x0 0x10 0x80 0x0 0x3d 0x5e 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.663381] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.671784] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.680193] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.688601] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.697009] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.705410] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.713824] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.722234] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.730640] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.739050] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.747458] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.755859] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.764274] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.772681] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.781091] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.789537] Executing operation [3 instructions]:
[ 3.789539] ->CMD [0x90]
[ 3.794174] ->ADDR [1 cyc]
[ 3.797304] ->DATA_IN [5 B, force 8-bit]
[ 3.804707] 0x0 0x0 0x10 0x80 0xc0 0x22 0x5e 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.812921] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.821314] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.829719] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.838128] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.846540] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.854937] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.863353] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.871759] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.880169] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.888577] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.896985] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.905386] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.913800] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.922210] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.930616] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.939053] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xde
[ 3.945348] nand: Hynix NAND 8GiB 3,3V 8-bit
[ 3.949604] nand: 8192 MiB, MLC, erase size: 4096 KiB, page size: 16384, OOB size: 1280
[ 3.957611] Executing operation [3 instructions]:
[ 3.957613] ->CMD [0x90]
[ 3.962251] ->ADDR [1 cyc]
[ 3.965372] ->DATA_IN [5 B, force 8-bit]
[ 3.972787] 0x0 0x0 0x10 0x80 0x0 0x24 0x5e 0x29 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.980899] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.989302] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 3.997711] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.006111] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.014539] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.022950] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.031343] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.039752] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.048159] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.056567] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.064968] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.073382] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.081792] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.090199] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
[ 4.098608] 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd