Subject: sysctl coremap/swapmap retrieval error Index: src/sys/sys/kern_sysctl.c Description: The change to kern_sysctl.c in patch #463 had been corrupted in reception. This meant that the .m_map part was not applied. Repeat-By: Attempt to read either the coremap or swapmap using sysctl(3). The attempt will fail because an invalid address is being used in the kernel Fix: Rather than quietly edit the already existing patch 463 a new 'emergency' patch #464 is being issued. Problem of course with revising a published patch is some downloads may have already happened. Cut where indicated and save to a file (/tmp/464) and then: cd / patch -p0 < /tmp/464 recompile & install your kernel(s) This and previous updates to 2.11BSD are available at the following locations: ftp://ftp.update.uu.se/pub/pdp11/2.11BSD https://www.tuhs.org/Archive/Distributions/UCB/2.11BSD/Patches/ ftp://ftp.2bsd.com/2.11BSD ---------------------------cut here-------------------- *** ./VERSION.old Tue Mar 3 10:12:39 2020 --- ./VERSION Thu Mar 5 20:57:06 2020 *************** *** 1,5 **** ! Current Patch Level: 463 ! Date: March 3, 2020 2.11 BSD ============ --- 1,5 ---- ! Current Patch Level: 464 ! Date: March 5, 2020 2.11 BSD ============ *** ./usr/src/sys/sys/kern_sysctl.c.old Tue Mar 3 09:02:29 2020 --- ./usr/src/sys/sys/kern_sysctl.c Thu Mar 5 22:10:34 2020 *************** *** 33,39 **** * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ! * @(#)kern_sysctl.c 8.5 (2.11BSD) 2020/3/2 */ /* --- 33,39 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ! * @(#)kern_sysctl.c 8.6 (2.11BSD) 2020/3/5 */ /* *************** *** 454,460 **** (char *)swapmap[0].m_map; return(0); } ! return (sysctl_rdstruct(oldp, oldlenp, newp, swapmap[0], (int)swapmap[0].m_limit - (int)swapmap[0].m_map)); case VM_COREMAP: if (oldp == NULL) { --- 454,460 ---- (char *)swapmap[0].m_map; return(0); } ! return (sysctl_rdstruct(oldp, oldlenp, newp, swapmap[0].m_map, (int)swapmap[0].m_limit - (int)swapmap[0].m_map)); case VM_COREMAP: if (oldp == NULL) { *************** *** 462,468 **** (char *)coremap[0].m_map; return(0); } ! return (sysctl_rdstruct(oldp, oldlenp, newp, coremap[0], (int)coremap[0].m_limit - (int)coremap[0].m_map)); case VM_NSWAP: return (sysctl_rdint(oldp, oldlenp, newp, nswap)); --- 462,468 ---- (char *)coremap[0].m_map; return(0); } ! return (sysctl_rdstruct(oldp, oldlenp, newp, coremap[0].m_map, (int)coremap[0].m_limit - (int)coremap[0].m_map)); case VM_NSWAP: return (sysctl_rdint(oldp, oldlenp, newp, nswap));