Index: sys_generic.c =================================================================== RCS file: /cvs/src/sys/kern/sys_generic.c,v retrieving revision 1.93 diff -u -p -r1.93 sys_generic.c --- sys_generic.c 13 Oct 2014 03:21:18 -0000 1.93 +++ sys_generic.c 13 Oct 2014 03:26:41 -0000 @@ -212,13 +212,13 @@ dofilereadv(struct proc *p, int fd, stru if (ktriov != NULL) { if (error == 0) ktrgenio(p, fd, UIO_READ, ktriov, cnt); - free(ktriov, M_TEMP, 0); + free(ktriov, M_TEMP, iovlen); } #endif *retval = cnt; done: if (needfree) - free(needfree, M_IOV, 0); + free(needfree, M_IOV, iovlen); out: FRELE(fp, p); return (error); @@ -368,13 +368,13 @@ dofilewritev(struct proc *p, int fd, str if (ktriov != NULL) { if (error == 0) ktrgenio(p, fd, UIO_WRITE, ktriov, cnt); - free(ktriov, M_TEMP, 0); + free(ktriov, M_TEMP, iovlen); } #endif *retval = cnt; done: if (needfree) - free(needfree, M_IOV, 0); + free(needfree, M_IOV, iovlen); out: FRELE(fp, p); return (error); @@ -518,7 +518,7 @@ sys_ioctl(struct proc *p, void *v, regis out: FRELE(fp, p); if (memp) - free(memp, M_IOCTLOPS, 0); + free(memp, M_IOCTLOPS, size); return (error); } @@ -711,7 +711,7 @@ done: } if (pibits[0] != (fd_set *)&bits[0]) - free(pibits[0], M_TEMP, 0); + free(pibits[0], M_TEMP, ni * 6); return (error); } @@ -1013,7 +1013,7 @@ done: } bad: if (pl != pfds) - free(pl, M_TEMP, 0); + free(pl, M_TEMP, sz); return (error); }