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