Martin Natano wrote: > Below the uiomove() conversion for net/ppp_tty.c. M_TRAILINGSPACE() > returns int, but the result can't be negative, so using u_int for the > return value should be fine.
Looks good. m->m_len is unsigned and yes, given that the mbuf fields aren't corrupted M_TRAILINGSPACE is >= 0. ok? > Index: net/ppp_tty.c > =================================================================== > RCS file: /cvs/src/sys/net/ppp_tty.c,v > retrieving revision 1.41 > diff -u -p -u -r1.41 ppp_tty.c > --- net/ppp_tty.c 21 Dec 2015 21:49:02 -0000 1.41 > +++ net/ppp_tty.c 13 Jan 2016 19:44:53 -0000 > @@ -321,7 +321,7 @@ pppread(struct tty *tp, struct uio *uio, > splx(s); > > for (m = m0; m && uio->uio_resid; m = m->m_next) > - if ((error = uiomovei(mtod(m, u_char *), m->m_len, uio)) != 0) > + if ((error = uiomove(mtod(m, u_char *), m->m_len, uio)) != 0) > break; > m_freem(m0); > return (error); > @@ -336,7 +336,8 @@ pppwrite(struct tty *tp, struct uio *uio > struct ppp_softc *sc = (struct ppp_softc *)tp->t_sc; > struct mbuf *m, *m0, **mp; > struct sockaddr dst; > - int len, error; > + u_int len; > + int error; > > if ((tp->t_state & TS_CARR_ON) == 0 && (tp->t_cflag & CLOCAL) == 0) > return 0; /* wrote 0 bytes */ > @@ -361,7 +362,7 @@ pppwrite(struct tty *tp, struct uio *uio > len = M_TRAILINGSPACE(m); > if (len > uio->uio_resid) > len = uio->uio_resid; > - if ((error = uiomovei(mtod(m, u_char *), len, uio)) != 0) { > + if ((error = uiomove(mtod(m, u_char *), len, uio)) != 0) { > m_freem(m0); > return (error); > } > > cheers, > natano >