Re: [PATCH v5 00/15] powerpc/objtool: uaccess validation for PPC32 (v5)

From: Christophe Leroy
Date: Thu Jan 16 2025 - 01:53:55 EST




Le 15/01/2025 à 23:42, Christophe Leroy a écrit :
This series adds UACCESS validation for PPC32. It includes
a dozen of changes to objtool core.

It applies on top of series "Cleanup/Optimise KUAP (v3)"
https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=363368&state=*

I forgot to remove that sentence. That was merged long time ago so the series doesn't have any dependency anymore, it applies as standalone on top of git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git branch tip/objtool/core (HEAD 41a1e976623e ("x86/mm: Convert unreachable() to BUG()"))


It is almost mature, performs code analysis for all PPC32.

In this version objtool switch table lookup has been enhanced to
handle nested switch tables.

Most object files are correctly decoded, only a few
'unreachable instruction' warnings remain due to more complex
fonctions which include back and forth jumps or branches. Two types
of switch tables are missed at the time being:
- When switch table address is temporarily saved in the stack before
being used.
- When there are backwards jumps in the path.

It allowed to detect some UACCESS mess in a few files. They've been
fixed through other patches.

Changes in v5:
- Rebased on top of https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git branch tip/objtool/core
- Use generic annotation infrastructure to annotate uaccess begin and end instructions