summaryrefslogtreecommitdiff
path: root/chromium/net/base/address_tracker_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/base/address_tracker_linux.cc')
-rw-r--r--chromium/net/base/address_tracker_linux.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/chromium/net/base/address_tracker_linux.cc b/chromium/net/base/address_tracker_linux.cc
index ffb6e6ef211..b9e76f900ef 100644
--- a/chromium/net/base/address_tracker_linux.cc
+++ b/chromium/net/base/address_tracker_linux.cc
@@ -17,8 +17,13 @@
#include "base/optional.h"
#include "base/posix/eintr_wrapper.h"
#include "base/threading/scoped_blocking_call.h"
+#include "build/build_config.h"
#include "net/base/network_interfaces_linux.h"
+#if defined(OS_ANDROID)
+#include "base/android/build_info.h"
+#endif
+
namespace net {
namespace internal {
@@ -177,6 +182,14 @@ AddressTrackerLinux::AddressTrackerLinux(
AddressTrackerLinux::~AddressTrackerLinux() = default;
void AddressTrackerLinux::Init() {
+#if defined(OS_ANDROID)
+ // RTM_GETLINK stopped working in Android 11 (see
+ // https://developer.android.com/preview/privacy/mac-address),
+ // so AddressTrackerLinux should not be used in later versions
+ // of Android. Chromium code doesn't need it past Android P.
+ DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(),
+ base::android::SDK_VERSION_P);
+#endif
netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
if (!netlink_fd_.is_valid()) {
PLOG(ERROR) << "Could not create NETLINK socket";