SEND_SHUTDOWN
if ((sk->sk_shutdown & SEND_SHUTDOWN) ||
sk->sk_shutdown |= SEND_SHUTDOWN;
if ((how & SEND_SHUTDOWN) &&
if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN))
if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN))
(sk->sk_shutdown & SEND_SHUTDOWN) ||
if ((conn->sock->sk->sk_shutdown & SEND_SHUTDOWN) ||
if ((conn->sock->sk->sk_shutdown & SEND_SHUTDOWN) ||
if (!(sk->sk_shutdown & SEND_SHUTDOWN)) {
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN) {
ax25->sk->sk_shutdown |= SEND_SHUTDOWN;
ax25->sk->sk_shutdown |= SEND_SHUTDOWN;
ax25->sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN)
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN)
if (unlikely(sk->sk_shutdown & SEND_SHUTDOWN))
if (READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN)
if (READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN)
if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN))
(READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN) ||
if (wq && wq->fasync_list && !(sk->sk_shutdown & SEND_SHUTDOWN))
if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN))
if (!(how & SEND_SHUTDOWN))
if (!(shutdown & SEND_SHUTDOWN)) {
if (sk->sk_shutdown & SEND_SHUTDOWN)
tcp_shutdown(sk, SEND_SHUTDOWN);
WRITE_ONCE(sk->sk_shutdown, sk->sk_shutdown | SEND_SHUTDOWN);
if ((how == SEND_SHUTDOWN || how == SHUTDOWN_MASK) &&
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN) {
if (sk->sk_shutdown & SEND_SHUTDOWN) {
int how = RCV_SHUTDOWN | SEND_SHUTDOWN;
mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN);
if (unlikely(sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN)))
tcp_shutdown(ssk, SEND_SHUTDOWN);
mptcp_subflow_shutdown(sk, tcp_sk, SEND_SHUTDOWN);
if ((how & SEND_SHUTDOWN) && mptcp_close_state(sk))
if (shutdown & SEND_SHUTDOWN)
tcp_shutdown(ssk, SEND_SHUTDOWN);
if (READ_ONCE(msk->snd_data_fin_enable) && !(ssk->sk_shutdown & SEND_SHUTDOWN)) {
ssk->sk_shutdown |= SEND_SHUTDOWN;
tcp_shutdown(ssk, SEND_SHUTDOWN);
if (sk->sk_shutdown & SEND_SHUTDOWN) {
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN) {
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN) {
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN)
if (how & SEND_SHUTDOWN && !list_empty(&ep->asocs)) {
if (!(sk->sk_shutdown & SEND_SHUTDOWN))
(sk->sk_shutdown & SEND_SHUTDOWN ||
(sk->sk_shutdown & SEND_SHUTDOWN ||
sk->sk_shutdown & SEND_SHUTDOWN) {
(READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN) ||
if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN)) {
if (smc->sk.sk_shutdown & SEND_SHUTDOWN ||
if (wq && wq->fasync_list && !(sk->sk_shutdown & SEND_SHUTDOWN))
(sk->sk_shutdown & SEND_SHUTDOWN) ||
if (READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN)
peer_mode |= SEND_SHUTDOWN;
if (mode&SEND_SHUTDOWN)
mode = mode & (RCV_SHUTDOWN | SEND_SHUTDOWN);
((sk->sk_shutdown & SEND_SHUTDOWN) &&
(vsk->peer_shutdown & SEND_SHUTDOWN))) {
vsk->peer_shutdown & SEND_SHUTDOWN) {
if (!(sk->sk_shutdown & SEND_SHUTDOWN))
vsk->peer_shutdown & SEND_SHUTDOWN) {
if (!(sk->sk_shutdown & SEND_SHUTDOWN)) {
if (!(sk->sk_shutdown & SEND_SHUTDOWN))
if (sk->sk_shutdown & SEND_SHUTDOWN ||
!(sk->sk_shutdown & SEND_SHUTDOWN) &&
} else if ((sk->sk_shutdown & SEND_SHUTDOWN) ||
(vsk->peer_shutdown & SEND_SHUTDOWN)) {
if (!(mode & SEND_SHUTDOWN))
hvs->vsk->peer_shutdown |= SEND_SHUTDOWN;
vsk->peer_shutdown |= SEND_SHUTDOWN;
(mode & SEND_SHUTDOWN ?
vsk->peer_shutdown |= SEND_SHUTDOWN;
if (sk->sk_shutdown & SEND_SHUTDOWN) {
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_shutdown |= SEND_SHUTDOWN;