[BACK]Return to uipc_socket.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/uipc_socket.c between version 1.235.2.4 and 1.252.2.1

version 1.235.2.4, 2015/12/27 12:10:05 version 1.252.2.1, 2017/05/25 18:52:24
Line 433  socket_listener_cb(kauth_cred_t cred, ka
Line 433  socket_listener_cb(kauth_cred_t cred, ka
                 }                  }
   
         case KAUTH_REQ_NETWORK_SOCKET_OPEN:          case KAUTH_REQ_NETWORK_SOCKET_OPEN:
                 /* We allow "raw" routing/bluetooth sockets to anyone. */                  /* We allow "raw" routing/bluetooth/CAN sockets to anyone. */
                 if ((u_long)arg1 == PF_ROUTE || (u_long)arg1 == PF_OROUTE                  if ((u_long)arg1 == PF_ROUTE || (u_long)arg1 == PF_OROUTE
                     || (u_long)arg1 == PF_BLUETOOTH) {                      || (u_long)arg1 == PF_BLUETOOTH || (u_long)arg1 == PF_CAN) {
                         result = KAUTH_RESULT_ALLOW;                          result = KAUTH_RESULT_ALLOW;
                 } else {                  } else {
                         /* Privileged, let secmodel handle this. */                          /* Privileged, let secmodel handle this. */
Line 648  solisten(struct socket *so, int backlog,
Line 648  solisten(struct socket *so, int backlog,
         short   oldopt, oldqlimit;          short   oldopt, oldqlimit;
   
         solock(so);          solock(so);
         if ((so->so_state & (SS_ISCONNECTED | SS_ISCONNECTING |          if ((so->so_state & (SS_ISCONNECTED | SS_ISCONNECTING |
             SS_ISDISCONNECTING)) != 0) {              SS_ISDISCONNECTING)) != 0) {
                 sounlock(so);                  sounlock(so);
                 return EINVAL;                  return EINVAL;
Line 786  soabort(struct socket *so)
Line 786  soabort(struct socket *so)
 {  {
         u_int refs;          u_int refs;
         int error;          int error;
   
         KASSERT(solocked(so));          KASSERT(solocked(so));
         KASSERT(so->so_head == NULL);          KASSERT(so->so_head == NULL);
   
Line 998  sosend(struct socket *so, struct sockadd
Line 998  sosend(struct socket *so, struct sockadd
                                         m = m_gethdr(M_WAIT, MT_DATA);                                          m = m_gethdr(M_WAIT, MT_DATA);
                                         mlen = MHLEN;                                          mlen = MHLEN;
                                         m->m_pkthdr.len = 0;                                          m->m_pkthdr.len = 0;
                                         m->m_pkthdr.rcvif = NULL;                                          m_reset_rcvif(m);
                                 } else {                                  } else {
                                         m = m_get(M_WAIT, MT_DATA);                                          m = m_get(M_WAIT, MT_DATA);
                                         mlen = MLEN;                                          mlen = MLEN;
Line 1324  soreceive(struct socket *so, struct mbuf
Line 1324  soreceive(struct socket *so, struct mbuf
                                 m->m_next = NULL;                                  m->m_next = NULL;
                                 m = so->so_rcv.sb_mb;                                  m = so->so_rcv.sb_mb;
                         } else {                          } else {
                                 MFREE(m, so->so_rcv.sb_mb);                                  m = so->so_rcv.sb_mb = m_free(m);
                                 m = so->so_rcv.sb_mb;  
                         }                          }
                         sbsync(&so->so_rcv, nextrecord);                          sbsync(&so->so_rcv, nextrecord);
                 }                  }
Line 1349  soreceive(struct socket *so, struct mbuf
Line 1348  soreceive(struct socket *so, struct mbuf
                                         m->m_next = 0;                                          m->m_next = 0;
                                         m = so->so_rcv.sb_mb;                                          m = so->so_rcv.sb_mb;
                                 } else {                                  } else {
                                         MFREE(m, so->so_rcv.sb_mb);                                          m = so->so_rcv.sb_mb = m_free(m);
                                         m = so->so_rcv.sb_mb;  
                                 }                                  }
                         }                          }
                 }                  }
Line 1505  soreceive(struct socket *so, struct mbuf
Line 1503  soreceive(struct socket *so, struct mbuf
                                         so->so_rcv.sb_mb = m = m->m_next;                                          so->so_rcv.sb_mb = m = m->m_next;
                                         *mp = NULL;                                          *mp = NULL;
                                 } else {                                  } else {
                                         MFREE(m, so->so_rcv.sb_mb);                                          m = so->so_rcv.sb_mb = m_free(m);
                                         m = so->so_rcv.sb_mb;  
                                 }                                  }
                                 /*                                  /*
                                  * If m != NULL, we also know that                                   * If m != NULL, we also know that
Line 1918  so_setsockopt(struct lwp *l, struct sock
Line 1915  so_setsockopt(struct lwp *l, struct sock
   
         return error;          return error;
 }  }
   
 /*  /*
  * internal get SOL_SOCKET options   * internal get SOL_SOCKET options
  */   */
Line 2247  filt_soread(struct knote *kn, long hint)
Line 2244  filt_soread(struct knote *kn, long hint)
                 rv = 1;                  rv = 1;
         else if (kn->kn_sfflags & NOTE_LOWAT)          else if (kn->kn_sfflags & NOTE_LOWAT)
                 rv = (kn->kn_data >= kn->kn_sdata);                  rv = (kn->kn_data >= kn->kn_sdata);
         else          else
                 rv = (kn->kn_data >= so->so_rcv.sb_lowat);                  rv = (kn->kn_data >= so->so_rcv.sb_lowat);
         if (hint != NOTE_SUBMIT)          if (hint != NOTE_SUBMIT)
                 sounlock(so);                  sounlock(so);

Legend:
Removed from v.1.235.2.4  
changed lines
  Added in v.1.252.2.1

CVSweb <webmaster@jp.NetBSD.org>