Return EINVAL in case when the incorrect or unsupported
type argument is specified. Do not map type argument value as its Linux values are identical to FreeBSD values. Approved by: kib (mentor)
This commit is contained in:
parent
6994ea543f
commit
eeb63e515f
@ -597,6 +597,8 @@ linux_socket(struct thread *td, struct linux_socket_args *args)
|
||||
|
||||
bsd_args.protocol = args->protocol;
|
||||
bsd_args.type = args->type;
|
||||
if (bsd_args.type < 0 || bsd_args.type > LINUX_SOCK_MAX)
|
||||
return (EINVAL);
|
||||
bsd_args.domain = linux_to_bsd_domain(args->domain);
|
||||
if (bsd_args.domain == -1)
|
||||
return (EAFNOSUPPORT);
|
||||
|
@ -90,6 +90,16 @@
|
||||
#define LINUX_AF_APPLETALK 5
|
||||
#define LINUX_AF_INET6 10
|
||||
|
||||
/* Supported socket types */
|
||||
|
||||
#define LINUX_SOCK_STREAM 1
|
||||
#define LINUX_SOCK_DGRAM 2
|
||||
#define LINUX_SOCK_RAW 3
|
||||
#define LINUX_SOCK_RDM 4
|
||||
#define LINUX_SOCK_SEQPACKET 5
|
||||
|
||||
#define LINUX_SOCK_MAX LINUX_SOCK_SEQPACKET
|
||||
|
||||
struct l_ucred {
|
||||
uint32_t pid;
|
||||
uint32_t uid;
|
||||
|
Loading…
x
Reference in New Issue
Block a user