PERFORCE change 129047 for review

Zhouyi ZHOU zhouzhouyi at FreeBSD.org
Tue Nov 13 18:45:26 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=129047

Change 129047 by zhouzhouyi at zhouzhouyi_mactest on 2007/11/14 02:44:25

	Reformat the log adapting the MAC Framework change

Affected files ...

.. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactestparser.tab.c#3 edit
.. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactestparser.y#4 edit
.. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#11 edit

Differences ...

==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactestparser.tab.c#3 (text+ko) ====

@@ -52,14 +52,12 @@
    enum yytokentype {
      PID = 258,
      IDENTIFIER = 259,
-     NUM = 260,
-     MAC_TEST = 261
+     NUM = 260
    };
 #endif
 #define PID 258
 #define IDENTIFIER 259
 #define NUM 260
-#define MAC_TEST 261
 
 
 
@@ -114,8 +112,8 @@
 #line 34 "mactestparser.y"
 typedef union {long itype; char * namestring; struct mactestlog_record * mtpipetype; 
  struct labelstrings * lstype; struct modes_or_flags * mftype;} yystype;
-/* Line 188 of /usr/local/share/bison/yacc.c.  */
-#line 119 "mactestparser.tab.c"
+/* Line 193 of /usr/local/share/bison/yacc.c.  */
+#line 117 "mactestparser.tab.c"
 # define YYSTYPE yystype
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
@@ -136,7 +134,7 @@
 
 
 /* Line 213 of /usr/local/share/bison/yacc.c.  */
-#line 140 "mactestparser.tab.c"
+#line 138 "mactestparser.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -234,20 +232,20 @@
 
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  7
-#define YYLAST   31
+#define YYLAST   18
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  11
+#define YYNTOKENS  9
 /* YYNNTS -- Number of nonterminals. */
-#define YYNNTS  11
+#define YYNNTS  8
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  23
+#define YYNRULES  15
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  33
+#define YYNSTATES  22
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   261
+#define YYMAXUTOK   260
 
 #define YYTRANSLATE(X) \
   ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
@@ -256,12 +254,12 @@
 static const unsigned char yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       8,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       7,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,    10,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     9,     2,
-       2,     7,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     8,     2,
+       2,     6,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -281,7 +279,7 @@
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
-       5,     6
+       5
 };
 
 #if YYDEBUG
