On Wed, Dec 04, 2024 at 11:16:51AM -0500, Zi Yan wrote: > > So maybe the clearing done as part of page allocator isn't enough here. > > > Basically, mips needs to flush data cache if kmap address is aliased to People use "aliased" in contronym ways. Do you mean "has a non-congruent alias" or "has a congruent alias"? > userspace address. This means when mips has THP on, the patch below > is not enough to fix the issue. > > In post_alloc_hook(), it does not make sense to pass userspace address > in to determine whether to flush dcache or not. > > One way to fix it is to add something like arch_userpage_post_alloc() > to flush dcache if kmap address is aliased to userspace address. > But my questions are that > 1) if kmap address will always be the same for two separate kmap_local() calls, No. It just takes the next address in the stack. > 2) how much overheads the additional kmap_local() and kunmap_local() have. That's going to be a per-arch question ...