diff options
| author | Qingfang Deng <qingfang.deng@linux.dev> | 2026-09-08 15:21:31 +0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-09-09 18:41:57 -0700 |
| commit | 8aaeb56aff2a557a88f83ae866da2c91ad247e59 (patch) | |
| tree | 9b47cc4ca7782909de720259a209dd529625f48d /scripts/basic/split-include.c | |
| parent | be83178bfc44588f6e3adb827ed874c683193466 (diff) | |
| download | linux-8aaeb56aff2a557a88f83ae866da2c91ad247e59.tar.gz linux-8aaeb56aff2a557a88f83ae866da2c91ad247e59.zip | |
ppp_synctty: ensure a writeable skb header
ppp_sync_txmunge() checks headroom before prepending the address and
control bytes, but does not ensure that the skb header is writable.
A received skb can reach this function through PPP channel bridging
without passing through ppp_start_xmit(), which calls skb_cow_head().
For example, a PPPoE frame may share its buffer with a clone queued to
an AF_PACKET socket. If it is bridged to a synchronous tty channel, the
address/control bytes can overwrite data still visible to that socket.
Use skb_cow_head() to ensure both sufficient headroom and a writable
header.
Fixes: 4cf476ced45d ("ppp: add PPPIOCBRIDGECHAN and PPPIOCUNBRIDGECHAN ioctls")
Signed-off-by: Qingfang Deng <qingfang.deng@linux.dev>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260908072135.877364-1-qingfang.deng@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions
