On Sun, Jun 26, 2016 at 9:09 AM, Sebastien Marie <[email protected]> wrote: > In the following code, namei() call is done in doutimensat(), and > nd.ni_vp is passed to dovutimens() as vp. > > In the same way, in dofutimens() the vp (from getvnode) is vref() before > calling dovutimens(). > > So I think we should call vput() before returning any error.
Nice catch. I think the fix isn't right, however: vput() is for use on locked vnodes, but the vn_lock() call is after these checks. The vnode is only vref()ed here so it just needs a vrele(). Philip Guenther
