From: Patrick Rohr <prohr@google.com>
To: stable@vger.kernel.org
Cc: "Greg KH" <gregkh@linuxfoundation.org>,
"Maciej Żenczykowski" <maze@google.com>,
"Lorenzo Colitti" <lorenzo@google.com>,
"Patrick Rohr" <prohr@google.com>
Subject: [PATCH 6.1 0/3] net: add sysctl accept_ra_min_lft
Date: Mon, 25 Sep 2023 14:10:31 -0700 [thread overview]
Message-ID: <20230925211034.905320-1-prohr@google.com> (raw)
This series adds a new sysctl accept_ra_min_lft which enforces a minimum
lifetime value for individual RA sections; in particular, router
lifetime, PIO preferred lifetime, and RIO lifetime. If any of those
lifetimes are lower than the configured value, the specific RA section
is ignored.
This fixes a potential denial of service attack vector where rogue WiFi
routers (or devices) can send RAs with low lifetimes to actively drain a
mobile device's battery (by preventing sleep).
In addition to this change, Android uses hardware offloads to drop RAs
for a fraction of the minimum of all lifetimes present in the RA (some
networks have very frequent RAs (5s) with high lifetimes (2h)). Despite
this, we have encountered networks that set the router lifetime to 30s
which results in very frequent CPU wakeups. Instead of disabling IPv6
(and dropping IPv6 ethertype in the WiFi firmware) entirely on such
networks, misconfigured routers must be ignored while still processing
RAs from other IPv6 routers on the same network (i.e. to support IoT
applications).
Patches:
- 1671bcfd76fd ("net: add sysctl accept_ra_min_rtr_lft")
- 5027d54a9c30 ("net: change accept_ra_min_rtr_lft to affect all RA lifetimes")
- 5cb249686e67 ("net: release reference to inet6_dev pointer")
Patrick Rohr (3):
net: add sysctl accept_ra_min_rtr_lft
net: change accept_ra_min_rtr_lft to affect all RA lifetimes
net: release reference to inet6_dev pointer
Documentation/networking/ip-sysctl.rst | 8 ++++++++
include/linux/ipv6.h | 1 +
include/uapi/linux/ipv6.h | 1 +
net/ipv6/addrconf.c | 13 +++++++++++++
net/ipv6/ndisc.c | 13 +++++++++++--
5 files changed, 34 insertions(+), 2 deletions(-)
--
2.42.0.515.g380fc7ccd1-goog
next reply other threads:[~2023-09-25 21:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 21:10 Patrick Rohr [this message]
2023-09-25 21:10 ` [PATCH 6.1 1/3] net: add sysctl accept_ra_min_rtr_lft Patrick Rohr
2023-09-25 21:10 ` [PATCH 6.1 2/3] net: change accept_ra_min_rtr_lft to affect all RA lifetimes Patrick Rohr
2023-09-25 21:10 ` [PATCH 6.1 3/3] net: release reference to inet6_dev pointer Patrick Rohr
2023-10-05 21:37 ` [PATCH 6.1 0/3] net: add sysctl accept_ra_min_lft Patrick Rohr
2023-10-06 5:52 ` Greg KH
2023-10-06 6:21 ` Greg KH
2023-10-06 7:06 ` Maciej Żenczykowski
2023-10-06 7:53 ` Greg KH
2023-10-06 12:17 ` Sasha Levin
2023-10-06 19:40 ` Maciej Żenczykowski
2023-10-07 9:30 ` Greg KH
2023-10-07 9:48 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230925211034.905320-1-prohr@google.com \
--to=prohr@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=lorenzo@google.com \
--cc=maze@google.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox