[Didn't wrap the original email correctly, here's a more readable version - sorry for that]
Hi,
This is to announce that the morello/next branch has been rebased from 5.18 to 6.1. Make sure to reset/rebase any local branch tracking next.
morello/master will also move to 6.1 (aligning with next) within the next few weeks. The final 5.18-based commit has been tagged morello-last-5.18.
Some important notes for all users and developers:
- HWCAP2_MORELLO is now `1ul << 63` instead of `1ul << 31` (the lower 32 bits of HWCAP2 are now fully allocated, and new hwcaps are being allocated in the upper 32 bits).
- When running on the Morello board, make sure to use the latest firmware, for instance from [1], as an issue present in older firmware versions may prevent the kernel from booting.
- When running on FVP, make sure to use the latest FVP build [2]. Older builds may cause random failures while running the kernel or userspace. [1] https://git.morello-project.org/morello/board-firmware [2] https://developer.arm.com/downloads/-/arm-ecosystem-fvps
The rest of this email is a changelog for the rebased patches.
-----------------
Noteworthy changes:
- "arm64: morello: Disable trapping early and unconditionally" fixed not to skip the initialisation of SCTLR_EL1 in init_kernel_el(). The original patch (on 5.10) was correct, but I didn't notice that the automatic merge went wrong when rebasing on 5.18, and somehow that only started causing trouble when rebasing the patch again on 6.1.
- "arm64: uaccess: Support capabilities in __uaccess_mask_ptr()" needed to be rewritten due to [1]. The new implementation is similar to the original, but now diverges from the !PCuABI case. See commit message for details.
- New patch addressing a Clang issue that the rebase on 6.1 revealed: "vmlinux.lds.h: Work around Clang issue when targeting PCuABI" (see commit message for details and link to CHERI-LLVM issue).
- Removed setting of KSFT_KHDR_INSTALL in "kselftests/arm64: Add build support for the C testing environment", as this functionality was removed by [2]. make headers_install now needs to be run manually before building the kselftests.
- A lot of io_uring development has happened since 5.18, the most obvious change being that fs/io_uring.c has been split into dozens of files under io_uring/*. Due to this and other changes/additions:
* The following patches have been updated in consequence: - "io_uring: Fix __capability annotations in PCuABI", - "io_uring: Fix user pointer downcast" * New patches: - "io_uring/net: Make io_recvmsg_prep_multishot() PCuABI-friendly" (addresses build issues with a new functionality) - "io_uring: Enlarge struct io_cmd_data in PCuABI" (addresses an issue revealed by a new assertion, approach agreed with Tudor) * Patch dropped as it is no longer needed thanks to some refactoring upstream: - "fs/io_uring: Fix usage of err.h macros with user pointers"
- Due to the cross-arch <asm/compat.h> refactoring from [3.1], where many definitions moved to the asm-generic header:
* "arm64: compat: Fix structs for compat64" is narrowed down to "asm-generic: Fix struct compat_shmid64_ds for compat64", and a new patch "arm64: compat: Only define compat_mode_t as u16 in compat32" is added to take care of struct compat_ipc64_perm in a less invasive way. * "arm64: compat: Fix structs compat_semid64_ds/compat_msqid64_ds" becomes "asm-generic: Fix structs compat_{semid64,msqid64}_ds for compat64" (same diff but in asm-generic instead). * "arm64: compat: update compat defines to 64-bits" was split in a few separate patches. See Téo's new version on the list ("[PATCH v5 0/2] arm64: compat: update compat defines to 64-bits" and follow-ups).
Other changes:
- "arm64: morello: System register definitions" aligned with the new sysreg macro generation scheme (arch/arm64/tools/sysreg). Some macro names changed as a result, the following commits were adjusted accordingly.
- "lib: Fix user pointer downcasts", "iov_iter: Handle struct iovec and struct kvec separately" updated in line with changes to lib/iov_iter.c, notably the introduction of ITER_UBUF in [4.1]. [5] also added iov_iter_aligned_iovec(), so the second patch was extended to add its counterpart iov_iter_aligned_kvec() (added my Co-developed-by to that patch).
- "arm64: morello: Add support for TLS as capabilities" updated in line with [6] (the prototype of copy_thread() no longer needs changing as it gets passed a pointer to the whole struct kernel_clone_args). Added my Co-developed-by to that patch too.
- "uaccess: Add tag-preserving routines" updated in line with [7].
- New patch "tracing: Fix signature of unlocked_ioctl callback" to fix a new ioctl handler (posted by Zachary on the list).
- "arm64: configs: Add Morello transitional PCuABI defconfig" updated as per make savedefconfig.
- Fixed whitespace errors in a few patches.
Dropped patches:
- "drm/komeda - Fix handling of pending crtc state commit to avoid lock-up" (alternative fix made it upstream, the rest of the patches in that series are also upstream)
- "fs/proc/vmcore: Segregate the user and kernel buffers" (superseded by [8])
- "arm64/efi: morello: Provide EFI stub version for memcpy/memmove" (no longer needed thanks to [9])
- "uapi/asm-generic/unistd.h: Use compat_sys_ptrace()" (fixed upstream by [3.2])
- 6 various cherry-picks from mainline that are present in 6.1, including Vincenzo's "security/keys: Remove inconsistent __user annotation".
Relevant patch series that landed upstream between 5.18 and 6.1: - [3] - [4]
[1] https://lore.kernel.org/all/20220922151053.3520750-1-mark.rutland@arm.com/ [2] https://lore.kernel.org/all/cover.1657296695.git.guillaume.tucker@collabora.... [3] https://lore.kernel.org/all/20220405071314.3225832-1-guoren@kernel.org/ [3.1] https://lore.kernel.org/all/20220405071314.3225832-7-guoren@kernel.org/ [3.2] https://lore.kernel.org/all/20220405071314.3225832-8-guoren@kernel.org/ [4] https://lore.kernel.org/all/YrKWRCOOWXPHRCKg@ZenIV/ [4.1] https://lore.kernel.org/all/20220622041552.737754-9-viro@zeniv.linux.org.uk/ [5] https://lore.kernel.org/all/20220610195830.3574005-9-kbusch@fb.com/ [6] https://lore.kernel.org/all/20220506141512.516114-2-ebiederm@xmission.com/ [7] https://lore.kernel.org/all/20220915150417.722975-4-glider@google.com/ [8] https://lore.kernel.org/all/20211213000636.2932569-4-willy@infradead.org/ [9] https://lore.kernel.org/all/20220910081152.2238369-4-ardb@kernel.org/
Cheers, Kevin