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
  • livepatch
  • core.c
Find file BlameHistoryPermalink
  • Miguel Ojeda's avatar
    kallsyms: increase maximum kernel symbol length to 512 · b8a94bfb
    Miguel Ojeda authored Apr 05, 2021
    
    
    Rust symbols can become quite long due to namespacing introduced
    by modules, types, traits, generics, etc. For instance,
    the following code:
    
        pub mod my_module {
            pub struct MyType;
            pub struct MyGenericType<T>(T);
    
            pub trait MyTrait {
                fn my_method() -> u32;
            }
    
            impl MyTrait for MyGenericType<MyType> {
                fn my_method() -> u32 {
                    42
                }
            }
        }
    
    generates a symbol of length 96 when using the upcoming v0 mangling scheme:
    
        _RNvXNtCshGpAVYOtgW1_7example9my_moduleINtB2_13MyGenericTypeNtB2_6MyTypeENtB2_7MyTrait9my_method
    
    At the moment, Rust symbols may reach up to 300 in length.
    Setting 512 as the maximum seems like a reasonable choice to
    keep some headroom.
    
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
    Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Co-developed-by: default avatarAlex Gaynor <alex.gaynor@gmail.com>
    Signed-off-by: default avatarAlex Gaynor <alex.gaynor@gmail.com>
    Co-developed-by: default avatarWedson Almeida Filho <wedsonaf@google.com>
    Signed-off-by: default avatarWedson Almeida Filho <wedsonaf@google.com>
    Co-developed-by: default avatarGary Guo <gary@garyguo.net>
    Signed-off-by: default avatarGary Guo <gary@garyguo.net>
    Co-developed-by: default avatarBoqun Feng <boqun.feng@gmail.com>
    Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
    Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
    b8a94bfb
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7