github / github/codeql

Unable to create database on latest Linux kernel

Abierto
#20,978 11 comentarios 0 reacciones 0 asignados Ver en GitHub
bug C++ question
Lenguaje dominante
CodeQL
Estrellas
10.1k
Forks
2.1k
Merge medio
2 d 15 h
PR fusionados (30 d)
141

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo `codeql database create db --language c` con la última versión del kernel de Linux e inspecciona el registro de trazas del extractor, especialmente los errores indicados en `include/linux/sched/signal.h`, `include/linux/mm_types.h` y `arch/x86/include/asm/pgtable.h`. Compara el comportamiento en Ubuntu 24.04 y Arch Linux con las últimas versiones de CodeQL; se considera completado cuando la creación de la base de datos finaliza sin los errores de `asm` y produce datos de análisis utilizables.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, linux
Área
devtools, operating-systems
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Necesita aclaración
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.