PERFORCE change 893249 for review

Robert Watson rwatson at FreeBSD.org
Sun Sep 29 14:06:47 UTC 2013


http://p4web.freebsd.org/@@893249?ac=10

Change 893249 by rwatson at rwatson_zenith_cl_cam_ac_uk on 2013/09/29 14:06:40

	Add an additional NULL-pointer derefence command to cheritest,
	since we appear to have an issue with kernel stack corruption
	visible only in the handler for invalid TLB entries, triggered
	by excessively imaginative pointer dereferences.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#23 edit

Differences ...

==== //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#23 (text+ko) ====

@@ -74,6 +74,7 @@
 	fprintf(stderr, "cheritest listcausereg\n");
 	fprintf(stderr, "cheritest listprivregs\n");
 	fprintf(stderr, "cheritest listregs\n");
+	fprintf(stderr, "cheritest nullderef\n");
 	fprintf(stderr, "cheritest overrun\n");
 	fprintf(stderr, "cheritest sandbox\n");
 	fprintf(stderr, "cheritest sandbox_invoke_abort\n");
@@ -221,6 +222,16 @@
 }
 
 static void
+cheritest_nullderef(void)
+{
+	int *p, v;
+
+	p = NULL;
+	v = *p;
+	printf("%d\n", v);
+}
+
+static void
 cheritest_sandbox(void)
 {
 
@@ -340,6 +351,8 @@
 			cheritest_copyregs();
 		else if (strcmp(argv[i], "creturn") == 0)
 			cheritest_creturn();
+		else if (strcmp(argv[i], "nullderef") == 0)
+			cheritest_nullderef();
 		else if (strcmp(argv[i], "overrun") == 0)
 			cheritest_overrun();
 		else if (strcmp(argv[i], "sandbox") == 0)


More information about the p4-projects mailing list