Unable to create database on latest Linux kernel
- 主要語言
- CodeQL
- 星號
- 10.1k
- 分支
- 2.1k
- 平均合併
- 2 天 15 小時
- 30 天內合併 PR
- 141
描述
**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!
貢獻指南
研究方向
Start by reproducing `codeql database create db --language c` on the latest Linux kernel and inspect the extractor trace, especially the reported errors in `include/linux/sched/signal.h`, `include/linux/mm_types.h`, and `arch/x86/include/asm/pgtable.h`. Compare behavior on Ubuntu 24.04 and Arch Linux with the latest CodeQL versions; done means database creation completes without the `asm` errors and produces usable analysis data.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- c, linux
- 領域
- devtools, operating-systems
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 活躍
- 描述清晰度
- 需要釐清
- 新手友好度
- 45/100