|
@@ -4250,8 +4250,8 @@ EXPORT_SYMBOL(vfs_link);
|
|
|
* with linux 2.0, and to avoid hard-linking to directories
|
|
|
* and other special files. --ADM
|
|
|
*/
|
|
|
-SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
|
|
|
- int, newdfd, const char __user *, newname, int, flags)
|
|
|
+int do_linkat(int olddfd, const char __user *oldname, int newdfd,
|
|
|
+ const char __user *newname, int flags)
|
|
|
{
|
|
|
struct dentry *new_dentry;
|
|
|
struct path old_path, new_path;
|
|
@@ -4315,9 +4315,15 @@ out:
|
|
|
return error;
|
|
|
}
|
|
|
|
|
|
+SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
|
|
|
+ int, newdfd, const char __user *, newname, int, flags)
|
|
|
+{
|
|
|
+ return do_linkat(olddfd, oldname, newdfd, newname, flags);
|
|
|
+}
|
|
|
+
|
|
|
SYSCALL_DEFINE2(link, const char __user *, oldname, const char __user *, newname)
|
|
|
{
|
|
|
- return sys_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
|
|
|
+ return do_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
|
|
|
}
|
|
|
|
|
|
/**
|