On Mon, Oct 28, 2024 at 10:22:32AM -1000, Linus Torvalds wrote: > On Mon, 28 Oct 2024 at 10:18, Lorenzo Stoakes > <lorenzo.stoakes@xxxxxxxxxx> wrote: > > > > I'm genuinely not opposed to a horrible, awful: > > > > #ifdef CONFIG_ARM64 > > if (file && file->f_ops == shmem_file_operations) > > vm_flags |= VM_MTE_ALLOWED; > > #endif > > > > Early in the operation prior to the arch_validate_flags() check. > > I would just put it inside the arm64 code itself. > > IOW, get rid of the VM_MTE_ALLOWED flag entirely, and just make the > arm64 arch_validate_flags() code do something like > > if (flags & VM_MTE) { > if (file->f_ops != shmem_file_operations) > return false; > } > > and be done with it. > > Considering that we only have that horrendous arch_validate_flags() > for two architectures, and that they both just have magical special > cases for MTE-like behavior, I do think that just making it be a hack > inside those functions is the way to go. > > Linus Ah yeah makes sense. FWIW I just made a fix -for now- which implements it in the hideous way, shown below. We can maybe take that as a fix-patch for now and I can look at replacing this tomorrow with something as you suggest properly. My only concern is that arm people might not be happy and we get some hold up here... Thanks, Lorenzo ----8<----