Page MenuHomeFreeBSD

ktls: Take the receiving interface of each packet in sbappend_ktls_rx()
ClosedPublic

Authored by olivier on Thu, Oct 15, 7:56 PM.
Tags
None
Referenced Files
F176120115: D60758.id.diff
Fri, Oct 16, 6:46 AM
F176113934: D60758.id189995.diff
Fri, Oct 16, 5:37 AM
F176111130: D60758.id189995.diff
Fri, Oct 16, 5:05 AM
F176101939: D60758.diff
Fri, Oct 16, 3:13 AM
F176097721: D60758.diff
Fri, Oct 16, 2:22 AM
F176080176: D60758.diff
Thu, Oct 15, 10:37 PM
Subscribers

Details

Summary

sbappend_ktls_rx() read the receiving interface of each packet header
it demotes from the chain's first mbuf, whose header it had zeroed on
the first pass. A chain of two packets or more thus had no interface,
and a change of input interface went unnoticed: the TLS receive tag
stayed on the old interface until a later append of one packet. Read
it from the packet being demoted, as the decrypted mark is.

Found with CBMC.

Fixes: fe8c78f0d202 ("ktls: Add full support for TLS RX offloading via network interface.")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable