The tcpchecksendhead function in include/net/tcp.h in the Linux kernel before 4.7.5 does not properly maintain certain SACK state after a failed data copy, which allows local users to cause a denial of service (tcpxmitretransmitqueue use-after-free and system crash) via a crafted SACK option.