Commit dd2d082b5760 ("riscv: Cleanup setup_bootmem()") adjusted the calling sequence in setup_bootmem(), which invalidates the fix commit de043da0b9e7 ("RISC-V: Fix usage of memblock_enforce_memory_limit") did for 32-bit RISC-V unfortunately.
So now 32-bit RISC-V does not boot again when testing booting kernel on QEMU 'virt' with '-m 2G', which was exactly what the original commit de043da0b9e7 ("RISC-V: Fix usage of memblock_enforce_memory_limit") tried to fix.
Fixes: dd2d082b5760 ("riscv: Cleanup setup_bootmem()") Cc: stable@vger.kernel.org # v5.12+ Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
arch/riscv/mm/init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 4c4c92ce0bb8..9b23b95c50cf 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -123,7 +123,7 @@ void __init setup_bootmem(void) { phys_addr_t vmlinux_end = __pa_symbol(&_end); phys_addr_t vmlinux_start = __pa_symbol(&_start); - phys_addr_t dram_end = memblock_end_of_DRAM(); + phys_addr_t dram_end; phys_addr_t max_mapped_addr = __pa(~(ulong)0);
#ifdef CONFIG_XIP_KERNEL @@ -146,6 +146,8 @@ void __init setup_bootmem(void) #endif memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start);
+ dram_end = memblock_end_of_DRAM(); + /* * memblock allocator is not aware of the fact that last 4K bytes of * the addressable memory can not be mapped because of IS_ERR_VALUE
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
On 2021/6/27 21:51, Bin Meng wrote:
Commit dd2d082b5760 ("riscv: Cleanup setup_bootmem()") adjusted the calling sequence in setup_bootmem(), which invalidates the fix commit de043da0b9e7 ("RISC-V: Fix usage of memblock_enforce_memory_limit") did for 32-bit RISC-V unfortunately.
So now 32-bit RISC-V does not boot again when testing booting kernel on QEMU 'virt' with '-m 2G', which was exactly what the original commit de043da0b9e7 ("RISC-V: Fix usage of memblock_enforce_memory_limit") tried to fix.
Fixes: dd2d082b5760 ("riscv: Cleanup setup_bootmem()") Cc: stable@vger.kernel.org # v5.12+ Signed-off-by: Bin Meng bmeng.cn@gmail.com
arch/riscv/mm/init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 4c4c92ce0bb8..9b23b95c50cf 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -123,7 +123,7 @@ void __init setup_bootmem(void) { phys_addr_t vmlinux_end = __pa_symbol(&_end); phys_addr_t vmlinux_start = __pa_symbol(&_start);
- phys_addr_t dram_end = memblock_end_of_DRAM();
- phys_addr_t dram_end; phys_addr_t max_mapped_addr = __pa(~(ulong)0);
#ifdef CONFIG_XIP_KERNEL @@ -146,6 +146,8 @@ void __init setup_bootmem(void) #endif memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start);
- dram_end = memblock_end_of_DRAM();
- /*
- memblock allocator is not aware of the fact that last 4K bytes of
- the addressable memory can not be mapped because of IS_ERR_VALUE
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
Regards, Bin
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Regards, Bin
linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Regards, Bin
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
Here is my 2 cents:
1. Drop your patch from riscv-next 2. Apply my patch as it is a simple fix to previous commit. This allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
Regards, Bin
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Regards, Bin
linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
On Thu, Jul 1, 2021 at 10:08 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
Hi, sorry for the mistake,the bug is fixed by
https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@...
What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Yes, so you can rebase the "mem=" changes on top of my patch.
The practice is that we should not mix 2 things in one patch. I can imagine that you wanted to add "mem=" to RISC-V and suddenly found the existing logic was broken, so you sent one patch to do both.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Sure. Palmer, let me know your thoughts.
Regards, Bin
Hi Palmer,
On Thu, Jul 1, 2021 at 10:20 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, Jul 1, 2021 at 10:08 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote:
On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: > Hi, sorry for the mistake,the bug is fixed by > > https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@... What are we on the patch you mentioned?
I don't see it applied in the linux/master.
Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed because 32-bit is broken since v5.12.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Yes, so you can rebase the "mem=" changes on top of my patch.
The practice is that we should not mix 2 things in one patch. I can imagine that you wanted to add "mem=" to RISC-V and suddenly found the existing logic was broken, so you sent one patch to do both.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Sure. Palmer, let me know your thoughts.
Ping?
Regards, Bin
On Thu, Jul 8, 2021 at 9:29 PM Bin Meng bmeng.cn@gmail.com wrote:
Hi Palmer,
On Thu, Jul 1, 2021 at 10:20 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, Jul 1, 2021 at 10:08 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/28 9:15, Bin Meng wrote: > On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: >> Hi, sorry for the mistake,the bug is fixed by >> >> https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@... > What are we on the patch you mentioned? > > I don't see it applied in the linux/master. > > Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed > because 32-bit is broken since v5.12. https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811...
it's on Palmer' riscv-next.
Not sure riscv-next is for which release? This is a regression and should be on 5.13.
Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Yes, so you can rebase the "mem=" changes on top of my patch.
The practice is that we should not mix 2 things in one patch. I can imagine that you wanted to add "mem=" to RISC-V and suddenly found the existing logic was broken, so you sent one patch to do both.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Sure. Palmer, let me know your thoughts.
Ping?
Ping?
On Thu, 15 Jul 2021 19:14:20 PDT (-0700), bmeng.cn@gmail.com wrote:
On Thu, Jul 8, 2021 at 9:29 PM Bin Meng bmeng.cn@gmail.com wrote:
Hi Palmer,
On Thu, Jul 1, 2021 at 10:20 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, Jul 1, 2021 at 10:08 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: > > On 2021/6/28 9:15, Bin Meng wrote: >> On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: >>> Hi, sorry for the mistake,the bug is fixed by >>> >>> https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@... >> What are we on the patch you mentioned? >> >> I don't see it applied in the linux/master. >> >> Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed >> because 32-bit is broken since v5.12. > https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811... > > it's on Palmer' riscv-next. Not sure riscv-next is for which release? This is a regression and should be on 5.13.
> Hi Palmer, should I resend or could you help me to add the fixes tag?
Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Yes, so you can rebase the "mem=" changes on top of my patch.
The practice is that we should not mix 2 things in one patch. I can imagine that you wanted to add "mem=" to RISC-V and suddenly found the existing logic was broken, so you sent one patch to do both.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Sure. Palmer, let me know your thoughts.
Ping?
Ping?
Sorry, I missed this one. It looks like the patch that adds mem= and fixes the bug has already been merged, so I'm not really quite sure what the right thing to do is here: we don't really want the mem= code on stable, but we do want the fix. I went ahead and did
commit 444818b599189fd8b6c814da542ff8cfc9fe67d4 (HEAD -> fixes, palmer/fixes) gpg: Signature made Wed 21 Jul 2021 10:21:05 PM PDT gpg: using RSA key 2B3C3747446843B24A943A7A2E1319F35FBB1889 gpg: issuer "palmer@dabbelt.com" gpg: Good signature from "Palmer Dabbelt palmer@dabbelt.com" [ultimate] gpg: aka "Palmer Dabbelt palmerdabbelt@google.com" [ultimate] Merge: e73f0f0ee754 d0e4dae74470 Author: Palmer Dabbelt palmerdabbelt@google.com Date: Wed Jul 21 22:18:58 2021 -0700
Merge remote-tracking branch 'riscv/riscv-fix-32bit' into fixes
This contains a single fix for 32-bit boot. It happens this was already fixed by c9811e379b21 ("riscv: Add mem kernel parameter support"), but the bug existed before that feature addition so I've applied the patch earlier and then merged it in (which results in a conflict, which is fixed via not changing the resulting tree).
* riscv/riscv-fix-32bit: riscv: Fix 32-bit RISC-V boot failure
as that"s the best I could come up with -- then the fix will land on master, which should cause it to get pulled onto stable.
Greg: is there a better way to make something like this get to stable?
On Thu, Jul 22, 2021 at 1:53 PM Palmer Dabbelt palmerdabbelt@google.com wrote:
On Thu, 15 Jul 2021 19:14:20 PDT (-0700), bmeng.cn@gmail.com wrote:
On Thu, Jul 8, 2021 at 9:29 PM Bin Meng bmeng.cn@gmail.com wrote:
Hi Palmer,
On Thu, Jul 1, 2021 at 10:20 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, Jul 1, 2021 at 10:08 AM Kefeng Wang wangkefeng.wang@huawei.com wrote:
On 2021/6/30 19:58, Bin Meng wrote:
On Mon, Jun 28, 2021 at 11:21 AM Bin Meng bmeng.cn@gmail.com wrote: > On Mon, Jun 28, 2021 at 10:28 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: >> >> On 2021/6/28 9:15, Bin Meng wrote: >>> On Mon, Jun 28, 2021 at 8:53 AM Kefeng Wang wangkefeng.wang@huawei.com wrote: >>>> Hi, sorry for the mistake,the bug is fixed by >>>> >>>> https://lore.kernel.org/linux-riscv/20210602085517.127481-2-wangkefeng.wang@... >>> What are we on the patch you mentioned? >>> >>> I don't see it applied in the linux/master. >>> >>> Also there should be a "Fixes" tag and stable@vger.kernel.org cc'ed >>> because 32-bit is broken since v5.12. >> https://kernel.googlesource.com/pub/scm/linux/kernel/git/riscv/linux/+/c9811... >> >> it's on Palmer' riscv-next. > Not sure riscv-next is for which release? This is a regression and > should be on 5.13. > >> Hi Palmer, should I resend or could you help me to add the fixes tag? Your patch mixed 2 things (fix plus one feature) together, so it is not proper to back port your patch.
"mem=" will change the range of memblock, so the fix part must be included.
Yes, so you can rebase the "mem=" changes on top of my patch.
The practice is that we should not mix 2 things in one patch. I can imagine that you wanted to add "mem=" to RISC-V and suddenly found the existing logic was broken, so you sent one patch to do both.
Here is my 2 cents:
- Drop your patch from riscv-next
- Apply my patch as it is a simple fix to previous commit. This
allows stable kernel to cherry-pick the fix to v5.12 and v5.13. 3. Rebase your patch against mine, and resend v2
Let me know if this makes sense.
It is not a big problem for me, but I have no right abourt riscv-next,
let's wait Palmer's advise.
Sure. Palmer, let me know your thoughts.
Ping?
Ping?
Sorry, I missed this one. It looks like the patch that adds mem= and fixes the bug has already been merged, so I'm not really quite sure what the right thing to do is here: we don't really want the mem= code on stable, but we do want the fix. I went ahead and did
commit 444818b599189fd8b6c814da542ff8cfc9fe67d4 (HEAD -> fixes, palmer/fixes) gpg: Signature made Wed 21 Jul 2021 10:21:05 PM PDT gpg: using RSA key 2B3C3747446843B24A943A7A2E1319F35FBB1889 gpg: issuer "palmer@dabbelt.com" gpg: Good signature from "Palmer Dabbelt palmer@dabbelt.com" [ultimate] gpg: aka "Palmer Dabbelt palmerdabbelt@google.com" [ultimate] Merge: e73f0f0ee754 d0e4dae74470 Author: Palmer Dabbelt palmerdabbelt@google.com Date: Wed Jul 21 22:18:58 2021 -0700
Merge remote-tracking branch 'riscv/riscv-fix-32bit' into fixes This contains a single fix for 32-bit boot. It happens this was already fixed by c9811e379b21 ("riscv: Add mem kernel parameter support"), but the bug existed before that feature addition so I've applied the patch earlier and then merged it in (which results in a conflict, which is fixed via not changing the resulting tree). * riscv/riscv-fix-32bit: riscv: Fix 32-bit RISC-V boot failure
as that"s the best I could come up with -- then the fix will land on master, which should cause it to get pulled onto stable.
Greg: is there a better way to make something like this get to stable?
We can:
1. git revert c9811e379b21 ("riscv: Add mem kernel parameter support") 2. git am <this patch>, cc stable 3. Kefeng resent a new patch that adds the mem kernel parameter support, on top of mine
Regards, Bin
linux-stable-mirror@lists.linaro.org