commit 4ce29761adda6582db81c378fae5a72efea38c5b
parent b3aaa061927951f2fb223f0c2a2f335c65a73db2
Author: pstanciu <pstanciu@mozilla.com>
Date: Tue, 9 Dec 2025 22:07:55 +0200
Revert "Bug 2004872: Clean up DNS code r=necko-reviewers,valentin" for causin lint failures
This reverts commit 06a3e97780fc8c39466ef927857f8b3342e0a118.
Diffstat:
2 files changed, 13 insertions(+), 24 deletions(-)
diff --git a/netwerk/dns/nsDNSService2.cpp b/netwerk/dns/nsDNSService2.cpp
@@ -663,8 +663,6 @@ NS_IMPL_ISUPPORTS(DNSServiceWrapper, nsIDNSService, nsPIDNSService)
already_AddRefed<nsIDNSService> DNSServiceWrapper::GetSingleton() {
if (!gDNSServiceWrapper) {
gDNSServiceWrapper = new DNSServiceWrapper();
- // Not strictly needed, but simple and avoids bypassing lock-checking
- MutexAutoLock lock(gDNSServiceWrapper->mLock);
gDNSServiceWrapper->mDNSServiceInUse = ChildDNSService::GetSingleton();
if (gDNSServiceWrapper->mDNSServiceInUse) {
ClearOnShutdown(&gDNSServiceWrapper);
@@ -715,7 +713,6 @@ NS_IMPL_ISUPPORTS_INHERITED(nsDNSService, DNSServiceBase, nsIDNSService,
static StaticRefPtr<nsDNSService> gDNSService;
static Atomic<bool> gInited(false);
-// Note: be careful of races! Called from multiple threads
already_AddRefed<nsIDNSService> GetOrInitDNSService() {
if (gInited) {
return nsDNSService::GetXPCOMSingleton();
@@ -811,7 +808,6 @@ void nsDNSService::ReadPrefs(const char* name) {
}
}
if (!name || !strcmp(name, kPrefIPv4OnlyDomains)) {
- MutexAutoLock lock(mLock);
Preferences::GetCString(kPrefIPv4OnlyDomains, mIPv4OnlyDomains);
}
if (!name || !strcmp(name, kPrefDnsLocalDomains)) {
@@ -846,6 +842,7 @@ void nsDNSService::ReadPrefs(const char* name) {
NS_IMETHODIMP
nsDNSService::Init() {
+ MOZ_ASSERT(!mResolver);
MOZ_ASSERT(NS_IsMainThread());
ReadPrefs(nullptr);
@@ -863,7 +860,6 @@ nsDNSService::Init() {
if (NS_SUCCEEDED(rv)) {
// now, set all of our member variables while holding the lock
MutexAutoLock lock(mLock);
- MOZ_ASSERT(!mResolver);
mResolver = res;
}
@@ -889,12 +885,7 @@ nsDNSService::Init() {
do_GetService("@mozilla.org/network/oblivious-http-service;1"));
mTrrService = new TRRService();
- bool httpsEnabled;
- {
- MutexAutoLock lock(mLock);
- httpsEnabled = mResolver->IsNativeHTTPSEnabled();
- }
- if (NS_FAILED(mTrrService->Init(httpsEnabled))) {
+ if (NS_FAILED(mTrrService->Init(mResolver->IsNativeHTTPSEnabled()))) {
mTrrService = nullptr;
}
@@ -1529,14 +1520,14 @@ nsresult nsDNSService::GetTRRDomainKey(nsACString& aTRRDomain) {
return NS_OK;
}
-size_t nsDNSService::SizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) {
+size_t nsDNSService::SizeOfIncludingThis(
+ mozilla::MallocSizeOf mallocSizeOf) const {
// Measurement of the following members may be added later if DMD finds it
// is worthwhile:
// - mIDN
// - mLock
size_t n = mallocSizeOf(this);
- MutexAutoLock lock(mLock);
n += mResolver ? mResolver->SizeOfIncludingThis(mallocSizeOf) : 0;
n += mIPv4OnlyDomains.SizeOfExcludingThisIfUnshared(mallocSizeOf);
n += mLocalDomains.SizeOfExcludingThis(mallocSizeOf);
diff --git a/netwerk/dns/nsDNSService2.h b/netwerk/dns/nsDNSService2.h
@@ -40,7 +40,7 @@ class DNSServiceWrapper final : public nsPIDNSService {
nsPIDNSService* PIDNSService();
mozilla::Mutex mLock{"DNSServiceWrapper.mLock"};
- nsCOMPtr<nsIDNSService> mDNSServiceInUse MOZ_GUARDED_BY(mLock);
+ nsCOMPtr<nsIDNSService> mDNSServiceInUse;
nsCOMPtr<nsIDNSService> mBackupDNSService;
};
@@ -58,7 +58,7 @@ class nsDNSService final : public mozilla::net::DNSServiceBase,
static already_AddRefed<nsIDNSService> GetXPCOMSingleton();
- size_t SizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf);
+ size_t SizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const;
bool GetOffline() const;
@@ -83,7 +83,7 @@ class nsDNSService final : public mozilla::net::DNSServiceBase,
nsresult PreprocessHostname(bool aLocalDomain, const nsACString& aInput,
nsACString& aACE);
- bool IsLocalDomain(const nsACString& aHostname) const MOZ_REQUIRES(mLock);
+ bool IsLocalDomain(const nsACString& aHostname) const;
nsresult AsyncResolveInternal(
const nsACString& aHostname, uint16_t type, nsIDNSService::DNSFlags flags,
@@ -106,27 +106,25 @@ class nsDNSService final : public mozilla::net::DNSServiceBase,
// Locks the mutex and returns an addreffed resolver. May return null.
already_AddRefed<nsHostResolver> GetResolverLocked();
- RefPtr<nsHostResolver> mResolver MOZ_GUARDED_BY(mLock);
+ RefPtr<nsHostResolver> mResolver;
// mLock protects access to mResolver, mLocalDomains, mIPv4OnlyDomains,
// mFailedSVCDomainNames, and mMockHTTPSRRDomain.
- mozilla::Mutex mLock{"nsDNSServer.mLock"};
+ mozilla::Mutex mLock MOZ_UNANNOTATED{"nsDNSServer.mLock"};
// mIPv4OnlyDomains is a comma-separated list of domains for which only
// IPv4 DNS lookups are performed. This allows the user to disable IPv6 on
// a per-domain basis and work around broken DNS servers. See bug 68796.
- nsCString mIPv4OnlyDomains MOZ_GUARDED_BY(mLock);
+ nsCString mIPv4OnlyDomains;
nsCString mForceResolve;
- nsCString mMockHTTPSRRDomain MOZ_GUARDED_BY(mLock);
+ nsCString mMockHTTPSRRDomain;
mozilla::Atomic<bool, mozilla::Relaxed> mHasMockHTTPSRRDomainSet{false};
bool mNotifyResolution = false;
bool mForceResolveOn = false;
- nsTHashSet<nsCString> mLocalDomains MOZ_GUARDED_BY(mLock);
+ nsTHashSet<nsCString> mLocalDomains;
RefPtr<mozilla::net::TRRService> mTrrService;
- nsClassHashtable<nsCStringHashKey, nsTArray<nsCString>> mFailedSVCDomainNames
- MOZ_GUARDED_BY(mLock);
- ;
+ nsClassHashtable<nsCStringHashKey, nsTArray<nsCString>> mFailedSVCDomainNames;
};
already_AddRefed<nsIDNSService> GetOrInitDNSService();