Correctifs AX.25, ROSE et NetRom dans les noyaux Linux LTS

État du 2026-10-16 19:45. Page mise à jour à chaque nouvelle version ou nouveau correctif fusionné. English version

Cette page indique dans quelles versions des noyaux à support long 6.12 et 6.18 se trouvent les correctifs de F6BVP fusionnés dans le dépôt linux-netdev/mod-orphan, et où en sont les noyaux du Raspberry Pi. Pour connaître votre noyau : uname -r.

Noyau 6.12 LTS

6.12.113
publié sur kernel.org le 2026-10-15
  • 10 des 47 correctifs fusionnés
  • Autre(s) correctif(s) AX.25 en file, hors liste :
    • ax25: Remove broken autobind
  • rpi-update ne suit plus cette série
  • Raspberry Pi OS bookworm (apt) : 6.12.109

Noyau 6.18 LTS

6.18.57
publié sur kernel.org le 2026-10-15
  • 19 des 47 correctifs fusionnés
  • rpi-update : 6.18.56 aujourd'hui ; 6.18.57 attendu vers le 2026-10-22
  • Raspberry Pi OS trixie (apt) : 6.18.50

Attention, noyaux 6.18 à partir de 6.18.37. Ils contiennent « rose: release netdev ref and destroy orphaned incoming sockets », qui a introduit une régression. Son correctif, « rose: hold a reference on incoming sockets queued for accept() », est encore en revue. Les modules corrigés restent nécessaires sur ces noyaux.

Correctifs fusionnés : première version qui les contient

Correctif6.126.18
rose: fix dev_put() leak in rose_loopback_timer()6.12.1126.18.37
rose: hold loopback neighbour reference across timer callback6.12.1126.18.37
rose: fix race between loopback timer and module removal6.12.1126.18.37
rose: clear neighbour pointer after rose_neigh_put() in state machines6.12.1126.18.37
rose: guard rose_neigh_put() against NULL in timer expiry6.12.1126.18.37
rose: fix netdev double-hold in rose_rx_call_request()6.12.1126.18.37
rose: fix notifier unregistered too early in rose_exit()6.12.1126.18.37
rose: set SOCK_DESTROY in rose_kill_by_device() for prompt cleanupabsent6.18.37
rose: disconnect orphaned STATE_2 sockets when device is goneabsent6.18.37
rose: fix netdev double-hold in rose_make_new()6.12.1126.18.37
rose: release netdev ref and destroy orphaned incoming socketsabsent6.18.37
rose: drop CALL_REQUEST in loopback timer when device is not running6.12.1126.18.37
rose: cancel neighbour timers in rose_neigh_put() before freeing6.12.1126.18.37
rose: clear neighbour pointer in rose_kill_by_device()absent6.18.37
rose: don't free fd-owned sockets when reaping in the heartbeatabsent6.18.37
rose: keep the route needed for routing loop detectionabsent6.18.55
rose: guard rose_transmit_link() against a NULL neighbourabsent6.18.55
rose: use timer_shutdown_sync() for t0timer teardownabsent6.18.55
rose: don't warn on stray CALL_ACCEPTED/CLEAR_CONFIRMATION in state 3absent6.18.55
ax25: bound REJ-driven fast retransmits with the existing N2 counterabsentabsent
rose: purge rose_neigh->queue on final teardownabsentabsent
rose: hold a reference on incoming sockets queued for accept()absentabsent
rose: clear stale N(R)/N(S) before (re)transmitting a data frameabsentabsent
netrom: linearize and validate lengths in nr_rx_frame()absentabsent
netrom: require full NET/ROM headers in nr_route_frame()absentabsent
net: netrom: validate source address in nr_find_socket()absentabsent
netrom: bound fragment reassembly in nr_queue_rx_frame()absentabsent
ax25: fix OOB read after address header strip in ax25_rcv()absentabsent
ax25: check frame length in ax25_decode() and ax25_rx_iframe()absentabsent
net: ax25: fix integer overflow in ax25_rx_fragment()absentabsent
netrom: use a single lock for the node and neighbour listsabsentabsent
netrom: look up and update routes in one critical sectionabsentabsent
netrom: fix reference count leak in nr_rt_device_downabsentabsent
netrom: clear nr_neigh->ax25 under the routing lock in nr_link_failed()absentabsent
netrom: fix nr_node leak when nr_del_node() removes the last routeabsentabsent
rose: clear through routes when a neighbour is removed from the tablesabsentabsent
rose: restart the link of a neighbour created over a live AX.25 connectionabsentabsent
ax25: serialise the transmission of I frames on a connectionabsentabsent
rose: process received frames and send with the socket lockedabsentabsent
ax25: don't create two connections for the same link in ax25_send_frame()absentabsent
ax25: read the connection's ax25_dev only once when walking ax25_listabsentabsent
ax25: wait for ax25_send_frame() before detaching the connections of a deviceabsentabsent
ax25: don't accept frames on a device that is going downabsentabsent
ax25: send a private copy of each I frameabsentabsent
rose: clear the circuits of a neighbour that restarts the linkabsentabsent
ax25: send unacknowledged I frames again when a link is re-establishedabsentabsent
rose: bring up the link of the preferred route passed over by a connect requestabsentabsent

Un numéro indique la première version publiée qui contient le correctif ; toutes les suivantes de la même série le contiennent aussi. « En file » : accepté par les mainteneurs des noyaux stables, sortira dans la prochaine version. Les noyaux du Raspberry Pi suivent en général kernel.org à une semaine environ.

Mettre à jour un Raspberry Pi au fil des publications

  1. Relevez votre noyau actuel : uname -r.
  2. Dans le tableau ci-dessus, repérez la première version qui contient les correctifs voulus. Comparez-la, dans les cartes du haut de page, à ce que proposent aujourd'hui rpi-update et les paquets de Raspberry Pi OS.
  3. Voie normale : le noyau stable de Raspberry Pi OS, par les paquets. Il arrive après kernel.org, avec un délai variable.
    sudo apt update
    sudo apt full-upgrade
    sudo reboot
  4. Voie rapide : rpi-update, environ une semaine après kernel.org.
    sudo rpi-update
    sudo reboot
    rpi-update installe un noyau et un firmware de préversion, dans la série 6.18 uniquement. Sauvegardez la carte SD avant, et réservez-le à un nœud que vous savez réinstaller.
  5. Après le redémarrage, vérifiez la version avec uname -r, puis que les modules sont chargés : lsmod | grep -E "ax25|rose|netrom".
  6. Si vous utilisez des modules corrigés recompilés, recompilez-les après chaque changement de noyau : un module ne se charge que sur le noyau exact pour lequel il a été compilé.

Un Raspberry Pi resté sous Raspberry Pi OS bookworm suit la série 6.12, par les paquets seulement.

Garder AX.25 sur un PC Debian ou Ubuntu

AX.25, NET/ROM et ROSE ont été retirés du noyau Linux à partir de la version 7.1. Une distribution dont le noyau est en 7.1 ou plus ne les fournit donc plus. Il reste possible d'utiliser un noyau plus ancien.

Avec un noyau plus ancien que celui de la distribution :

Préférez un noyau encore maintenu qui contient AX.25 : le 7.0 d'Ubuntu 26.04, ou les séries LTS 6.18 et 6.12, qui sont aussi celles qui reçoivent les correctifs. Le 7.0.x de kernel.org n'est plus maintenu.

Correctifs en cours de revue

Ils ne figurent encore dans aucun noyau officiel. On ne les obtient qu'avec les modules corrigés.

3 demandes de fusion ouvertes