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