On Wed, May 29, 2019 at 11:05:48AM -0700, Ira Weiny wrote: > On Fri, May 24, 2019 at 01:50:45PM -0400, Daniel Jordan wrote: > > +static inline int account_locked_vm(struct mm_struct *mm, unsigned long pages, > > + bool inc) > > +{ > > + int ret; > > + > > + if (pages == 0 || !mm) > > + return 0; > > + > > + down_write(&mm->mmap_sem); > > + ret = __account_locked_vm(mm, pages, inc, current, > > + capable(CAP_IPC_LOCK)); > > + up_write(&mm->mmap_sem); > > + > > + return ret; > > +} > > + ...snip... > > +/** > > + * __account_locked_vm - account locked pages to an mm's locked_vm > > + * @mm: mm to account against, may be NULL > > This kernel doc is wrong. You dereference mm straight away... ...snip... > > + > > + locked_vm = mm->locked_vm; > > here... > > Perhaps the comment was meant to document account_locked_vm()? Yes, the comment got out of sync when I moved the !mm check outside __account_locked_vm. Thanks for catching, will fix.