From owner-freebsd-current Sat May 16 01:29:45 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA15258 for freebsd-current-outgoing; Sat, 16 May 1998 01:29:45 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA15253; Sat, 16 May 1998 01:29:40 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.8.8/8.8.8/Spinner) with ESMTP id QAA29907; Sat, 16 May 1998 16:29:33 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199805160829.QAA29907@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: dyson@FreeBSD.ORG cc: kkennawa@physics.adelaide.edu.au (Kris Kennaway), current@FreeBSD.ORG Subject: Re: libc corruption In-reply-to: Your message of "Fri, 15 May 1998 15:35:38 EST." <199805152035.PAA03073@dyson.iquest.net> Date: Sat, 16 May 1998 16:29:32 +0800 From: Peter Wemm Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG "John S. Dyson" wrote: > Kris Kennaway said: > > [morden|root] 23:39 ~/trash strings libc.a | grep SYS > > SYS_nlstat > > SYS_nfstat > > SYS_nstat > > SYS_netbsd_msync > > SYS_lutimes > > SYS_netbsd_lchown > > SYS_lchmod > > SYS_getdents > > SYS_futimes > > > > (~/trash holds the corrupted version) > > > > I cant seem to find these symbols defined anywhere in the > > /usr/src/lib/libc tree - any ideas where they came from? Anyone want to > > take a look at the strange library? :-) I'm running softupdates on this > > partition - it's possible there was some kind of corruption there. > > > Those are symbols created from the kernel list of system calls. It's times like this that I'd really like to have a *seperate* list of syscalls and numbers stored in lib/libc explicitly. I've blown holes in my feet over this so many times that I don't have much of my feet left. :-] This will also insulate libc a little more from kernel syscall fiddling. I think the extra work in adding syscalls would be well worth it in return for the extra safety. It should be possible to roll kernel sources backwards and forwards without ending up with accidental libc symbol changes. To make it a little easier, perhaps have libc's syscall tables explicitly generated from the kernel sources and committed. That should make it a no-brainer to keep them in sync and yet will stop accidental leakage from the kernel into libc. Cheers, -Peter -- Peter Wemm Netplex Consulting To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message