@@ -289,30 +287,25 @@
    YYRHS.  */
 static const unsigned char yyprhs[] =
 {
-       0,     0,     3,     4,     6,     8,    11,    14,    20,    27,
-      34,    36,    38,    41,    44,    47,    50,    53,    56,    59,
-      62,    65,    67,    69
+       0,     0,     3,     4,     6,     8,    11,    14,    20,    21,
+      30,    32,    34,    37,    40,    42
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const yysigned_char yyrhs[] =
 {
-      12,     0,    -1,    -1,    13,    -1,    14,    -1,    13,    14,
-      -1,    13,     1,    -1,     3,     7,    21,    15,     8,    -1,
-       3,     7,    21,    15,    16,     8,    -1,     3,     7,    21,
-      15,    17,     8,    -1,     8,    -1,    20,    -1,    15,    19,
-      -1,    15,     1,    -1,     9,    19,    -1,    16,    19,    -1,
-      16,     1,    -1,    18,    16,    -1,    10,    19,    -1,    18,
-      19,    -1,    18,     1,    -1,     4,    -1,     6,    -1,     5,
-      -1
+      10,     0,    -1,    -1,    11,    -1,    12,    -1,    11,    12,
+      -1,    11,     1,    -1,     3,     6,    16,    15,     7,    -1,
+      -1,     3,     6,    16,    15,    13,     8,    14,     7,    -1,
+       7,    -1,    15,    -1,    14,    15,    -1,    14,     1,    -1,
+       4,    -1,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned char yyrline[] =
 {
-       0,    53,    53,    55,    59,    61,    62,    65,    67,    69,
-      71,    74,    76,    77,    80,    82,    83,    86,    90,    92,
-      93,    96,    99,   102
+       0,    48,    48,    50,    54,    56,    57,    60,    62,    62,
+      64,    67,    69,    70,    75,    78
 };
 #endif
 
@@ -321,11 +314,9 @@
    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
-  "$end", "error", "$undefined", "PID", "IDENTIFIER", "NUM", "MAC_TEST", 
-  "'='", "'\\n'", "':'", "'#'", "$accept", "program", 
-  "mactestlog_records", "mactestlog_record", "hook_elements", 
-  "label_elements", "modflag_and_label_elements", "modflag_elements", 
-  "identifier", "mac_test", "pid", 0
+  "$end", "error", "$undefined", "PID", "IDENTIFIER", "NUM", "'='", "'\\n'", 
+  "':'", "$accept", "program", "mactestlog_records", "mactestlog_record", 
+  "@1", "label_elements", "identifier", "pid", 0
 };
 #endif
 
@@ -334,25 +325,22 @@
    token YYLEX-NUM.  */
 static const unsigned short yytoknum[] =
 {
-       0,   256,   257,   258,   259,   260,   261,    61,    10,    58,
-      35
+       0,   256,   257,   258,   259,   260,    61,    10,    58
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,    11,    12,    12,    13,    13,    13,    14,    14,    14,
-      14,    15,    15,    15,    16,    16,    16,    17,    18,    18,
-      18,    19,    20,    21
+       0,     9,    10,    10,    11,    11,    11,    12,    13,    12,
+      12,    14,    14,    14,    15,    16
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const unsigned char yyr2[] =
 {
-       0,     2,     0,     1,     1,     2,     2,     5,     6,     6,
-       1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     1,     1,     1
+       0,     2,     0,     1,     1,     2,     2,     5,     0,     8,
+       1,     1,     2,     2,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -361,65 +349,56 @@
 static const unsigned char yydefact[] =
 {
        2,     0,    10,     0,     0,     4,     0,     1,     6,     5,
-      23,     0,    22,     0,    11,    13,    21,     7,     0,     0,
-       0,     0,     0,    12,    14,    18,    16,     8,    15,     9,
-      20,     0,    19
+      15,     0,    14,     8,     7,     0,     0,     0,    11,    13,
+       9,    12
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const yysigned_char yydefgoto[] =
 {
-      -1,     3,     4,     5,    13,    20,    21,    22,    28,    14,
-      11
+      -1,     3,     4,     5,    15,    17,    13,    11
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -9
+#define YYPACT_NINF -6
 static const yysigned_char yypact[] =
 {
-      -2,    -5,    -9,     4,    12,    -9,    23,    -9,    -9,    -9,
-      -9,    11,    -9,    -1,    -9,    -9,    -9,    -9,    18,    18,
-      17,    19,    15,    -9,    -9,    -9,    -9,    -9,    -9,    -9,
-      -9,    22,    -9
+       3,    -2,    -6,     9,     0,    -6,     8,    -6,    -6,    -6,
+      -6,    10,    -6,    11,    -6,     7,    10,     1,    -6,    -6,
+      -6,    -6
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yysigned_char yypgoto[] =
 {
-      -9,    -9,    -9,    25,    -9,     9,    -9,    -9,    -8,    -9,
-      -9
+      -6,    -6,    -6,    12,    -6,    -6,    -5,    -6
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, parse error.  */
-#define YYTABLE_NINF -18
+#define YYTABLE_NINF -4
 static const yysigned_char yytable[] =
 {
-      15,     1,     6,    16,     7,    23,     2,    17,    18,    19,
-      24,    25,    -3,     8,    32,     1,    30,    12,    26,    16,
-       2,    16,    16,    26,    18,    27,    16,    29,    10,     9,
-     -17,    31
+      -3,     8,    19,     1,     6,    12,     1,     2,    20,     7,
+       2,    18,    21,    10,    12,    16,     9,     0,    14
 };
 
-static const unsigned char yycheck[] =
+static const yysigned_char yycheck[] =
 {
-       1,     3,     7,     4,     0,    13,     8,     8,     9,    10,
-      18,    19,     0,     1,    22,     3,     1,     6,     1,     4,
-       8,     4,     4,     1,     9,     8,     4,     8,     5,     4,
-       8,    22
+       0,     1,     1,     3,     6,     4,     3,     7,     7,     0,
+       7,    16,    17,     5,     4,     8,     4,    -1,     7
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,     3,     8,    12,    13,    14,     7,     0,     1,    14,
-       5,    21,     6,    15,    20,     1,     4,     8,     9,    10,
-      16,    17,    18,    19,    19,    19,     1,     8,    19,     8,
-       1,    16,    19
+       0,     3,     7,    10,    11,    12,     6,     0,     1,    12,
+       5,    16,     4,    15,     7,    13,     8,    14,    15,     1,
+       7,    15
 };
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
@@ -970,79 +949,53 @@
   switch (yyn)
     {
         case 4:
-#line 60 "mactestparser.y"
+#line 55 "mactestparser.y"
     {inserttail_mactestlog_record_chain(yyvsp[0].mtpipetype);}
     break;
 
   case 5:
-#line 61 "mactestparser.y"
+#line 56 "mactestparser.y"
     {inserttail_mactestlog_record_chain(yyvsp[0].mtpipetype);}
     break;
 
   case 7:
-#line 66 "mactestparser.y"
+#line 61 "mactestparser.y"
     {yyval.mtpipetype = new_mactestlog_record(strdup(yyvsp[-1].namestring), yyvsp[-2].itype);}
     break;
 
   case 8:
-#line 67 "mactestparser.y"
-    {
-		yyval.mtpipetype = new_mactestlog_record(stringsave, yyvsp[-3].itype);stringsave = 0;}
+#line 62 "mactestparser.y"
+    {stringsave = strdup(yyvsp[0].namestring);}
     break;
 
   case 9:
-#line 69 "mactestparser.y"
+#line 62 "mactestparser.y"
     {
-		yyval.mtpipetype = new_mactestlog_record(stringsave, yyvsp[-3].itype);stringsave = 0;}
+		yyval.mtpipetype = new_mactestlog_record(stringsave, yyvsp[-5].itype);stringsave = 0;}
     break;
 
   case 10:
-#line 71 "mactestparser.y"
+#line 64 "mactestparser.y"
     {yyval.mtpipetype = 0;}
     break;
 
   case 11:
-#line 75 "mactestparser.y"
-    {stringsave = strdup(yyvsp[0].namestring);}
+#line 68 "mactestparser.y"
+    { new_labelstrings(strdup(yyvsp[0].namestring));}
     break;
 
   case 12:
-#line 76 "mactestparser.y"
-    {}
+#line 69 "mactestparser.y"
+    { new_labelstrings(strdup(yyvsp[0].namestring));}
     break;
 
   case 14:
-#line 81 "mactestparser.y"
-    { new_labelstrings(strdup(yyvsp[0].namestring));}
+#line 76 "mactestparser.y"
+    {}
     break;
 
   case 15:
-#line 82 "mactestparser.y"
-    { new_labelstrings(strdup(yyvsp[0].namestring));}
-    break;
-
-  case 18:
-#line 91 "mactestparser.y"
-    { new_modes_or_flags(strdup(yyvsp[0].namestring));}
-    break;
-
-  case 19:
-#line 92 "mactestparser.y"
-    { new_modes_or_flags(strdup(yyvsp[0].namestring));}
-    break;
-
-  case 21:
-#line 97 "mactestparser.y"
-    {}
-    break;
-
-  case 22:
-#line 100 "mactestparser.y"
-    {}
-    break;
-
-  case 23:
-#line 103 "mactestparser.y"
+#line 79 "mactestparser.y"
     {}
     break;
 
@@ -1050,7 +1003,7 @@
     }
 
 /* Line 1016 of /usr/local/share/bison/yacc.c.  */
-#line 1054 "mactestparser.tab.c"
+#line 1007 "mactestparser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1269,7 +1222,7 @@
 }
 
 
-#line 108 "mactestparser.y"
+#line 84 "mactestparser.y"
 
 
 int
@@ -1370,8 +1323,6 @@
 	if (!strcmp(buf, "="))
 		return '=';
 	
-	if (!strncmp(buf, "mac_test", 8))
-		return MAC_TEST;
        return IDENTIFIER;
 }
 
@@ -1391,7 +1342,6 @@
 	new->labelstring = labelstring;
 	new->next = 0;
 	new->prev = 0;
-
 	if (labelstring_chain == 0){
 		labelstring_chain = new;
 		return;

==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mactestparser.y#4 (text+ko) ====

@@ -37,15 +37,10 @@
 %token PID
 %token IDENTIFIER
 %token NUM
-%token MAC_TEST
 %type <namestring> identifier 
-%type <namestring> mac_test
 %type <mtpipetype> mactestlog_records
 %type <mtpipetype> mactestlog_record
-%type <namestring> hook_elements
 %type <itype> label_elements
-%type <itype> modflag_elements
-%type <itype> modflag_and_label_elements
 %type <itype> pid
 %% /* Grammar rules and actions follow.  */
 
@@ -63,42 +58,23 @@
         ;
 
 mactestlog_record:
-	PID '=' pid hook_elements '\n' {$$ = new_mactestlog_record(strdup($4), $3);}
-	|PID '=' pid hook_elements  label_elements '\n' {
+	PID '=' pid identifier '\n' {$$ = new_mactestlog_record(strdup($4), $3);}
+	|PID '=' pid identifier {stringsave = strdup($4);} ':' label_elements '\n' {
 		$$ = new_mactestlog_record(stringsave, $3);stringsave = 0;}
-	|PID '=' pid hook_elements   modflag_and_label_elements '\n' {
-		$$ = new_mactestlog_record(stringsave, $3);stringsave = 0;}
 	|'\n' {$$ = 0;}
 	;
 
-hook_elements:
-	mac_test {stringsave = strdup($1);}
-	|hook_elements identifier {}
-	|hook_elements error
-	;
-
 label_elements:
-	':' identifier { new_labelstrings(strdup($2));}
+	identifier { new_labelstrings(strdup($1));}
 	|label_elements identifier { new_labelstrings(strdup($2));}
 	|label_elements error
 	;
 
-modflag_and_label_elements:
-	modflag_elements label_elements
-	;
 
-modflag_elements:
-	'#' identifier { new_modes_or_flags(strdup($2));}
-	|modflag_elements identifier { new_modes_or_flags(strdup($2));}
-	|modflag_elements error
-	;
 
 identifier:
        IDENTIFIER {}
       ;
-mac_test:
-	MAC_TEST {}
-      ;
 pid:
        NUM {} 
       ;
@@ -205,8 +181,6 @@
 	if (!strcmp(buf, "="))
 		return '=';
 	
-	if (!strncmp(buf, "mac_test", 8))
-		return MAC_TEST;
        return IDENTIFIER;
 }
 
@@ -226,7 +200,6 @@
 	new->labelstring = labelstring;
 	new->next = 0;
 	new->prev = 0;
-
 	if (labelstring_chain == 0){
 		labelstring_chain = new;
 		return;

==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#11 (text+ko) ====

@@ -118,14 +118,18 @@
 	char *currentchar;						\
 	char *element1;							\
 	char *buffer1;							\
+	char *submitbuffer;						\
+	int havelabel = 0;						\
 	int error;							\
 	struct thread *td1 = curthread;					\
 	volatile int badmem = 0;					\
 	error = 0;							\
-	buffer = malloc(1024, M_MAC_TEST_LOG, M_NOWAIT);		\
+	buffer = malloc(2048, M_MAC_TEST_LOG, M_NOWAIT);		\
 	if (!buffer)							\
 		badmem = 1;						\
+	bzero(buffer, 2048);						\
 	element1 = buffer + 512; buffer1 = element1 + 256;		\
+	submitbuffer = buffer + 1024;					\
 	/*element1 and buffer1 will not be used if badmem == 1*/	\
 	currentchar = buffer;						
 
@@ -137,10 +141,13 @@
 #define	COUNTER_INC(variable)	do {					\
 	atomic_add_int(&counter_##variable, 1);				\
 	if (!badmem) {							\
-		strcpy(currentchar, #variable);				\
-		currentchar += strlen(currentchar);			\
-		sprintf(currentchar, "#pid = %d\n", td1->td_proc->p_pid);\
-		mac_test_log_submit(buffer, strlen(buffer));		\
+		if (havelabel)						\
+			sprintf(submitbuffer,"pid = %d %s:%s\n",	\
+				td1->td_proc->p_pid, #variable, buffer);\
+		else							\
+			sprintf(submitbuffer,"pid = %d %s\n",		\
+				td1->td_proc->p_pid, #variable);	\
+		mac_test_log_submit(submitbuffer, strlen(submitbuffer));\
 		free(buffer, M_MAC_TEST_LOG);				\
 	}								\
 } while (0)
@@ -167,6 +174,7 @@
 			strcpy(buffer1,"NULL");				\
 		sprintf(currentchar, "%s ", buffer1);			\
 		currentchar += strlen(currentchar);			\
+		havelabel = 1;						\
 	}								\
 } while (0)
 


More information about the p4-projects mailing list