Skip to content

Commit 8bd28d1

Browse files
committed
tgupdate: merge t/DO-NOT-MERGE-mptcp-use-kmalloc-on-kasan-build base into t/DO-NOT-MERGE-mptcp-use-kmalloc-on-kasan-build
2 parents 8f74bcb + b0969f1 commit 8bd28d1

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

net/mptcp/sockopt.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,6 +1419,12 @@ static int mptcp_getsockopt_v4(struct mptcp_sock *msk, int optname,
14191419
switch (optname) {
14201420
case IP_TOS:
14211421
return mptcp_put_int_option(msk, optval, optlen, READ_ONCE(inet_sk(sk)->tos));
1422+
case IP_FREEBIND:
1423+
return mptcp_put_int_option(msk, optval, optlen,
1424+
inet_test_bit(FREEBIND, sk));
1425+
case IP_TRANSPARENT:
1426+
return mptcp_put_int_option(msk, optval, optlen,
1427+
inet_test_bit(TRANSPARENT, sk));
14221428
case IP_BIND_ADDRESS_NO_PORT:
14231429
return mptcp_put_int_option(msk, optval, optlen,
14241430
inet_test_bit(BIND_ADDRESS_NO_PORT, sk));
@@ -1430,6 +1436,26 @@ static int mptcp_getsockopt_v4(struct mptcp_sock *msk, int optname,
14301436
return -EOPNOTSUPP;
14311437
}
14321438

1439+
static int mptcp_getsockopt_v6(struct mptcp_sock *msk, int optname,
1440+
char __user *optval, int __user *optlen)
1441+
{
1442+
struct sock *sk = (void *)msk;
1443+
1444+
switch (optname) {
1445+
case IPV6_V6ONLY:
1446+
return mptcp_put_int_option(msk, optval, optlen,
1447+
sk->sk_ipv6only);
1448+
case IPV6_TRANSPARENT:
1449+
return mptcp_put_int_option(msk, optval, optlen,
1450+
inet_test_bit(TRANSPARENT, sk));
1451+
case IPV6_FREEBIND:
1452+
return mptcp_put_int_option(msk, optval, optlen,
1453+
inet_test_bit(FREEBIND, sk));
1454+
}
1455+
1456+
return -EOPNOTSUPP;
1457+
}
1458+
14331459
static int mptcp_getsockopt_sol_mptcp(struct mptcp_sock *msk, int optname,
14341460
char __user *optval, int __user *optlen)
14351461
{
@@ -1469,6 +1495,8 @@ int mptcp_getsockopt(struct sock *sk, int level, int optname,
14691495

14701496
if (level == SOL_IP)
14711497
return mptcp_getsockopt_v4(msk, optname, optval, option);
1498+
if (level == SOL_IPV6)
1499+
return mptcp_getsockopt_v6(msk, optname, optval, option);
14721500
if (level == SOL_TCP)
14731501
return mptcp_getsockopt_sol_tcp(msk, optname, optval, option);
14741502
if (level == SOL_MPTCP)

0 commit comments

Comments
 (0)