Loading linux-user/syscall.c +20 −0 Original line number Diff line number Diff line Loading @@ -1315,6 +1315,26 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, goto unimplemented; } break; case SOL_IPV6: switch (optname) { case IPV6_MTU_DISCOVER: case IPV6_MTU: case IPV6_V6ONLY: case IPV6_RECVPKTINFO: val = 0; if (optlen < sizeof(uint32_t)) { return -TARGET_EINVAL; } if (get_user_u32(val, optval_addr)) { return -TARGET_EFAULT; } ret = get_errno(setsockopt(sockfd, level, optname, &val, sizeof(val))); break; default: goto unimplemented; } break; case SOL_RAW: switch (optname) { case ICMP_FILTER: Loading Loading
linux-user/syscall.c +20 −0 Original line number Diff line number Diff line Loading @@ -1315,6 +1315,26 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, goto unimplemented; } break; case SOL_IPV6: switch (optname) { case IPV6_MTU_DISCOVER: case IPV6_MTU: case IPV6_V6ONLY: case IPV6_RECVPKTINFO: val = 0; if (optlen < sizeof(uint32_t)) { return -TARGET_EINVAL; } if (get_user_u32(val, optval_addr)) { return -TARGET_EFAULT; } ret = get_errno(setsockopt(sockfd, level, optname, &val, sizeof(val))); break; default: goto unimplemented; } break; case SOL_RAW: switch (optname) { case ICMP_FILTER: Loading