[PATCH v2 00/10] fortify: Add KUnit tests for runtime overflows

Kees Cook posted 10 patches 2 years, 10 months ago
There is a newer version of this series
MAINTAINERS                                  |   1 +
arch/arm/boot/compressed/misc.c              |   2 +-
arch/x86/boot/compressed/misc.c              |   2 +-
include/linux/fortify-string.h               | 257 +++++--
lib/Kconfig.debug                            |   7 +-
lib/Makefile                                 |   1 +
lib/fortify_kunit.c                          | 731 +++++++++++++++++++
lib/strcat_kunit.c                           | 104 +++
lib/string_helpers.c                         |  26 +-
tools/objtool/check.c                        |   2 +-
tools/testing/kunit/configs/all_tests.config |   2 +
tools/testing/kunit/configs/arch_uml.config  |   3 +
12 files changed, 1059 insertions(+), 79 deletions(-)
create mode 100644 lib/strcat_kunit.c
[PATCH v2 00/10] fortify: Add KUnit tests for runtime overflows
Posted by Kees Cook 2 years, 10 months ago
Hi,

This series adds KUnit tests for the CONFIG_FORTIFY_SOURCE behavior of the
standard C string functions, and for the strcat() family of functions,
as those were updated during refactoring. Finally, fortification error
messages are improved to give more context for the failure condition.

-Kees

v2:
- fix From/SoB
- strcat: force non-const length arguments (lkp)
- fix x86 and arm fortify_panic prototypes (lkp)
- move test-skip to init function (dlatypov)
- constify p_size, q_size everywhere (miguel)
- enum-ify, string-ify, bit-ify function name passing (aleksander & andy)
v1: https://lore.kernel.org/lkml/20230405235832.never.487-kees@kernel.org/

Kees Cook (10):
  kunit: tool: Enable CONFIG_FORTIFY_SOURCE under UML
  fortify: Allow KUnit test to build without FORTIFY
  string: Add Kunit tests for strcat() family
  fortify: Use const variables for __member_size tracking
  fortify: Add protection for strlcat()
  fortify: strcat: Move definition to use fortified strlcat()
  fortify: Split reporting and avoid passing string pointer
  fortify: Provide KUnit counters for failure testing
  fortify: Add KUnit tests for runtime overflows
  fortify: Improve buffer overflow reporting

 MAINTAINERS                                  |   1 +
 arch/arm/boot/compressed/misc.c              |   2 +-
 arch/x86/boot/compressed/misc.c              |   2 +-
 include/linux/fortify-string.h               | 257 +++++--
 lib/Kconfig.debug                            |   7 +-
 lib/Makefile                                 |   1 +
 lib/fortify_kunit.c                          | 731 +++++++++++++++++++
 lib/strcat_kunit.c                           | 104 +++
 lib/string_helpers.c                         |  26 +-
 tools/objtool/check.c                        |   2 +-
 tools/testing/kunit/configs/all_tests.config |   2 +
 tools/testing/kunit/configs/arch_uml.config  |   3 +
 12 files changed, 1059 insertions(+), 79 deletions(-)
 create mode 100644 lib/strcat_kunit.c

-- 
2.34.1