[RFC] UBUNTU: [Config] y2038: Disable COMPAT and COMPAT_32BIT_TIME on ppc64le
Michael Ellerman
mpe at ellerman.id.au
Fri Nov 24 15:59:04 AEDT 2023
Dimitri John Ledkov <dimitri.ledkov at canonical.com> writes:
> BugLink: https://bugs.launchpad.net/bugs/2038587
>
> ppc64le is exclusively little endian and 64-bit, thus there is no need
> for COMPAT_32BIT_TIME, nor COMPAT.
To be pedantic, the ppc64le kernel does support running 32-bit little
endian userspace in compat mode (CONFIG_COMPAT=y). It's a distro choice
as to whether you support COMPAT. Notably there are two other major
distros that don't support COMPAT for ppc64le, and the set of 32-bit LE
software is effectively empty.
> diffconfig result of these changes is:
>
> -ARCH_MMAP_RND_COMPAT_BITS 13
> -ARCH_WANT_COMPAT_IPC_PARSE_VERSION y
> -ARCH_WANT_OLD_COMPAT_IPC y
> -COMPAT_BINFMT_ELF y
> -COMPAT_NETLINK_MESSAGES y
> -COMPAT_OLD_SIGACTION y
> -HAVE_ARCH_MMAP_RND_COMPAT_BITS y
> -KVM_COMPAT y
> -NETFILTER_XTABLES_COMPAT y
> -SYSVIPC_COMPAT y
> -VDSO32 y
> COMPAT y -> n
> COMPAT_32BIT_TIME y -> n
> +ARCH_HAS_SYSCALL_WRAPPER y
> +INTERRUPT_SANITIZE_REGISTERS y
>
> What confused me, if the above combination is even valid or just pure
> dead code.
I don't entirely understand what that diff is saying, but I'll try and
answer anyway.
> Is it really possible to run 32bit big-endian KVM on a 64bit
> little-endian POWER?
Are you referring to KVM_COMPAT being disabled?
That's nothing to do with big-endian. It's just controlling whether the
KVM ioctls (which qemu calls) support compat handling, ie. whether you
can run a 32-bit qemu under a 64-bit kernel.
It's entirely expected that when COMPAT is turned off KVM_COMPAT also
gets turned off.
> Or is Kconfig slightly buggy and should be fixed up to prevent
> offering COMPAT options when little-endian 64bit POWER kernel is being
> configured?
No. Like I said at the top, the kernel does support 32-bit LE compat,
eventhough it's not very widely used.
cheers
More information about the Linuxppc-dev
mailing list