|
Description:
sys_stat() does a do_revalidate() after user_path_walk() but sys_chown()
does not. This causes sys_chown() to use incorrect attribute information
on distributed file systems. The sys_stat does do_revalidate() to
revalidate the inodes for proper NFS attibute caching. But when
sys_chown calls chown_common after the user_path_walk, no checks
are being done regarding the dentry values, which contain cached
inode values. On Distributed File system environments there may
be a likelyhood that these values may not be current and there is
a likelihood of stale values being read. Hence doing a do_revalidate
before the chown calls will help address this issue. |