Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!sdd.hp.com!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!att!cbnewsi!jogle From: jogle@cbnewsi.att.com (jogle) Newsgroups: comp.os.mach Subject: Mach 2.5 bug using ARP Message-ID: <1990Aug15.183950.12462@cbnewsi.att.com> Date: 15 Aug 90 18:39:50 GMT Organization: trapped in a glass guitar Lines: 53 ********************************************************************** I'm posting this for my brother. Please reply to the address below, although, if you do reply to me I will forward it to him. ********************************************************************** We have a Sun 3/60 running Mach 2.5 here at GE's Advanced Technology Labs. While executing the command: arp -s The kernel bombed, resulting in a bus error trap in the arpioctl subroutine. The command was supposed to put the - pair for the host in the arptable in the kernel. Upon further investigation, the following bug was discovered in the kernel sources (/usr/build/src/kernel/netinet/if_ether.c): arpioctl(cmd,data) int cmd; caddr_t data; { register struct arptab *at; register struct sockaddr_in *sin; . . . if (at == NULL) { at = arptnew(at->at_if,&sin->sin_addr); . . . } . . . } Essentially, you are referencing at->at_if through a NULL pointer. Has anybody encountered this before? Can any of the Mach Gods in CMU reccommend a "proper" fix for it? I have patched up the code by passing in 0 instead of at->at_if (essentially at_if is not being used by ARP at this time), but I might not be thinking along the same wavelength as the original implememtors. Tom Geigel tgeigel@atl.dnet.ge.com (609)866-6624