> * Enable storage key handling from now on and initialize the storage > * keys with the default key. > @@ -2593,7 +2610,6 @@ static const struct mm_walk_ops enable_skey_walk_ops = { > int s390_enable_skey(void) > { > struct mm_struct *mm = current->mm; > - struct vm_area_struct *vma; > int rc = 0; > > down_write(&mm->mmap_sem); > @@ -2601,15 +2617,7 @@ int s390_enable_skey(void) > goto out_up; > > mm->context.uses_skeys = 1; > - for (vma = mm->mmap; vma; vma = vma->vm_next) { > - if (ksm_madvise(vma, vma->vm_start, vma->vm_end, > - MADV_UNMERGEABLE, &vma->vm_flags)) { > - mm->context.uses_skeys = 0; > - rc = -ENOMEM; > - goto out_up; > - } > - } > - mm->def_flags &= ~VM_MERGEABLE; > + gmap_mark_unmergeable(); I think I already complained about this patch *as is* and there was an update. (ignoring errors, mm->context.uses_skeys handling in gmap_mark_unmergeable() etc.) -- Thanks, David / dhildenb