On Sun, Nov 03, 2013 at 10:51:43PM -0500, Brad Smith wrote:
> LLVM errors out on the i2o code with the following warning..
>
> ../../../../dev/i2o/iop.c:2399:42: error: comparison of unsigned expression <
> 0 is always false [-Werror,-Wtautological-compare]
> pt->pt_nbufs < 0 || pt->pt_replylen < 0 ||
> ~~~~~~~~~~~~~~~ ^ ~
>
> Looking at the i2o code it looks as if the pt_replylen field isn't set
> anywhere and
> doesn't do anything. It looks like it can be garbage collected.
>
> Comments? OK?
When WikiPedia describes i2o as a "defunct computer input/output
specification" whose SIG was "open-source hostile" (and was disbanded
in 2000), and which was implemented on only "a few server class
machines", it is perhaps past time we lightened the kernel a bit.
:-)
.... Ken
>
>
> Index: iop.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/i2o/iop.c,v
> retrieving revision 1.38
> diff -u -p -r1.38 iop.c
> --- iop.c 30 May 2013 16:15:02 -0000 1.38
> +++ iop.c 4 Nov 2013 03:13:45 -0000
> @@ -2396,8 +2396,9 @@ iop_passthrough(struct iop_softc *sc, st
> pt->pt_msglen > (letoh16(sc->sc_status.inboundmframesize) << 2) ||
> pt->pt_msglen < sizeof(struct i2o_msg) ||
> pt->pt_nbufs > IOP_MAX_MSG_XFERS ||
> - pt->pt_nbufs < 0 || pt->pt_replylen < 0 ||
> - pt->pt_timo < 1000 || pt->pt_timo > 5*60*1000)
> + pt->pt_nbufs < 0 ||
> + pt->pt_timo < 1000 ||
> + pt->pt_timo > 5*60*1000)
> return (EINVAL);
>
> for (i = 0; i < pt->pt_nbufs; i++)
> @@ -2446,8 +2447,6 @@ iop_passthrough(struct iop_softc *sc, st
> i = (letoh32(im->im_rb->msgflags) >> 14) & ~3;
> if (i > IOP_MAX_MSG_SIZE)
> i = IOP_MAX_MSG_SIZE;
> - if (i > pt->pt_replylen)
> - i = pt->pt_replylen;
> if ((rv = copyout(im->im_rb, pt->pt_reply, i)) != 0)
> goto bad;
>
> Index: iopio.h
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/i2o/iopio.h,v
> retrieving revision 1.2
> diff -u -p -r1.2 iopio.h
> --- iopio.h 26 Jun 2008 05:42:15 -0000 1.2
> +++ iopio.h 4 Nov 2013 03:14:02 -0000
> @@ -57,7 +57,6 @@ struct ioppt {
> void *pt_msg; /* pointer to message buffer */
> size_t pt_msglen; /* message buffer size in bytes */
> void *pt_reply; /* pointer to reply buffer */
> - size_t pt_replylen; /* reply buffer size in bytes */
> int pt_timo; /* completion timeout in ms */
> int pt_nbufs; /* number of transfers */
> struct ioppt_buf pt_bufs[IOP_MAX_MSG_XFERS]; /* transfers */
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>