ACK/CMNT: [SRU][jammy][PULL] Kernel livepatch support for s390x

Frank Heimes frank.heimes at canonical.com
Thu Mar 9 18:01:34 UTC 2023


Hi, there is an update on UBSAN.
Please have a look here:
https://bugs.launchpad.net/ubuntu/+source/kpatch/+bug/2003374/comments/6
pointing to: https://github.com/dynup/kpatch/pull/1332


On Thu, Mar 9, 2023 at 6:37 PM Luke Nowakowski-Krijger <
luke.nowakowskikrijger at canonical.com> wrote:

> Acked-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger at canonical.com>
>
> I assume that UBSAN can get re-enabled once the kpatch issue gets
> resolved?
>
> - Luke
>
> On Fri, Mar 3, 2023 at 3:06 PM John Cabaj <john.cabaj at canonical.com>
> wrote:
>
>> BugLink: https://bugs.launchpad.net/bugs/1639924 (Kernel livepatch
>> support for s390x)
>>
>> [Impact]
>> * Enables Livepatch support for Jammy s390x generic kernel
>>
>> [Fix]
>> b56340e565fd ("UBUNTU: [Config] s390x: Removing UBSAN from configuration")
>> f0bd174678a9 ("UBUNTU: [Config] Enable EXPOLINE_EXTERN on s390x")
>> 145dd7c7bfc6 ("s390/nospec: build expoline.o for modules_prepare target")
>> ad24b243a0be ("bug: Use normal relative pointers in 'struct bug_entry'")
>> 9c018ab00f18 ("s390/nospec: align and size extern thunks")
>> 110252959a61 ("s390/nospec: add an option to use thunk-extern")
>> 9183918aabab ("s390/nospec: generate single register thunks if possible")
>> f08372d421dd ("s390: remove unused expoline to BC instructions")
>> d1de041f86ad ("s390/entry: remove unused expoline thunk")
>> 376e067eb888 ("sched: Improve wake_up_all_idle_cpus() take #2")
>> 16fa7242e5b9 ("sched,livepatch: Use wake_up_if_idle()")
>> 3a133e568eea ("sched: Simplify wake_up_*idle*()")
>> 360b90e726cd ("sched,livepatch: Use task_call_func()")
>> 3c01d492a326 ("sched,rcu: Rework try_invoke_on_locked_down_task()")
>> 2a989b8ace35 ("sched: Improve try_invoke_on_locked_down_task()")
>>
>> [Test Case]
>> * Boot test
>> * Tested a Livepatch (patch to /proc/meminfo module)
>>
>> [Other Info]
>> * Requires patch to GCC-11.3, removing gcc-ibmz-plt-revert.diff from
>> debian/patches and debian/rules.patch (LP#2002429)
>> * UBSAN (Undefined Behavior Santizer) configuration was removed from
>> s390x as kpatch-build could not find symbols
>> * kpatch update being considered for UBSAN issue (
>> https://github.com/dynup/kpatch/issues/1328)
>>
>> [Where things could go wrong]
>> * Functionality already exists upstream, kernel was boot and Livepatch
>> tested - should have no regressions
>> * s390x UBSAN functionality no longer included, may not catch previously
>> caught undefined behavior
>>
>> -----
>>
>> The following changes since commit
>> ed81d4519af756cfde8c3c02b495c6006b6ee0e9:
>>
>>   UBUNTU: Start new release (2023-03-02 21:29:10 -0600)
>>
>> are available in the git repository at:
>>
>>   git+ssh://user@kathleen/home/john-cabaj/for-review/jammy-s390x-livepatch
>> s390x-livepatch
>>
>> for you to fetch changes up to b56340e565fdae9b6fc53b573e01194435a65e3e:
>>
>>   UBUNTU: [Config] s390x: Removing UBSAN from configuration (2023-03-02
>> 21:36:26 -0600)
>>
>> ----------------------------------------------------------------
>> Dimitri John Ledkov (1):
>>       UBUNTU: [Config] Enable EXPOLINE_EXTERN on s390x
>>
>> John Cabaj (1):
>>       UBUNTU: [Config] s390x: Removing UBSAN from configuration
>>
>> Josh Poimboeuf (1):
>>       bug: Use normal relative pointers in 'struct bug_entry'
>>
>> Peter Zijlstra (6):
>>       sched: Improve try_invoke_on_locked_down_task()
>>       sched,rcu: Rework try_invoke_on_locked_down_task()
>>       sched,livepatch: Use task_call_func()
>>       sched: Simplify wake_up_*idle*()
>>       sched,livepatch: Use wake_up_if_idle()
>>       sched: Improve wake_up_all_idle_cpus() take #2
>>
>> Vasily Gorbik (6):
>>       s390/entry: remove unused expoline thunk
>>       s390: remove unused expoline to BC instructions
>>       s390/nospec: generate single register thunks if possible
>>       s390/nospec: add an option to use thunk-extern
>>       s390/nospec: align and size extern thunks
>>       s390/nospec: build expoline.o for modules_prepare target
>>
>>  arch/arm64/include/asm/asm-bug.h          |  4 ++--
>>  arch/powerpc/include/asm/bug.h            | 14 ++++++++------
>>  arch/riscv/include/asm/bug.h              |  4 ++--
>>  arch/s390/Kconfig                         | 15 +++++++++++++++
>>  arch/s390/Makefile                        | 20 +++++++++++++++-----
>>  arch/s390/include/asm/bug.h               |  5 +++--
>>  arch/s390/include/asm/nospec-insn.h       | 91
>> +++++++++++++++++++++++++++++++++++--------------------------------------------------------
>>  arch/s390/kernel/entry.S                  |  1 -
>>  arch/s390/kernel/nospec-branch.c          | 25 +++++--------------------
>>  arch/s390/lib/Makefile                    |  2 ++
>>  arch/s390/lib/expoline/Makefile           |  3 +++
>>  arch/s390/lib/expoline/expoline.S         | 12 ++++++++++++
>>  arch/s390/tools/gcc-thunk-extern.sh       | 24 ++++++++++++++++++++++++
>>  arch/x86/include/asm/bug.h                |  2 +-
>>  debian.master/config/annotations          |  5 +++--
>>  debian.master/config/config.common.ubuntu |  2 +-
>>  debian/rules.d/2-binary-arch.mk           |  4 ++++
>>  include/linux/sched/idle.h                |  4 ++++
>>  include/linux/wait.h                      |  3 ++-
>>  kernel/livepatch/transition.c             | 95
>> ++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------
>>  kernel/rcu/tasks.h                        | 12 ++++++------
>>  kernel/rcu/tree_stall.h                   |  8 ++++----
>>  kernel/sched/core.c                       | 83
>> +++++++++++++++++++++++++++++++++++++++++++++++------------------------------------
>>  kernel/smp.c                              | 12 +++++-------
>>  lib/bug.c                                 | 15 +++++++--------
>>  scripts/mod/modpost.c                     |  5 +++++
>>  26 files changed, 263 insertions(+), 207 deletions(-)
>>  create mode 100644 arch/s390/lib/expoline/Makefile
>>  create mode 100644 arch/s390/lib/expoline/expoline.S
>>  create mode 100755 arch/s390/tools/gcc-thunk-extern.sh
>>
>> --
>> kernel-team mailing list
>> kernel-team at lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230309/b04ae800/attachment-0001.html>


More information about the kernel-team mailing list