Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
  • linux
  • kernel
  • kheaders.c
Find file BlameHistoryPermalink
  • Kees Cook's avatar
    kheaders: Use array declaration instead of char · b69edab4
    Kees Cook authored Mar 02, 2023
    
    
    Under CONFIG_FORTIFY_SOURCE, memcpy() will check the size of destination
    and source buffers. Defining kernel_headers_data as "char" would trip
    this check. Since these addresses are treated as byte arrays, define
    them as arrays (as done everywhere else).
    
    This was seen with:
    
      $ cat /sys/kernel/kheaders.tar.xz >> /dev/null
    
      detected buffer overflow in memcpy
      kernel BUG at lib/string_helpers.c:1027!
      ...
      RIP: 0010:fortify_panic+0xf/0x20
      [...]
      Call Trace:
       <TASK>
       ikheaders_read+0x45/0x50 [kheaders]
       kernfs_fop_read_iter+0x1a4/0x2f0
      ...
    
    Reported-by: default avatarJakub Kicinski <kuba@kernel.org>
    Link: https://lore.kernel.org/bpf/20230302112130.6e402a98@kernel.org/
    
    
    Acked-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    Reviewed-by: default avatarAlexander Lobakin <aleksander.lobakin@intel.com>
    Tested-by: default avatarJakub Kicinski <kuba@kernel.org>
    Fixes: 43d8ce9d
    
     ("Provide in-kernel headers to make extending kernel easier")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20230302224946.never.243-kees@kernel.org
    b69edab4
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7