Skip to content

Commit f39b4a3

Browse files
miktchromeos-ci-prod
authored andcommitted
[PA-E] Use FreeFlags::kNoHooks consistently
As a result of accumulated patches for long years, PA-E functions are inconsistent on FreeFlags::kNoHooks usage. This patch changes some functions to use FreeFlags::kNoHooks. After this every function should be using it. Change-Id: I83d8bb1dddf732e60358207a1b4bb0c97d707b3a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5901487 Reviewed-by: Takashi Sakamoto <[email protected]> Commit-Queue: Mikihito Matsuura <[email protected]> Cr-Commit-Position: refs/heads/main@{#1363181} CrOS-Libchrome-Original-Commit: 021934729cf4dd8d23a173cb499161fdc7a31905
1 parent cdfe984 commit f39b4a3

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,8 @@ void* PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
286286
} else {
287287
// size == 0 and address != null means just "free(address)".
288288
if (address) {
289-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
290-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
289+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
290+
address);
291291
}
292292
}
293293
// The original memory block (specified by address) is unchanged if ENOMEM.
@@ -301,8 +301,8 @@ void* PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
301301
size_t copy_size = usage > size ? size : usage;
302302
memcpy(new_ptr, address, copy_size);
303303

304-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
305-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
304+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
305+
address);
306306
}
307307
return new_ptr;
308308
}
@@ -324,8 +324,8 @@ void* PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
324324
} else {
325325
// size == 0 and address != null means just "free(address)".
326326
if (address) {
327-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
328-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
327+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
328+
address);
329329
}
330330
}
331331
// The original memory block (specified by address) is unchanged if ENOMEM.
@@ -339,8 +339,8 @@ void* PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
339339
size_t copy_size = usage > size ? size : usage;
340340
memcpy(new_ptr, address, copy_size);
341341

342-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
343-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
342+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
343+
address);
344344
}
345345
return new_ptr;
346346
}
@@ -431,8 +431,8 @@ PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::Free(
431431
}
432432
#endif // PA_BUILDFLAG(IS_CAST_ANDROID)
433433

434-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
435-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(object);
434+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
435+
object);
436436
}
437437

438438
#if PA_BUILDFLAG(IS_APPLE)
@@ -450,8 +450,8 @@ void PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
450450
partition_alloc::ScopedDisallowAllocations guard{};
451451
// TODO(lizeb): Optimize PartitionAlloc to use the size information. This is
452452
// still useful though, as we avoid double-checking that the address is owned.
453-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
454-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
453+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
454+
address);
455455
}
456456
#endif // PA_BUILDFLAG(IS_APPLE)
457457

@@ -557,20 +557,21 @@ void PartitionAllocFunctionsInternal<base_alloc_flags, base_free_flags>::
557557
return allocator_shim::TryFreeDefaultFallbackToFindZoneAndFree(address);
558558
}
559559

560-
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<
561-
base_free_flags | partition_alloc::FreeFlags::kNoHooks>(address);
560+
partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<base_free_flags>(
561+
address);
562562
}
563563
#endif // PA_BUILDFLAG(IS_APPLE)
564564

565565
// Explicitly instantiate `PartitionAllocFunctions`.
566566
template class PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)
567567
PartitionAllocFunctionsInternal<partition_alloc::AllocFlags::kNoHooks,
568-
partition_alloc::FreeFlags::kNone>;
568+
partition_alloc::FreeFlags::kNoHooks>;
569569
// Explicitly instantiate `PartitionAllocWithAdvancedChecksFunctions`.
570570
template class PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)
571571
PartitionAllocFunctionsInternal<
572572
partition_alloc::AllocFlags::kNoHooks,
573-
partition_alloc::FreeFlags::kZap |
573+
partition_alloc::FreeFlags::kNoHooks |
574+
partition_alloc::FreeFlags::kZap |
574575
partition_alloc::FreeFlags::kSchedulerLoopQuarantine>;
575576

576577
// static

base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,22 +130,24 @@ class PartitionAllocFunctionsInternal {
130130

131131
using PartitionAllocFunctions =
132132
PartitionAllocFunctionsInternal<partition_alloc::AllocFlags::kNoHooks,
133-
partition_alloc::FreeFlags::kNone>;
133+
partition_alloc::FreeFlags::kNoHooks>;
134134
using PartitionAllocWithAdvancedChecksFunctions =
135135
PartitionAllocFunctionsInternal<
136136
partition_alloc::AllocFlags::kNoHooks,
137-
partition_alloc::FreeFlags::kZap |
137+
partition_alloc::FreeFlags::kNoHooks |
138+
partition_alloc::FreeFlags::kZap |
138139
partition_alloc::FreeFlags::kSchedulerLoopQuarantine>;
139140

140141
// `PartitionAllocFunctions` in instantiated in cc file.
141142
extern template class PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)
142143
PartitionAllocFunctionsInternal<partition_alloc::AllocFlags::kNoHooks,
143-
partition_alloc::FreeFlags::kNone>;
144+
partition_alloc::FreeFlags::kNoHooks>;
144145
// `PartitionAllocWithAdvancedChecksFunctions` in instantiated in cc file.
145146
extern template class PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)
146147
PartitionAllocFunctionsInternal<
147148
partition_alloc::AllocFlags::kNoHooks,
148-
partition_alloc::FreeFlags::kZap |
149+
partition_alloc::FreeFlags::kNoHooks |
150+
partition_alloc::FreeFlags::kZap |
149151
partition_alloc::FreeFlags::kSchedulerLoopQuarantine>;
150152

151153
} // namespace internal

0 commit comments

Comments
 (0)