diff options
Diffstat (limited to 'fs/pipe.c')
-rw-r--r-- | fs/pipe.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -1076,6 +1076,23 @@ int do_pipe(int *fd) | |||
1076 | } | 1076 | } |
1077 | 1077 | ||
1078 | /* | 1078 | /* |
1079 | * sys_pipe() is the normal C calling standard for creating | ||
1080 | * a pipe. It's not the way Unix traditionally does this, though. | ||
1081 | */ | ||
1082 | asmlinkage long __weak sys_pipe(int __user *fildes) | ||
1083 | { | ||
1084 | int fd[2]; | ||
1085 | int error; | ||
1086 | |||
1087 | error = do_pipe(fd); | ||
1088 | if (!error) { | ||
1089 | if (copy_to_user(fildes, fd, sizeof(fd))) | ||
1090 | error = -EFAULT; | ||
1091 | } | ||
1092 | return error; | ||
1093 | } | ||
1094 | |||
1095 | /* | ||
1079 | * pipefs should _never_ be mounted by userland - too much of security hassle, | 1096 | * pipefs should _never_ be mounted by userland - too much of security hassle, |
1080 | * no real gain from having the whole whorehouse mounted. So we don't need | 1097 | * no real gain from having the whole whorehouse mounted. So we don't need |
1081 | * any operations on the root directory. However, we need a non-trivial | 1098 | * any operations on the root directory. However, we need a non-trivial |