1. 02 Sep, 2022 2 commits
  2. 23 Aug, 2022 1 commit
  3. 20 Aug, 2022 5 commits
    • Require GCC for the GCC plugins (part II) · 1780bea6
      The current result on arm64_full_hardened_5.17_clang.config (clang 12):
      
      [+] Special report mode: show_fail
      [+] Kconfig file to check: my/arm64_full_hardened_5.17_clang.config
      [+] Detected architecture: ARM64
      [+] Detected kernel version: 5.17
      =========================================================================================================================
                    option name               | type  |desired val | decision |      reason      | check result
      =========================================================================================================================
      CONFIG_GCC_PLUGINS                      |kconfig|     y      |defconfig | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_STACKPROTECTOR_PER_TASK          |kconfig|     y      |defconfig | self_protection  | FAIL: not found
      CONFIG_FORTIFY_SOURCE                   |kconfig|     y      |   kspp   | self_protection  | FAIL: not found
      CONFIG_GCC_PLUGIN_LATENT_ENTROPY        |kconfig|     y      |   kspp   | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_ZERO_CALL_USED_REGS              |kconfig|     y      |   kspp   | self_protection  | FAIL: not found
      CONFIG_GCC_PLUGIN_RANDSTRUCT            |kconfig|     y      |   kspp   | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_GCC_PLUGIN_STACKLEAK             |kconfig|     y      |   kspp   | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE|kconfig| is not set |  clipos  | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_STACKLEAK_METRICS                |kconfig| is not set |  clipos  | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      CONFIG_STACKLEAK_RUNTIME_DISABLE        |kconfig| is not set |  clipos  | self_protection  | FAIL: CONFIG_CC_IS_GCC not "y"
      
      CONFIG_STACKPROTECTOR_PER_TASK, CONFIG_FORTIFY_SOURCE and CONFIG_ZERO_CALL_USED_REGS
      will be supported for clang in future (WIP).
      Alexander Popov authored
    • Introduce cc_is_gcc and cc_is_clang · a99f0765
      Use empty decision and reason for such kind of checks
      Alexander Popov authored
    • Drop the comment about slub_debug=FZ · 1a5aaa7a
      These are very slow debugging features
      Alexander Popov authored
  4. 17 Aug, 2022 3 commits
  5. 14 Aug, 2022 3 commits
  6. 13 Aug, 2022 4 commits
  7. 21 Jul, 2022 4 commits
    • Improve the slab_common.usercopy_fallback check · b51a6979
      Having HARDENED_USERCOPY_FALLBACK disabled is not enough.
      Alexander Popov authored
    • Improve the STACKPROTECTOR check · 3bdbc3ae
      The Linux kernel 4.16-4.17 has a weird STACKPROTECTOR configuration:
      CC_STACKPROTECTOR_NONE -- stackprotector is disabled;
      CC_STACKPROTECTOR_REGULAR -- similar to current STACKPROTECTOR;
      CC_STACKPROTECTOR_STRONG -- similar to current STACKPROTECTOR_STRONG;
      CC_STACKPROTECTOR_AUTO -- the best stack-protector that compiler provides.
      These options are mutually exclusive.
      
      Let's improve the STACKPROTECTOR check:
      - Add CC_STACKPROTECTOR_REGULAR as a valid alternative name of this option;
      - Add CC_STACKPROTECTOR_STRONG to avoid false negative result;
      - Add CC_STACKPROTECTOR_AUTO hoping that it enables at least STACKPROTECTOR.
      
      The STACKPROTECTOR_STRONG check still requires explicit configuration, not
      CC_STACKPROTECTOR_AUTO.
      
      Thanks to @izh1979 for the idea
      Alexander Popov authored
    • Don't mention LKDTM · 5d007e67
      I can't recommend disabling it, because LKDTM is used to test the kernel
      hardening features.
      
      But I cant recommend enabling it, because LKDTM contains intentional
      memory corruption errors. It's not for production systems.
      
      So let's simply drop the comment about LKDTM.
      Alexander Popov authored
  8. 17 Jul, 2022 4 commits
  9. 11 Jul, 2022 4 commits
  10. 09 Jul, 2022 2 commits
  11. 08 Jul, 2022 1 commit
  12. 20 Jun, 2022 4 commits
  13. 19 Jun, 2022 3 commits