On Wed, Jan 20, 2021 at 9:36 AM Will Deacon <will@xxxxxxxxxx> wrote: > > The fields of this struct are only ever read after being initialised, so > mark it 'const' before somebody tries to modify it again. > > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Will Deacon <will@xxxxxxxxxx> > --- > include/linux/mm.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index e0f056753bef..7ff3d9817d38 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -514,7 +514,7 @@ static inline bool fault_flag_allow_retry_first(unsigned int flags) > * pgoff should be used in favour of virtual_address, if possible. > */ > struct vm_fault { > - struct { > + const struct { > struct vm_area_struct *vma; /* Target VMA */ > gfp_t gfp_mask; /* gfp mask to be used for allocations */ > pgoff_t pgoff; /* Logical page offset based on vma */ Is there a difference between: + const struct { + struct vm_area_struct *vma; /* Target VMA */ + gfp_t gfp_mask; /* gfp mask to be used for allocations */ + pgoff_t pgoff; /* Logical page offset based on vma */ + unsigned long address; /* Faulting virtual address */ + }; vs + struct { + struct vm_area_struct * const vma; /* Target VMA */ + const gfp_t gfp_mask; /* gfp mask to be used for allocations */ + const pgoff_t pgoff; /* Logical page offset based on vma */ + const unsigned long address; /* Faulting virtual address */ + }; ie. marking the members const vs the anonymous struct? Does anything need to change in the use of these structures? > -- > 2.30.0.284.gd98b1dd5eaa7-goog > -- Thanks, ~Nick Desaulniers