github / github/codeql

Unable to create database on latest Linux kernel

Offen
#20,978 11 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug C++ question
Vorherrschende Sprache
CodeQL
Sterne
10.1k
Forks
2.1k
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
141

Beschreibung

**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!

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, `codeql database create db --language c` mit dem neuesten Linux-Kernel zu reproduzieren und den Extractor-Trace zu untersuchen, insbesondere die gemeldeten Fehler in `include/linux/sched/signal.h`, `include/linux/mm_types.h` und `arch/x86/include/asm/pgtable.h`. Vergleiche das Verhalten unter Ubuntu 24.04 und Arch Linux mit den neuesten CodeQL-Versionen; abgeschlossen ist die Aufgabe, wenn die Datenbankerstellung ohne die `asm`-Fehler abgeschlossen wird und nutzbare Analysedaten erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, linux
Bereich
devtools, operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.