Skip to content

Unable to create database on latest Linux kernel #20978

@ftyghome

Description

@ftyghome

Description of the issue

I'm attempting to analyze the Linux kernel using CodeQL, but I'm encountering errors during database creation.

Steps to reproduce:

  1. Clone the latest Linux kernel repository
  2. Run: codeql database create db --language c
  3. CodeQL correctly detects it as a Linux kernel and starts the autobuild process
  4. The build completes defconfig and compiles the kernel successfully

Problem:

The trace output contains numerous "identifier 'asm' is undefined" errors, such as:

[E 15:16:45 4019640] Warning[extractor-c++]: In construct_text_message: "./include/linux/sched/signal.h", line 278: error: identifier "asm" is undefined
        WARN_ON(sig->flags & SIGNAL_GROUP_EXIT);
        ^

"./include/linux/mm_types.h", line 1362: error: identifier "asm" is undefined
        set_mask_bits(bitmap, mask, bits);
        ^

"./arch/x86/include/asm/pgtable.h", line 741: error: identifier "asm" is undefined
        WARN_ON_ONCE((pgprot_val(pgprot) & (_PAGE_DIRTY | _PAGE_RW)) ==
        ^

Additionally, the resulting database is highly incomplete and contains very little information, making it unusable for analysis.

Environment tested:

  • Ubuntu 24.04 and Arch Linux
  • Latest CodeQL and version from June 2024

I would greatly appreciate any guidance on what might be causing this issue. Thank you very much for your time!

Metadata

Metadata

Assignees

No one assigned

    Labels

    C++bugSomething isn't workingquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions