summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-04-20 14:36:01 +0000
committerkib <kib@FreeBSD.org>2009-04-20 14:36:01 +0000
commit24114749aa9a49d7dc6ab793a3cc29a66c23dac1 (patch)
tree723e3e18901f81fb99a47cedb2e49da37674725d /usr.sbin/ppp
parentcbaf9d767f795c296978513820436005cb0fa14d (diff)
downloadFreeBSD-src-24114749aa9a49d7dc6ab793a3cc29a66c23dac1.zip
FreeBSD-src-24114749aa9a49d7dc6ab793a3cc29a66c23dac1.tar.gz
In ufs_checkpath(), recheck that '..' still points to the inode with
the same inode number after VFS_VGET() and relock of the vp. If '..' changed, redo the lookup. To reduce code duplication, move the code to read '..' dirent into the static helper function ufs_dir_dd_ino(). Supply the source inode number as an argument to ufs_checkpath() instead of the source inode itself. The inode is unlocked, thus it might be reclaimed, causing accesses to the freed memory. Use vn_vget_ino() to get the '..' vnode by its inode number, instead of directly code VFS_VGET() and relock, to properly busy the mount point while vp lock is dropped. Noted and reviewed by: tegge Tested by: pho MFC after: 1 month
Diffstat (limited to 'usr.sbin/ppp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud