Patches for FreeBS 4.4-STABLE as of last night's cvsup

Sean Levy snl at cert.org
Sat Nov 3 18:28:21 CET 2001


On Fri, Nov 02, 2001 at 08:57:19PM +0100, Andrea Campi wrote:
> Date: Fri, 2 Nov 2001 20:57:19 +0100
> From: Andrea Campi <andrea at webcom.it>
> To: assar at freebsd.org
> Cc: Sean Levy <snl at cert.org>
> Subject: Re: Patches for FreeBS 4.4-STABLE as of last night's cvsup
> User-Agent: Mutt/1.2.5i
> In-Reply-To: <20011031144627.B21624 at cert.org>; from snl at cert.org on Wed, Oct 31, 2001 at 02:46:28PM -0500
> X-Echelon: BND CIA NSA Mossad KGB MI6 IRA detonator nuclear assault strike
> 
> Yes, this is the correct patch, and it should be applied for -current, too. I
> was going to send it to assar@, too, but I wanted to check it better on
> -current. However, if it applies to -stable, I think it should be committed
> ASAP.

There was actually a flaw in my patch.  The AFS_SYSCALL stuff I did
was wrong, I believe (the last part of the patch).  I backed it out in
my copy and recompiled and it's fine under 4.4-STABLE.  Also,
krbafs-0.9.8 did not have an #ifdef for __FreeBSD__ in afssysdefs.h,
which was causing klog etc (anything that called k_hasafs()) to bomb
out thinking that there was no AFS on the machine; I patched my copy
of krbafs-0.9.8 and submitted the patch to Derrick Brashear.  Ask me
if you want it, but it's small and obvious.

							--S

> 
> Bye,
> 	Andrea
> 
> On Wed, Oct 31, 2001 at 02:46:28PM -0500, Sean Levy wrote:
> > Hi, I just cvsup'ed myself to -STABLE and tried to install arla from
> > ports.  It failed because it appears a couple kernel data structures
> > have changed from lists to tail queues, and a couple struct members
> > changed names subtly.  Also, AFS_SYSCALL looked like it was going to
> > get defined twice (incompatibly) the way things were, so I added an
> > #ifndef as well to fix that.  I cussed at the source for about half an
> > hour, and got it to compile and work without incident (tested VERY
> > lightly).  I'm appending the context diffs below my .sig.  Hope this
> > helps someone in some small way (I searched google for mention of this
> > problem and found nothing).
> > 
> > Pax,
> >                                                                       --S
> > --
> > Sean Levy | CERT/CC | snl at cert.org | 412.268.9128 | GPG Key on Keyservers
> >                         0ABC F4FD 97C5 848B 1F00 FD90 BF30 FE8B AB5B 0D4B
> >         He who knows does not talk / He who talks does not know --Lao Tsu
> > 
> > ============< Context Diffs Follow >========================================
> > diff -cr arla-0.35.6/xfs/bsd/xfs_message.c arla-0.35.6-patched/xfs/bsd/xfs_message.c
> > *** arla-0.35.6/xfs/bsd/xfs_message.c	Fri Apr 27 19:43:05 2001
> > --- arla-0.35.6-patched/xfs/bsd/xfs_message.c	Wed Oct 31 14:13:42 2001
> > ***************
> > *** 464,474 ****
> >   	/* XXX see comment in xfs_node_find */
> >   	/* XXXSMP do gone[l] need to get mntvnode_slock ? */
> >   
> > ! 	for(vp = XFS_TO_VFS(&xfs[fd])->mnt_vnodelist.lh_first;
> >   	    vp != NULL; 
> >   	    vp = next) {
> >   
> > ! 	    next = vp->v_mntvnodes.le_next;
> >   	    gc_vnode (vp, p);
> >   	}
> >       } else {
> > --- 464,474 ----
> >   	/* XXX see comment in xfs_node_find */
> >   	/* XXXSMP do gone[l] need to get mntvnode_slock ? */
> >   
> > ! 	for(vp = XFS_TO_VFS(&xfs[fd])->mnt_nvnodelist.tqh_first;
> >   	    vp != NULL; 
> >   	    vp = next) {
> >   
> > ! 	    next = vp->v_nmntvnodes.tqe_next;
> >   	    gc_vnode (vp, p);
> >   	}
> >       } else {
> > diff -cr arla-0.35.6/xfs/bsd/xfs_node-bsd.c arla-0.35.6-patched/xfs/bsd/xfs_node-bsd.c
> > *** arla-0.35.6/xfs/bsd/xfs_node-bsd.c	Sun Sep 16 21:57:20 2001
> > --- arla-0.35.6-patched/xfs/bsd/xfs_node-bsd.c	Wed Oct 31 14:19:41 2001
> > ***************
> > *** 272,280 ****
> >        *       on FreeBSD once.
> >        */
> >   
> > !     for(t = XFS_TO_VFS(xfsp)->mnt_vnodelist.lh_first;
> >   	t != NULL; 
> > ! 	t = t->v_mntvnodes.le_next) {
> >   	xn = VNODE_TO_XNODE(t);
> >   	if (xn && xfs_handle_eq(&xn->handle, handlep))
> >   	    break;
> > --- 272,280 ----
> >        *       on FreeBSD once.
> >        */
> >   
> > !     for(t = XFS_TO_VFS(xfsp)->mnt_nvnodelist.tqh_first;
> >   	t != NULL; 
> > ! 	t = t->v_nmntvnodes.tqe_next) {
> >   	xn = VNODE_TO_XNODE(t);
> >   	if (xn && xfs_handle_eq(&xn->handle, handlep))
> >   	    break;
> > diff -cr arla-0.35.6/xfs/bsd/xfs_wrap-bsd.c arla-0.35.6-patched/xfs/bsd/xfs_wrap-bsd.c
> > *** arla-0.35.6/xfs/bsd/xfs_wrap-bsd.c	Mon Oct  2 19:33:47 2000
> > --- arla-0.35.6-patched/xfs/bsd/xfs_wrap-bsd.c	Wed Oct 31 14:15:08 2001
> > ***************
> > *** 182,188 ****
> > --- 182,190 ----
> >   #endif /* DECLARE_MODULE */
> >   
> >   #ifdef SYSCALL_MODULE
> > + #ifndef AFS_SYSCALL
> >   #define AFS_SYSCALL 210 /* XXX */
> > + #endif
> >   int xfs_syscall_num = AFS_SYSCALL;
> >   SYSCALL_MODULE(xfs_syscall, &xfs_syscall_num, &xfs_syscallent, NULL, NULL);
> >   #endif /* SYSCALL_MODULE */
> > 
> [-- Error: could not find beginning of PGP message! --]
> 
> 
> -- 
>                   Weird enough for government work.
--
Sean Levy | CERT/CC | snl at cert.org | 412.268.9128 | GPG Key on Keyservers
                        0ABC F4FD 97C5 848B 1F00 FD90 BF30 FE8B AB5B 0D4B
        He who knows does not talk / He who talks does not know --Lao Tsu






More information about the Arla-drinkers mailing list