diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-08 17:45:35 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-08 17:45:35 +0300 |
| commit | af009c87b41ea1bb594d68e53d46ca050057e2db (patch) | |
| tree | e3098d9b83c0b904bc585c664b3b857f653b04ea /docs | |
| parent | 59124bbc26bf0211723b3eb5b5186d3dc7b72b0c (diff) | |
| download | accel-ppp-af009c87b41ea1bb594d68e53d46ca050057e2db.tar.gz accel-ppp-af009c87b41ea1bb594d68e53d46ca050057e2db.zip | |
ipoe: zero generic netlink requests before filling them in
The request buffers are plain stack variables and only the nlmsghdr
fields and genlmsghdr.cmd were ever assigned, so genlmsghdr.version and
genlmsghdr.reserved reached the kernel holding whatever happened to be
on the stack.
Since 6.1 genetlink validates the reserved header fields of every
command whose id is >= genl_family.resv_start_op, and ipoe sets that
field to CTRL_CMD_GETPOLICY + 1, i.e. 11. IPOE_CMD_DEL_NET is 11, so
ipoe_nl_del_net(), which runs on startup and on every config reload, is
already rejected with EINVAL whenever that garbage is nonzero, and any
command added after it is affected as well.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
