aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/xfs/linux-2.6/xfs_iops.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
index 4bd3d03b23ed..521bf3834b43 100644
--- a/fs/xfs/linux-2.6/xfs_iops.c
+++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -474,11 +474,14 @@ linvfs_symlink(
474 474
475 error = 0; 475 error = 0;
476 VOP_SYMLINK(dvp, dentry, &va, (char *)symname, &cvp, NULL, error); 476 VOP_SYMLINK(dvp, dentry, &va, (char *)symname, &cvp, NULL, error);
477 if (!error && cvp) { 477 if (likely(!error && cvp)) {
478 ip = LINVFS_GET_IP(cvp); 478 error = linvfs_init_security(cvp, dir);
479 d_instantiate(dentry, ip); 479 if (likely(!error)) {
480 validate_fields(dir); 480 ip = LINVFS_GET_IP(cvp);
481 validate_fields(ip); /* size needs update */ 481 d_instantiate(dentry, ip);
482 validate_fields(dir);
483 validate_fields(ip);
484 }
482 } 485 }
483 return -error; 486 return -error;
484} 487}