Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-23 Thread John Stultz
On Mon, Feb 22, 2021 at 11:22 PM Christoph Hellwig wrote: > > On Tue, Feb 23, 2021 at 08:04:08AM +0100, Christoph Hellwig wrote: > > The problem is that the blk-crypto fallback code calls bio_split > > with a NULL bioset. That was aready broken before, as the mempool > > needed to guarantee

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-23 Thread Chaitanya Kulkarni
On 2/23/21 07:09, Christoph Hellwig wrote: > I assume you are sending this patch, let me know otherwise. > If you do please add, looks good. I'll split the gfp_mask cleanup out, and will submit it with your as the author if that is ok. I'll need a signoff, though. Okay, here it is :-

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-23 Thread Christoph Hellwig
On Tue, Feb 23, 2021 at 04:08:52PM +0100, Christoph Hellwig wrote: > On Tue, Feb 23, 2021 at 07:37:52AM +, Chaitanya Kulkarni wrote: > > On 2/22/21 23:10, Christoph Hellwig wrote: > > > On Tue, Feb 23, 2021 at 03:51:23AM +, Chaitanya Kulkarni wrote: > > >> Looking at the other call sites

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-23 Thread Christoph Hellwig
On Tue, Feb 23, 2021 at 07:37:52AM +, Chaitanya Kulkarni wrote: > On 2/22/21 23:10, Christoph Hellwig wrote: > > On Tue, Feb 23, 2021 at 03:51:23AM +, Chaitanya Kulkarni wrote: > >> Looking at the other call sites do we need something like following ? > >> Since __blk_queue_bounce() passes

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Chaitanya Kulkarni
On 2/22/21 23:10, Christoph Hellwig wrote: > On Tue, Feb 23, 2021 at 03:51:23AM +, Chaitanya Kulkarni wrote: >> Looking at the other call sites do we need something like following ? >> Since __blk_queue_bounce() passes the NULL for the passthru case as a >> bio_set value ? > Well, that is a

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Christoph Hellwig
On Tue, Feb 23, 2021 at 08:04:08AM +0100, Christoph Hellwig wrote: > The problem is that the blk-crypto fallback code calls bio_split > with a NULL bioset. That was aready broken before, as the mempool > needed to guarantee forward progress was missing, but is not fatal. > > Satya, can you look

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Chaitanya Kulkarni
On 2/22/21 23:10, Christoph Hellwig wrote: > Well, that is a somewhat odd calling convention. What about the patch below > instead? That being we really need to kill this bouncing code off.. If we can kill it off soon it will be great. > > diff --git a/block/bounce.c b/block/bounce.c > index

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Christoph Hellwig
On Mon, Feb 22, 2021 at 08:22:09PM -0800, John Stultz wrote: > I'm wondering if given there are multiple call sites, that in > bio_alloc_bioset() would something like the following make more sense? > (apologies, copy pasted so this is whitespace corrupted) > thanks No. The fallback from the

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Christoph Hellwig
On Tue, Feb 23, 2021 at 03:51:23AM +, Chaitanya Kulkarni wrote: > Looking at the other call sites do we need something like following ? > Since __blk_queue_bounce() passes the NULL for the passthru case as a > bio_set value ? Well, that is a somewhat odd calling convention. What about the

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Christoph Hellwig
The problem is that the blk-crypto fallback code calls bio_split with a NULL bioset. That was aready broken before, as the mempool needed to guarantee forward progress was missing, but is not fatal. Satya, can you look into adding a mempool that can guarantees forward progress here?

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Chaitanya Kulkarni
On 2/22/21 20:22, John Stultz wrote: > On Mon, Feb 22, 2021 at 7:39 PM Chaitanya Kulkarni > wrote: >> On 2/22/21 19:07, John Stultz wrote: >>> [ 34.784901] ueventd: LoadWithAliases was unable to load >>> platform:regulatory >>> [ 34.785313] bio_alloc_bioset+0x14/0x230 >>> [ 34.796189]

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread John Stultz
On Mon, Feb 22, 2021 at 7:39 PM Chaitanya Kulkarni wrote: > > On 2/22/21 19:07, John Stultz wrote: > > [ 34.784901] ueventd: LoadWithAliases was unable to load > > platform:regulatory > > [ 34.785313] bio_alloc_bioset+0x14/0x230 > > [ 34.796189] bio_clone_fast+0x28/0x80 > > [

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Chaitanya Kulkarni
Christoph, On 2/22/21 19:07, John Stultz wrote: > [ 34.785313] bio_alloc_bioset+0x14/0x230 > [ 34.796189] bio_clone_fast+0x28/0x80 > [ 34.799848] bio_split+0x50/0xd0 > [ 34.803072] blk_crypto_fallback_encrypt_bio+0x2ec/0x5e8 > [ 34.808384] blk_crypto_fallback_bio_prep+0xfc/0x140 >

Re: [REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread Chaitanya Kulkarni
On 2/22/21 19:07, John Stultz wrote: > [ 34.784901] ueventd: LoadWithAliases was unable to load platform:regulatory > [ 34.785313] bio_alloc_bioset+0x14/0x230 > [ 34.796189] bio_clone_fast+0x28/0x80 > [ 34.799848] bio_split+0x50/0xd0 > [ 34.803072]

[REGRESSION] "split bio_kmalloc from bio_alloc_bioset" causing crash shortly after bootup

2021-02-22 Thread John Stultz
Hey all, In testing Linus' HEAD today I found another[1] regression in the block merge. This time I see a crash on my hikey960 board shortly after booting ASOP. See the log below. I bisected the issue down to "block: split bio_kmalloc from bio_alloc_bioset":