Kernel NULL pointer dereference in target_put() during target deletion
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c, linux
- Ambito
- backend, operating-systems
Direzione di ricerca
Start by reading target_put() and table_del_target(), then trace how deletion reaches them through proc_control_read_write() and how target output initialization is handled. The report has no deterministic reproducer, so first investigate the incomplete or failed initialization path described in the issue. Done means deleting a target on that path no longer causes a NULL pointer dereference.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
rtpengine version the issue has been seen with
26.3.0.0+0~mr26.3.0.0-1.el10
Used distribution and its version
Oracle Linux Server 10.1, x86_64
Linux kernel version used
6.12.0-206.104.4.4.el10uek.x86_64
CPU architecture issue was seen on (see uname -m)
x86_64
Expected behaviour you didn't see
Deleting a kernel forwarding target should safely release its resources without causing a kernel Oops, including when output initialization is incomplete or has failed.
Unexpected behaviour you saw
The VM experienced a kernel NULL pointer dereference inside target_put() in nft_rtpengine.
The call trace shows that this occurred in task context, while a thread named poller was writing to the module's proc control interface. The path goes through proc_control_read_write() and table_del_target(), rather than the incoming packet-processing path.
Kdump captured a vmcore. The VM subsequently rebooted.
Steps to reproduce the problem
We do not yet have a deterministic reproducer or an identified triggering call/packet.
Additional program output to the terminal or logs illustrating the issue
BUG: kernel NULL pointer dereference, address: 000000000000008c
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
Oops: Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 2 UID: 986 PID: 69974 Comm: poller Kdump: loaded
Tainted: G OE
6.12.0-206.104.4.4.el10uek.x86_64 #2
RIP: 0010:target_put.part.0+0xbe/0x110 [nft_rtpengine]
Code: 50 0d 00 00 48 8b bc 28 00 07 00 00 e8 eb 38 7b d8
48 8b 83 50 0d 00 00 48 8b bc 28 f8 06 00 00 44 89 e8
48 8d 97 8c 00 00 00 <f0> 0f c1 87 8c 00 00 00
83 f8 01 75 83 e8 70 e1 78 d8 eb 84 e8 39
RAX: 00000000ffffffff
RDX: 000000000000008c
RDI: 0000000000000000
CR2: 000000000000008c
Call Trace:
<TASK>
table_del_target+0x1ac/0x230 [nft_rtpengine]
proc_control_read_write+0x5d0/0x767 [nft_rtpengine]
proc_reg_write+0x5a/0xb0
vfs_write+0x109/0x450
ksys_write+0xc1/0xf0
do_syscall_64+0x90/0x1c0
entry_SYSCALL_64_after_hwframe+0x76/0x7e
</TASK>
Anything else?
No response
- Lingua principale
- Perl
- Stelle
- 992
- Fork
- 459
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sipwise/rtpengine
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 2 giorni
-
HTTP/WS worker threads spin forever in `__websocket_write_done()` (`sched_yield` loop) — 100% CPU with `--listen-http`Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
sipwise/rtpengine#2197 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Calls using a third logical interface are silently never written to Redis (breaks keyspace-notification HA)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
sipwise/rtpengine#2181 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
sipwise/rtpengine#2162 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
possible regression regarding one-way audio calls in version 13.5.1.25, 13.5.1.27Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
sipwise/rtpengine#2161 · 13 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di sipwise/rtpengine
Issue simili
-
Add .gitattributes so share/skel keeps LF on a Windows git checkoutForse già presa @sadhana-s-codez l’ha presa 1 giorno fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
PerlDancer/Dancer2#1854 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
major/MySQLTuner-perl#1007 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
bioconda/bioconda-recipes#70187 ·
I maintainer di solito rispondono entro 2 giorni