Subject: Re: Veriexec broken on amd64?
To: Scott Ellis <scotte@warped.com>
From: Brett Lymn <blymn@baesystems.com.au>
List: current-users
Date: 02/11/2007 22:03:48
--LZvS9be/3tNcYl/X
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sat, Feb 10, 2007 at 10:21:53AM -0800, Scott Ellis wrote:
> 
> I can't get a crashdump in my current configuration (RAIDFrame, and I 
> don't like the 'overlapping partitions' dance),

that's fine - it was why I said "if you can" :)

> but I was able to get a 
> backtrace:
> 

Which helped a lot, thanks.  Can you try the attached patch and see if
it fixes your problem?

-- 
Brett Lymn

--LZvS9be/3tNcYl/X
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="veriexec.diff"

Index: kern_verifiedexec.c
===================================================================
RCS file: /usr/cvs/src/sys/kern/kern_verifiedexec.c,v
retrieving revision 1.95
diff -u -p -r1.95 kern_verifiedexec.c
--- kern_verifiedexec.c	6 Feb 2007 01:09:48 -0000	1.95
+++ kern_verifiedexec.c	9 Feb 2007 14:28:10 -0000
@@ -818,19 +818,21 @@ veriexec_clear(void *data)
  * Invalidate a Veriexec file entry.
  * XXX: This should be updated when per-page fingerprints are added.
  */
-void
-veriexec_purge(struct vnode *vp)
+static void
+veriexec_file_purge(struct veriexec_file_entry *vfe)
 {
-	struct veriexec_file_entry *vfe;
-
-	vfe = veriexec_get(vp);
-
 	if (vfe == NULL)
 		return;
 
 	vfe->status = FINGERPRINT_NOTEVAL;
 }
 
+void
+veriexec_purge(struct vnode *vp)
+{
+	veriexec_file_purge(veriexec_get(vp));
+}
+
 /*
  * Enforce raw disk access policy.
  *

--LZvS9be/3tNcYl/X--