summaryrefslogtreecommitdiff
path: root/sys/compat/linux/linux_socket.c
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2009-05-02 10:51:40 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2009-05-02 10:51:40 +0000
commit40092d93b4637f163bf1b4874f5f7064a3185726 (patch)
treed6e3416b8cb5a3a0644d0c6133ed084ae61afc23 /sys/compat/linux/linux_socket.c
parentd789bfd5622d3e7c195b16699245865adaab2337 (diff)
Notes
Diffstat (limited to 'sys/compat/linux/linux_socket.c')
-rw-r--r--sys/compat/linux/linux_socket.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 56cc92ee803e..c92fd127e822 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -859,7 +859,10 @@ linux_socketpair(struct thread *td, struct linux_socketpair_args *args)
return (EINVAL);
bsd_args.type = args->type;
- bsd_args.protocol = args->protocol;
+ if (bsd_args.domain == AF_LOCAL && args->protocol == PF_UNIX)
+ bsd_args.protocol = 0;
+ else
+ bsd_args.protocol = args->protocol;
bsd_args.rsv = (int *)PTRIN(args->rsv);
return (socketpair(td, &bsd_args));
}