On Wed, Jan 20, 2021 at 9:36 AM Will Deacon <will@xxxxxxxxxx> wrote: > > In preparation for const-ifying the anonymous struct field of > 'struct vm_fault', ensure that it is initialised using static > initialisers. FWIW these are known as "designated initializers", ie. struct foo my_foo = { .bar = 42, }; https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Will Deacon <will@xxxxxxxxxx> > --- > mm/shmem.c | 6 +++--- > mm/swapfile.c | 11 ++++++----- > 2 files changed, 9 insertions(+), 8 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 7c6b6d8f6c39..1b254fbfdf52 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1520,11 +1520,11 @@ static struct page *shmem_swapin(swp_entry_t swap, gfp_t gfp, > { > struct vm_area_struct pvma; > struct page *page; > - struct vm_fault vmf; > + struct vm_fault vmf = { > + .vma = &pvma, > + }; > > shmem_pseudo_vma_init(&pvma, info, index); > - vmf.vma = &pvma; > - vmf.address = 0; > page = swap_cluster_readahead(swap, gfp, &vmf); > shmem_pseudo_vma_destroy(&pvma); > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 9fffc5af29d1..2b570a566276 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1951,8 +1951,6 @@ static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > si = swap_info[type]; > pte = pte_offset_map(pmd, addr); > do { > - struct vm_fault vmf; > - > if (!is_swap_pte(*pte)) > continue; > > @@ -1968,9 +1966,12 @@ static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > swap_map = &si->swap_map[offset]; > page = lookup_swap_cache(entry, vma, addr); > if (!page) { > - vmf.vma = vma; > - vmf.address = addr; > - vmf.pmd = pmd; > + struct vm_fault vmf = { > + .vma = vma, > + .address = addr, > + .pmd = pmd, > + }; > + > page = swapin_readahead(entry, GFP_HIGHUSER_MOVABLE, > &vmf); > } > -- > 2.30.0.284.gd98b1dd5eaa7-goog > -- Thanks, ~Nick Desaulniers