aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_usrreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/tcp_usrreq.c')
-rw-r--r--sys/netinet/tcp_usrreq.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 3a1608cc106a..e9f7fa541461 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -2563,14 +2563,18 @@ unhold:
#endif
#ifdef KERN_TLS
case TCP_TXTLS_MODE:
- optval = ktls_get_tx_mode(so);
+ error = ktls_get_tx_mode(so, &optval);
INP_WUNLOCK(inp);
- error = sooptcopyout(sopt, &optval, sizeof(optval));
+ if (error == 0)
+ error = sooptcopyout(sopt, &optval,
+ sizeof(optval));
break;
case TCP_RXTLS_MODE:
- optval = ktls_get_rx_mode(so);
+ error = ktls_get_rx_mode(so, &optval);
INP_WUNLOCK(inp);
- error = sooptcopyout(sopt, &optval, sizeof(optval));
+ if (error == 0)
+ error = sooptcopyout(sopt, &optval,
+ sizeof(optval));
break;
#endif
case TCP_LRD: