kernel: Fix section mismatch in ubi
authorRomanov Danila <pervokur@gmail.com>
Wed, 14 Aug 2024 12:58:43 +0000 (15:58 +0300)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 15 Aug 2024 01:00:22 +0000 (02:00 +0100)
Fix ubiblock_create_from_param() ubiblock_create_auto_rootfs section mismatch.
Without this, the system upgrade will not work if the kernel was compiled with clang-18.

WARNING: modpost: vmlinux: section mismatch in reference: ubiblock_notify+0x190 (section: .text) -> ubiblock_create_auto_rootfs (section: .init.text)

```
[33342.080771] Call trace:
[33342.083205]  ubiblock_create_auto_rootfs+0x0/0xd0
[33342.087902]  blocking_notifier_call_chain+0xb0/0x1a0
[33342.092857]  ubi_volume_notify+0xcc/0xdc
[33342.096773]  ubi_create_volume+0x520/0x684
[33342.100861]  ubi_cdev_ioctl+0x2ac/0x834
[33342.104688]  __arm64_sys_ioctl+0x14f0/0x15f4
[33342.108947]  invoke_syscall+0x44/0xc8
[33342.112601]  do_el0_svc+0x78/0xa8
[33342.115907]  el0_svc+0x24/0x50
[33342.118951]  el0t_64_sync_handler+0x88/0xf0
[33342.123126]  el0t_64_sync+0x150/0x154
[33342.126784] Code: ???????? ???????? ???????? ???????? (????????)
```
Signed-off-by: Romanov Danila <pervokur@gmail.com>
target/linux/generic/pending-5.15/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
target/linux/generic/pending-6.1/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
target/linux/generic/pending-6.6/491-ubi-auto-create-ubiblock-device-for-rootfs.patch

index ae53770c11c607e977f11390fea2418f1ac39a1e..4ddd27add9d4d6ce84ed41526043440b5264cb84 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      return magic == UBIFS_NODE_MAGIC;
 +}
 +
-+static void __init ubiblock_create_auto_rootfs(void)
++static void ubiblock_create_auto_rootfs(void)
 +{
 +      int ubi_num, ret, is_ubifs;
 +      struct ubi_volume_desc *desc;
index a43da2a57259a96a23c59da1e3de97407a9af8ad..f0ea8e8cb54522fd4b656b8647b397a2d7fab39d 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      return magic == UBIFS_NODE_MAGIC;
 +}
 +
-+static void __init ubiblock_create_auto_rootfs(struct ubi_volume_info *vi)
++static void ubiblock_create_auto_rootfs(struct ubi_volume_info *vi)
 +{
 +      int ret, is_ubifs;
 +      struct ubi_volume_desc *desc;
index 6081d1d9e5d6f89bd8a52c54242cce8a7ba37827..0b607faa5e774af39218188d650205c29f8fcc9e 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      return magic == UBIFS_NODE_MAGIC;
 +}
 +
-+static void __init ubiblock_create_auto_rootfs(struct ubi_volume_info *vi)
++static void ubiblock_create_auto_rootfs(struct ubi_volume_info *vi)
 +{
 +      int ret, is_ubifs;
 +      struct ubi_volume_desc *desc;