tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git devel head: 0b26b00ec3cad5da97c5ad3097405d522e2ccea4 commit: 0b26b00ec3cad5da97c5ad3097405d522e2ccea4 [48/48] tracing: drop handling of NOTRACE symbol config: x86_64-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 0b26b00ec3cad5da97c5ad3097405d522e2ccea4 # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): >> kernel/trace/trace_events_filter.c:2098:44: error: field 'rec' has incomplete type struct trace_event_raw_ftrace_test_filter rec; ^~~ >> kernel/trace/trace_events_filter.c:2088:14: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:14: note: (near initialization for 'test_filter_data[0].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: note: (near initialization for 'test_filter_data[0].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: note: (near initialization for 'test_filter_data[0].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: note: (near initialization for 'test_filter_data[0].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: note: (near initialization for 'test_filter_data[0].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: note: (near initialization for 'test_filter_data[0].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: note: (near initialization for 'test_filter_data[0].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: note: (near initialization for 'test_filter_data[0].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ >> kernel/trace/trace_events_filter.c:2104:2: note: in expansion of macro 'DATA_REC' DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), ^~~~~~~~ >> kernel/trace/trace_events_filter.c:2088:14: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:14: note: (near initialization for 'test_filter_data[1].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: note: (near initialization for 'test_filter_data[1].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: note: (near initialization for 'test_filter_data[1].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: note: (near initialization for 'test_filter_data[1].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: note: (near initialization for 'test_filter_data[1].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: note: (near initialization for 'test_filter_data[1].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: note: (near initialization for 'test_filter_data[1].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: note: (near initialization for 'test_filter_data[1].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2105:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), ^~~~~~~~ >> kernel/trace/trace_events_filter.c:2088:14: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:14: note: (near initialization for 'test_filter_data[2].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:23: note: (near initialization for 'test_filter_data[2].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:32: note: (near initialization for 'test_filter_data[2].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: error: field name not in record or union initializer .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2088:41: note: (near initialization for 'test_filter_data[2].rec') .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:7: note: (near initialization for 'test_filter_data[2].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:16: note: (near initialization for 'test_filter_data[2].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:25: note: (near initialization for 'test_filter_data[2].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: error: field name not in record or union initializer .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ kernel/trace/trace_events_filter.c:2089:34: note: (near initialization for 'test_filter_data[2].rec') .e = ve, .f = vf, .g = vg, .h = vh }, \ ^ kernel/trace/trace_events_filter.c:2106:2: note: in expansion of macro 'DATA_REC' DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), ^~~~~~~~ sparse warnings: (new ones prefixed by >>) kernel/trace/trace_events_filter.c:964:20: expected struct event_filter * kernel/trace/trace_events_filter.c:964:20: got struct event_filter [noderef] <asn:4>*filter kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2104:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2105:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2106:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2110:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2111:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2112:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2116:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2117:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2118:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2119:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2123:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2124:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2125:9: sparse: unknown field name in initializer kernel/trace/trace_events_filter.c:2125:9: sparse: unknown field name in initializer >> kernel/trace/trace_events_filter.c:2125:9: sparse: too many errors include/linux/slab.h:666:13: sparse: call with no type! >> kernel/trace/trace_events_filter.c:2205:36: sparse: call with no type! vim +/rec +2098 kernel/trace/trace_events_filter.c 1d0e78e3 Jiri Olsa 2011-08-11 2084 1d0e78e3 Jiri Olsa 2011-08-11 2085 #define DATA_REC(m, va, vb, vc, vd, ve, vf, vg, vh, nvisit) \ 1d0e78e3 Jiri Olsa 2011-08-11 2086 { \ 1d0e78e3 Jiri Olsa 2011-08-11 2087 .filter = FILTER, \ 1d0e78e3 Jiri Olsa 2011-08-11 @2088 .rec = { .a = va, .b = vb, .c = vc, .d = vd, \ 1d0e78e3 Jiri Olsa 2011-08-11 @2089 .e = ve, .f = vf, .g = vg, .h = vh }, \ 1d0e78e3 Jiri Olsa 2011-08-11 2090 .match = m, \ 1d0e78e3 Jiri Olsa 2011-08-11 2091 .not_visited = nvisit, \ 1d0e78e3 Jiri Olsa 2011-08-11 2092 } 1d0e78e3 Jiri Olsa 2011-08-11 2093 #define YES 1 1d0e78e3 Jiri Olsa 2011-08-11 2094 #define NO 0 1d0e78e3 Jiri Olsa 2011-08-11 2095 1d0e78e3 Jiri Olsa 2011-08-11 2096 static struct test_filter_data_t { 1d0e78e3 Jiri Olsa 2011-08-11 2097 char *filter; a7237765 Steven Rostedt (Red Hat 2015-05-13 @2098) struct trace_event_raw_ftrace_test_filter rec; 1d0e78e3 Jiri Olsa 2011-08-11 2099 int match; 1d0e78e3 Jiri Olsa 2011-08-11 2100 char *not_visited; 1d0e78e3 Jiri Olsa 2011-08-11 2101 } test_filter_data[] = { 1d0e78e3 Jiri Olsa 2011-08-11 2102 #define FILTER "a == 1 && b == 1 && c == 1 && d == 1 && " \ 1d0e78e3 Jiri Olsa 2011-08-11 2103 "e == 1 && f == 1 && g == 1 && h == 1" 1d0e78e3 Jiri Olsa 2011-08-11 @2104 DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2105 DATA_REC(NO, 0, 1, 1, 1, 1, 1, 1, 1, "bcdefgh"), 1d0e78e3 Jiri Olsa 2011-08-11 2106 DATA_REC(NO, 1, 1, 1, 1, 1, 1, 1, 0, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2107 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2108 #define FILTER "a == 1 || b == 1 || c == 1 || d == 1 || " \ 1d0e78e3 Jiri Olsa 2011-08-11 2109 "e == 1 || f == 1 || g == 1 || h == 1" 1d0e78e3 Jiri Olsa 2011-08-11 2110 DATA_REC(NO, 0, 0, 0, 0, 0, 0, 0, 0, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2111 DATA_REC(YES, 0, 0, 0, 0, 0, 0, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2112 DATA_REC(YES, 1, 0, 0, 0, 0, 0, 0, 0, "bcdefgh"), 1d0e78e3 Jiri Olsa 2011-08-11 2113 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2114 #define FILTER "(a == 1 || b == 1) && (c == 1 || d == 1) && " \ 1d0e78e3 Jiri Olsa 2011-08-11 2115 "(e == 1 || f == 1) && (g == 1 || h == 1)" 1d0e78e3 Jiri Olsa 2011-08-11 2116 DATA_REC(NO, 0, 0, 1, 1, 1, 1, 1, 1, "dfh"), 1d0e78e3 Jiri Olsa 2011-08-11 2117 DATA_REC(YES, 0, 1, 0, 1, 0, 1, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2118 DATA_REC(YES, 1, 0, 1, 0, 0, 1, 0, 1, "bd"), 1d0e78e3 Jiri Olsa 2011-08-11 2119 DATA_REC(NO, 1, 0, 1, 0, 0, 1, 0, 0, "bd"), 1d0e78e3 Jiri Olsa 2011-08-11 2120 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2121 #define FILTER "(a == 1 && b == 1) || (c == 1 && d == 1) || " \ 1d0e78e3 Jiri Olsa 2011-08-11 2122 "(e == 1 && f == 1) || (g == 1 && h == 1)" 1d0e78e3 Jiri Olsa 2011-08-11 2123 DATA_REC(YES, 1, 0, 1, 1, 1, 1, 1, 1, "efgh"), 1d0e78e3 Jiri Olsa 2011-08-11 @2124 DATA_REC(YES, 0, 0, 0, 0, 0, 0, 1, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 @2125 DATA_REC(NO, 0, 0, 0, 0, 0, 0, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2126 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2127 #define FILTER "(a == 1 && b == 1) && (c == 1 && d == 1) && " \ 1d0e78e3 Jiri Olsa 2011-08-11 2128 "(e == 1 && f == 1) || (g == 1 && h == 1)" 1d0e78e3 Jiri Olsa 2011-08-11 2129 DATA_REC(YES, 1, 1, 1, 1, 1, 1, 0, 0, "gh"), 1d0e78e3 Jiri Olsa 2011-08-11 2130 DATA_REC(NO, 0, 0, 0, 0, 0, 0, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2131 DATA_REC(YES, 1, 1, 1, 1, 1, 0, 1, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2132 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2133 #define FILTER "((a == 1 || b == 1) || (c == 1 || d == 1) || " \ 1d0e78e3 Jiri Olsa 2011-08-11 2134 "(e == 1 || f == 1)) && (g == 1 || h == 1)" 1d0e78e3 Jiri Olsa 2011-08-11 2135 DATA_REC(YES, 1, 1, 1, 1, 1, 1, 0, 1, "bcdef"), 1d0e78e3 Jiri Olsa 2011-08-11 2136 DATA_REC(NO, 0, 0, 0, 0, 0, 0, 0, 0, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2137 DATA_REC(YES, 1, 1, 1, 1, 1, 0, 1, 1, "h"), 1d0e78e3 Jiri Olsa 2011-08-11 2138 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2139 #define FILTER "((((((((a == 1) && (b == 1)) || (c == 1)) && (d == 1)) || " \ 1d0e78e3 Jiri Olsa 2011-08-11 2140 "(e == 1)) && (f == 1)) || (g == 1)) && (h == 1))" 1d0e78e3 Jiri Olsa 2011-08-11 2141 DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, "ceg"), 1d0e78e3 Jiri Olsa 2011-08-11 2142 DATA_REC(NO, 0, 1, 0, 1, 0, 1, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2143 DATA_REC(NO, 1, 0, 1, 0, 1, 0, 1, 0, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2144 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2145 #define FILTER "((((((((a == 1) || (b == 1)) && (c == 1)) || (d == 1)) && " \ 1d0e78e3 Jiri Olsa 2011-08-11 2146 "(e == 1)) || (f == 1)) && (g == 1)) || (h == 1))" 1d0e78e3 Jiri Olsa 2011-08-11 2147 DATA_REC(YES, 1, 1, 1, 1, 1, 1, 1, 1, "bdfh"), 1d0e78e3 Jiri Olsa 2011-08-11 2148 DATA_REC(YES, 0, 1, 0, 1, 0, 1, 0, 1, ""), 1d0e78e3 Jiri Olsa 2011-08-11 2149 DATA_REC(YES, 1, 0, 1, 0, 1, 0, 1, 0, "bdfh"), 1d0e78e3 Jiri Olsa 2011-08-11 2150 }; 1d0e78e3 Jiri Olsa 2011-08-11 2151 1d0e78e3 Jiri Olsa 2011-08-11 2152 #undef DATA_REC 1d0e78e3 Jiri Olsa 2011-08-11 2153 #undef FILTER 1d0e78e3 Jiri Olsa 2011-08-11 2154 #undef YES 1d0e78e3 Jiri Olsa 2011-08-11 2155 #undef NO 1d0e78e3 Jiri Olsa 2011-08-11 2156 0a4d0564 Jérémy Lefaure 2017-10-15 2157 #define DATA_CNT ARRAY_SIZE(test_filter_data) 1d0e78e3 Jiri Olsa 2011-08-11 2158 1d0e78e3 Jiri Olsa 2011-08-11 2159 static int test_pred_visited; 1d0e78e3 Jiri Olsa 2011-08-11 2160 1d0e78e3 Jiri Olsa 2011-08-11 2161 static int test_pred_visited_fn(struct filter_pred *pred, void *event) 1d0e78e3 Jiri Olsa 2011-08-11 2162 { 1d0e78e3 Jiri Olsa 2011-08-11 2163 struct ftrace_event_field *field = pred->field; 1d0e78e3 Jiri Olsa 2011-08-11 2164 1d0e78e3 Jiri Olsa 2011-08-11 2165 test_pred_visited = 1; 1d0e78e3 Jiri Olsa 2011-08-11 2166 printk(KERN_INFO "\npred visited %s\n", field->name); 1d0e78e3 Jiri Olsa 2011-08-11 2167 return 1; 1d0e78e3 Jiri Olsa 2011-08-11 2168 } 1d0e78e3 Jiri Olsa 2011-08-11 2169 80765597 Steven Rostedt (VMware 2018-03-09 2170) static void update_pred_fn(struct event_filter *filter, char *fields) 1d0e78e3 Jiri Olsa 2011-08-11 2171 { 8ec8405f Steven Rostedt (VMware 2018-04-05 2172) struct prog_entry *prog = rcu_dereference_protected(filter->prog, 8ec8405f Steven Rostedt (VMware 2018-04-05 2173) lockdep_is_held(&event_mutex)); 80765597 Steven Rostedt (VMware 2018-03-09 2174) int i; 1d0e78e3 Jiri Olsa 2011-08-11 2175 80765597 Steven Rostedt (VMware 2018-03-09 2176) for (i = 0; prog[i].pred; i++) { 80765597 Steven Rostedt (VMware 2018-03-09 2177) struct filter_pred *pred = prog[i].pred; 1d0e78e3 Jiri Olsa 2011-08-11 2178 struct ftrace_event_field *field = pred->field; 1d0e78e3 Jiri Olsa 2011-08-11 2179 80765597 Steven Rostedt (VMware 2018-03-09 2180) WARN_ON_ONCE(!pred->fn); 80765597 Steven Rostedt (VMware 2018-03-09 2181) 1d0e78e3 Jiri Olsa 2011-08-11 2182 if (!field) { 80765597 Steven Rostedt (VMware 2018-03-09 2183) WARN_ONCE(1, "all leafs should have field defined %d", i); 80765597 Steven Rostedt (VMware 2018-03-09 2184) continue; 1d0e78e3 Jiri Olsa 2011-08-11 2185 } 80765597 Steven Rostedt (VMware 2018-03-09 2186) 1d0e78e3 Jiri Olsa 2011-08-11 2187 if (!strchr(fields, *field->name)) 80765597 Steven Rostedt (VMware 2018-03-09 2188) continue; 1d0e78e3 Jiri Olsa 2011-08-11 2189 1d0e78e3 Jiri Olsa 2011-08-11 2190 pred->fn = test_pred_visited_fn; 1d0e78e3 Jiri Olsa 2011-08-11 2191 } 1d0e78e3 Jiri Olsa 2011-08-11 2192 } 1d0e78e3 Jiri Olsa 2011-08-11 2193 1d0e78e3 Jiri Olsa 2011-08-11 2194 static __init int ftrace_test_event_filter(void) 1d0e78e3 Jiri Olsa 2011-08-11 2195 { 1d0e78e3 Jiri Olsa 2011-08-11 2196 int i; 1d0e78e3 Jiri Olsa 2011-08-11 2197 1d0e78e3 Jiri Olsa 2011-08-11 2198 printk(KERN_INFO "Testing ftrace filter: "); 1d0e78e3 Jiri Olsa 2011-08-11 2199 1d0e78e3 Jiri Olsa 2011-08-11 2200 for (i = 0; i < DATA_CNT; i++) { 1d0e78e3 Jiri Olsa 2011-08-11 2201 struct event_filter *filter = NULL; 1d0e78e3 Jiri Olsa 2011-08-11 2202 struct test_filter_data_t *d = &test_filter_data[i]; 1d0e78e3 Jiri Olsa 2011-08-11 2203 int err; 1d0e78e3 Jiri Olsa 2011-08-11 2204 38b78eb8 Tejun Heo 2011-12-15 @2205 err = create_filter(&event_ftrace_test_filter, d->filter, 38b78eb8 Tejun Heo 2011-12-15 2206 false, &filter); 1d0e78e3 Jiri Olsa 2011-08-11 2207 if (err) { 1d0e78e3 Jiri Olsa 2011-08-11 2208 printk(KERN_INFO 1d0e78e3 Jiri Olsa 2011-08-11 2209 "Failed to get filter for '%s', err %d\n", 1d0e78e3 Jiri Olsa 2011-08-11 2210 d->filter, err); 38b78eb8 Tejun Heo 2011-12-15 2211 __free_filter(filter); 1d0e78e3 Jiri Olsa 2011-08-11 2212 break; 1d0e78e3 Jiri Olsa 2011-08-11 2213 } 1d0e78e3 Jiri Olsa 2011-08-11 2214 8ec8405f Steven Rostedt (VMware 2018-04-05 2215) /* Needed to dereference filter->prog */ 8ec8405f Steven Rostedt (VMware 2018-04-05 2216) mutex_lock(&event_mutex); 86b6ef21 Steven Rostedt 2011-08-22 2217 /* 86b6ef21 Steven Rostedt 2011-08-22 2218 * The preemption disabling is not really needed for self 86b6ef21 Steven Rostedt 2011-08-22 2219 * tests, but the rcu dereference will complain without it. 86b6ef21 Steven Rostedt 2011-08-22 2220 */ 86b6ef21 Steven Rostedt 2011-08-22 2221 preempt_disable(); 1d0e78e3 Jiri Olsa 2011-08-11 2222 if (*d->not_visited) 80765597 Steven Rostedt (VMware 2018-03-09 2223) update_pred_fn(filter, d->not_visited); 1d0e78e3 Jiri Olsa 2011-08-11 2224 1d0e78e3 Jiri Olsa 2011-08-11 2225 test_pred_visited = 0; 1d0e78e3 Jiri Olsa 2011-08-11 2226 err = filter_match_preds(filter, &d->rec); 86b6ef21 Steven Rostedt 2011-08-22 2227 preempt_enable(); 1d0e78e3 Jiri Olsa 2011-08-11 2228 8ec8405f Steven Rostedt (VMware 2018-04-05 2229) mutex_unlock(&event_mutex); 8ec8405f Steven Rostedt (VMware 2018-04-05 2230) 1d0e78e3 Jiri Olsa 2011-08-11 2231 __free_filter(filter); 1d0e78e3 Jiri Olsa 2011-08-11 2232 1d0e78e3 Jiri Olsa 2011-08-11 2233 if (test_pred_visited) { 1d0e78e3 Jiri Olsa 2011-08-11 2234 printk(KERN_INFO 1d0e78e3 Jiri Olsa 2011-08-11 2235 "Failed, unwanted pred visited for filter %s\n", 1d0e78e3 Jiri Olsa 2011-08-11 2236 d->filter); 1d0e78e3 Jiri Olsa 2011-08-11 2237 break; 1d0e78e3 Jiri Olsa 2011-08-11 2238 } 1d0e78e3 Jiri Olsa 2011-08-11 2239 1d0e78e3 Jiri Olsa 2011-08-11 2240 if (err != d->match) { 1d0e78e3 Jiri Olsa 2011-08-11 2241 printk(KERN_INFO 1d0e78e3 Jiri Olsa 2011-08-11 2242 "Failed to match filter '%s', expected %d\n", 1d0e78e3 Jiri Olsa 2011-08-11 2243 d->filter, d->match); 1d0e78e3 Jiri Olsa 2011-08-11 2244 break; 1d0e78e3 Jiri Olsa 2011-08-11 2245 } 1d0e78e3 Jiri Olsa 2011-08-11 2246 } 1d0e78e3 Jiri Olsa 2011-08-11 2247 1d0e78e3 Jiri Olsa 2011-08-11 2248 if (i == DATA_CNT) 1d0e78e3 Jiri Olsa 2011-08-11 2249 printk(KERN_CONT "OK\n"); 1d0e78e3 Jiri Olsa 2011-08-11 2250 1d0e78e3 Jiri Olsa 2011-08-11 2251 return 0; 1d0e78e3 Jiri Olsa 2011-08-11 2252 } 1d0e78e3 Jiri Olsa 2011-08-11 2253 :::::: The code at line 2098 was first introduced by commit :::::: a7237765730a10d429736f47ac4b89779ec6c534 tracing: Rename ftrace_raw_##call event structures to trace_event_raw_##call :::::: TO: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> :::::: CC: Steven Rostedt <rostedt@xxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip