Re: Boot regression in Linux v6.4-rc3

Frank Scheiner <[email protected]> Sun, 28 May 2023 09:30:44 +0200
Newsgroups gmane.linux.ports.ia64,gmane.linux.debian.ports.ia64
Message-ID <[email protected]>
Hi Song, Linus,

On 28.05.23 07:24, Song Liu wrote:
> AFAICT,  .got should go to rodata, while .sdata and .sbss should go
> to (rw)data. However, reading the code before the module_memory
> change, I think they were all copied to (rw)data, which is not ideal but
> most likely OK.
> 
> To match the behavior before the module_memory change, I think
> we need something like the following.
> 
> Frank, could you please give it a try?
> 
> Thanks,
> Song
> 
> diff --git i/kernel/module/main.c w/kernel/module/main.c
> index 0f9183f1ca9f..e4e723e1eb21 100644
> --- i/kernel/module/main.c
> +++ w/kernel/module/main.c
> @@ -1514,14 +1514,14 @@ static void __layout_sections(struct module
> *mod, struct load_info *info, bool i
>                  MOD_RODATA,
>                  MOD_RO_AFTER_INIT,
>                  MOD_DATA,
> -               MOD_INVALID,    /* This is needed to match the masks array */
> +               MOD_DATA,
>          };
>          static const int init_m_to_mem_type[] = {
>                  MOD_INIT_TEXT,
>                  MOD_INIT_RODATA,
>                  MOD_INVALID,
>                  MOD_INIT_DATA,
> -               MOD_INVALID,    /* This is needed to match the masks array */
> +               MOD_INIT_DATA,
>          };
> 
>          for (m = 0; m < ARRAY_SIZE(masks); ++m) {

Thanks, that patch (as -patch4 on top of v6.4-rc3) fixes the boot 
regression for me on the rx2620:

```
ELILO v3.16 for EFI/IA-64
..
Uncompressing Linux... done
Loading file AC100221.initrd.img...done
[    0.000000] Linux version 
6.4.0-rc3-44c026a73be8038f03dbdeef028b642880cf1511-patch4 (root@x4270) 
(ia64-linux-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39) #1 SMP Sun May 
28 09:08:44 CEST 2023
[    0.000000] efi: EFI v1.1 by HP
[    0.000000] efi: SALsystab=0x3ee7a000 ACPI 2.0=0x3fe2a000 
ESI=0x3ee7b000 SMBIOS=0x3ee7c000 HCDP=0x3fe28000
[    0.000000] PCDP: v3 at 0x3fe28000
[    0.000000] earlycon: uart8250 at MMIO 0x00000000f4050000 (options 
'9600n8')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x000000003FE2A000 000028 (v02 HP    )
[    0.000000] ACPI: XSDT 0x000000003FE2A02C 0000CC (v01 HP     rx2620 
00000000 HP   00000000)
[...]
[    3.810346] Run /init as init process
Loading, please wait...
Starting systemd-udevd version 252.6-1
[    3.985378] e1000: Intel(R) PRO/1000 Network Driver
[    3.989378] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    3.993375] GSI 29 (level, low) -> CPU 7 (0x0700) vector 53
[    4.030382] ACPI: bus type USB registered
[    4.030382] usbcore: registered new interface driver usbfs
[    4.034382] usbcore: registered new interface driver hub
[    4.034382] usbcore: registered new device driver usb
[    4.040609] GSI 18 (level, low) -> CPU 0 (0x0000) vector 54
[    4.040621] ehci-pci 0000:00:01.2: EHCI Host Controller
[...]
[  OK  ] Finished systemd-update-ut… - Record Runlevel Change in UTMP.
[   14.568606] ioc1: LSI53C1030 C0: Capabilities={Initiator,Target}

Debian GNU/Linux 12 rx2620 -

rx2620 login:
```

Great! I'll give it a try on my rx2800-i2, too, but assume it wil work 
there, too.

Cheers,
Frank