一线运维实战手记 · 云计算 · 数据库 · 故障排查
2026年9月12日

CVE-2026-80980 – In the Linux kernel, the following vulnerability has been resolved: net/smc: stop killed,

未分类
📑 文章目录

In the Linux kernel, the following vulnerability has been resolved:

net/smc: stop killed, freed and out_of_sync sharing a byte

The three connection state flags are single-bit bitfields, so they occupy
one byte of struct smc_connection and every store to one is a
read-modify-write of the other two:

u8 killed : 1;
u8 freed : 1;
u8 out_of_sync : 1;

They are not written under a common lock. smc_cdc_msg_validate() sets
out_of_sync from the receive tasklet, while smc_conn_kill() sets killed
from process context under lock_sock(), and the receive path does not defer
to the backlog when the socket is owned — smc_cdc_msg_recv() takes only
bh_lock_sock().

Give each flag its own byte so a store no longer touches its neighbours.
All readers test them as booleans and are unchanged. struct smc_connection
grows by two bytes.