Re: [PATCH v2] sctp: don't dereference ptr before leaving _sctp_walk_{params,errors}()

From: kbuild test robot
Date: Fri Jul 14 2017 - 16:23:26 EST


Hi Alexander,

[auto build test WARNING on net-next/master]
[also build test WARNING on next-20170714]
[cannot apply to v4.12]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Alexander-Potapenko/sctp-don-t-dereference-ptr-before-leaving-_sctp_walk_-params-errors/20170715-013318
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

include/linux/compiler.h:260:8: sparse: attribute 'no_sanitize_address': unknown attribute
net/sctp/sm_statefuns.c:3871:9: sparse: Expected , in __builtin_offset
net/sctp/sm_statefuns.c:3871:9: sparse: got sctp_paramhdr_t
>> builtin:0:0: sparse: No right hand side of '+'-expression
net/sctp/sm_statefuns.c:3871:9: sparse: Expected ) in 'for'
net/sctp/sm_statefuns.c:3871:9: sparse: got ;
net/sctp/sm_statefuns.c:3871:9: sparse: Expected ; at end of statement
net/sctp/sm_statefuns.c:3871:9: sparse: got )
>> net/sctp/sm_statefuns.c:3903:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/sm_statefuns.c:3903:16: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3903:16: sparse: got SCTP_DISPOSITION_CONSUME
net/sctp/sm_statefuns.c:3904:1: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3904:1: sparse: got }
net/sctp/sm_statefuns.c:3933:13: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3933:13: sparse: got !
>> net/sctp/sm_statefuns.c:3933:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3936:17: sparse: Trying to use reserved word 'return' as identifier
net/sctp/sm_statefuns.c:3936:24: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3936:24: sparse: got sctp_sf_pdiscard
net/sctp/sm_statefuns.c:3937:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3937:9: sparse: got }
net/sctp/sm_statefuns.c:3943:13: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3943:13: sparse: got !
net/sctp/sm_statefuns.c:3943:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3948:14: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3948:14: sparse: got ->
net/sctp/sm_statefuns.c:3950:13: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3950:13: sparse: got -=
net/sctp/sm_statefuns.c:3951:23: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3951:23: sparse: got ->
>> net/sctp/sm_statefuns.c:3954:9: sparse: Trying to use reserved word 'do' as identifier
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3954:9: sparse: got {
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3954:9: sparse: got (
net/sctp/sm_statefuns.c:3954:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3954:9: sparse: got (
net/sctp/sm_statefuns.c:3954:9: sparse: Trying to use reserved word 'if' as identifier
>> net/sctp/sm_statefuns.c:3954:9: sparse: Trying to use reserved word 'else' as identifier
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3954:9: sparse: got if
>> net/sctp/sm_statefuns.c:3954:9: sparse: Trying to use reserved word 'else' as identifier
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3954:9: sparse: got branch
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3954:9: sparse: got }
net/sctp/sm_statefuns.c:3954:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3954:9: sparse: got }
net/sctp/sm_statefuns.c:3959:30: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3959:30: sparse: got (
net/sctp/sm_statefuns.c:3959:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3963:9: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3963:9: sparse: got (
>> net/sctp/sm_statefuns.c:3963:9: sparse: Trying to use reserved word 'for' as identifier
net/sctp/sm_statefuns.c:3963:9: sparse: Expected ) in nested declarator
net/sctp/sm_statefuns.c:3963:9: sparse: got *
>> net/sctp/sm_statefuns.c:3963:9: sparse: Trying to use reserved word 'void' as identifier
net/sctp/sm_statefuns.c:3963:9: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3963:9: sparse: got ++
net/sctp/sm_statefuns.c:3966:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3966:9: sparse: got }
net/sctp/sm_statefuns.c:3969:17: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3969:17: sparse: got >
net/sctp/sm_statefuns.c:3969:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3974:17: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:3974:17: sparse: got ->
net/sctp/sm_statefuns.c:3974:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:3977:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3977:9: sparse: got }
net/sctp/sm_statefuns.c:3984:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/sm_statefuns.c:3984:16: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3984:16: sparse: got SCTP_DISPOSITION_CONSUME
net/sctp/sm_statefuns.c:3986:16: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:3986:16: sparse: got :
net/sctp/sm_statefuns.c:3988:1: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:3988:1: sparse: got }
net/sctp/sm_statefuns.c:4004:13: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:4004:13: sparse: got !
net/sctp/sm_statefuns.c:4004:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:4007:17: sparse: Trying to use reserved word 'return' as identifier
net/sctp/sm_statefuns.c:4007:24: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:4007:24: sparse: got sctp_sf_pdiscard
net/sctp/sm_statefuns.c:4008:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_statefuns.c:4008:9: sparse: got }
net/sctp/sm_statefuns.c:4014:13: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:4014:13: sparse: got !
net/sctp/sm_statefuns.c:4014:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:4019:14: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:4019:14: sparse: got ->
net/sctp/sm_statefuns.c:4021:13: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:4021:13: sparse: got -=
net/sctp/sm_statefuns.c:4022:23: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:4022:23: sparse: got ->
net/sctp/sm_statefuns.c:4025:9: sparse: Trying to use reserved word 'do' as identifier
net/sctp/sm_statefuns.c:4025:9: sparse: Expected ; at end of declaration
net/sctp/sm_statefuns.c:4025:9: sparse: got {
net/sctp/sm_statefuns.c:4025:9: sparse: Expected ) in function declarator
net/sctp/sm_statefuns.c:4025:9: sparse: got (
net/sctp/sm_statefuns.c:4025:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_statefuns.c:4025:9: sparse: Expected ) in function declarator
>> net/sctp/sm_statefuns.c:4025:9: sparse: too many errors
In file included from include/linux/compiler.h:58:0,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from net/sctp/sm_statefuns.c:48:
net/sctp/sm_statefuns.c: In function 'sctp_sf_do_reconf':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/sm_statefuns.c:3871:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, hdr, params) {
^~~~~~~~~~~~~~~~
--
include/linux/compiler.h:260:8: sparse: attribute 'no_sanitize_address': unknown attribute
net/sctp/sm_make_chunk.c:2262:9: sparse: Expected , in __builtin_offset
net/sctp/sm_make_chunk.c:2262:9: sparse: got sctp_paramhdr_t
>> builtin:0:0: sparse: No right hand side of '+'-expression
net/sctp/sm_make_chunk.c:2262:9: sparse: Expected ) in 'for'
net/sctp/sm_make_chunk.c:2262:9: sparse: got ;
net/sctp/sm_make_chunk.c:2262:9: sparse: Expected ; at end of statement
net/sctp/sm_make_chunk.c:2262:9: sparse: got )
net/sctp/sm_make_chunk.c:2274:18: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2274:18: sparse: got .
>> net/sctp/sm_make_chunk.c:2274:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2280:13: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2280:13: sparse: got (
net/sctp/sm_make_chunk.c:2280:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2285:9: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2285:9: sparse: got (
>> net/sctp/sm_make_chunk.c:2285:9: sparse: Trying to use reserved word 'for' as identifier
net/sctp/sm_make_chunk.c:2285:9: sparse: Expected ) in nested declarator
net/sctp/sm_make_chunk.c:2285:9: sparse: got .
net/sctp/sm_make_chunk.c:2285:9: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2285:9: sparse: got .
>> net/sctp/sm_make_chunk.c:2288:17: sparse: Trying to use reserved word 'switch' as identifier
>> net/sctp/sm_make_chunk.c:2289:17: sparse: not in switch scope
net/sctp/sm_make_chunk.c:2290:17: sparse: not in switch scope
net/sctp/sm_make_chunk.c:2292:17: sparse: not in switch scope
net/sctp/sm_make_chunk.c:2294:17: sparse: not in switch scope
net/sctp/sm_make_chunk.c:2295:17: sparse: not in switch scope
>> net/sctp/sm_make_chunk.c:2296:25: sparse: break/continue not in iterator scope
net/sctp/sm_make_chunk.c:2299:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2299:9: sparse: got }
net/sctp/sm_make_chunk.c:2302:1: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2302:1: sparse: got }
net/sctp/sm_make_chunk.c:2331:13: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2331:13: sparse: got !
net/sctp/sm_make_chunk.c:2331:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2334:32: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2334:32: sparse: got (
net/sctp/sm_make_chunk.c:2334:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2338:9: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2338:9: sparse: got (
net/sctp/sm_make_chunk.c:2338:9: sparse: Trying to use reserved word 'for' as identifier
net/sctp/sm_make_chunk.c:2338:9: sparse: Expected ) in nested declarator
net/sctp/sm_make_chunk.c:2338:9: sparse: got .
net/sctp/sm_make_chunk.c:2338:9: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2338:9: sparse: got .
net/sctp/sm_make_chunk.c:2342:27: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2342:27: sparse: got ->
net/sctp/sm_make_chunk.c:2344:48: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2344:48: sparse: got (
net/sctp/sm_make_chunk.c:2344:25: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2346:17: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2346:17: sparse: got }
net/sctp/sm_make_chunk.c:2350:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2350:9: sparse: got }
net/sctp/sm_make_chunk.c:2359:17: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2359:17: sparse: got ->
net/sctp/sm_make_chunk.c:2359:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2369:13: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2369:13: sparse: got !
net/sctp/sm_make_chunk.c:2369:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2374:21: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2374:21: sparse: got ->
>> net/sctp/sm_make_chunk.c:2375:17: sparse: Trying to use reserved word 'goto' as identifier
net/sctp/sm_make_chunk.c:2375:22: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2375:22: sparse: got clean_up
net/sctp/sm_make_chunk.c:2376:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2376:9: sparse: got }
net/sctp/sm_make_chunk.c:2379:9: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2379:9: sparse: got !=
net/sctp/sm_make_chunk.c:2379:9: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2379:9: sparse: got )
net/sctp/sm_make_chunk.c:2380:29: sparse: Expected ) in nested declarator
net/sctp/sm_make_chunk.c:2380:29: sparse: got sctp_transport
>> net/sctp/sm_make_chunk.c:2380:29: sparse: Trying to use reserved word 'struct' as identifier
net/sctp/sm_make_chunk.c:2380:29: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2380:29: sparse: got }
net/sctp/sm_make_chunk.c:2381:30: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2381:30: sparse: got ->
net/sctp/sm_make_chunk.c:2381:17: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2383:17: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2383:17: sparse: got }
net/sctp/sm_make_chunk.c:2391:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2391:13: sparse: got ->
net/sctp/sm_make_chunk.c:2393:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2393:13: sparse: got ->
net/sctp/sm_make_chunk.c:2395:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2395:13: sparse: got ->
net/sctp/sm_make_chunk.c:2397:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2397:13: sparse: got ->
net/sctp/sm_make_chunk.c:2400:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2400:13: sparse: got ->
net/sctp/sm_make_chunk.c:2405:17: sparse: Expected ) in function declarator
net/sctp/sm_make_chunk.c:2405:17: sparse: got ->
net/sctp/sm_make_chunk.c:2405:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2409:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2409:9: sparse: got }
net/sctp/sm_make_chunk.c:2415:9: sparse: Expected ; at the end of type declaration
net/sctp/sm_make_chunk.c:2415:9: sparse: got }
net/sctp/sm_make_chunk.c:2421:13: sparse: Expected ; at end of declaration
net/sctp/sm_make_chunk.c:2421:13: sparse: got ->
net/sctp/sm_make_chunk.c:2425:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/sm_make_chunk.c:2435:9: sparse: too many errors
In file included from include/linux/compiler.h:58:0,
from arch/x86/include/asm/atomic.h:4,
from include/linux/atomic.h:4,
from include/linux/crypto.h:20,
from include/crypto/hash.h:16,
from net/sctp/sm_make_chunk.c:48:
net/sctp/sm_make_chunk.c: In function 'sctp_verify_init':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c:2262:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, peer_init, init_hdr.params) {
^~~~~~~~~~~~~~~~
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c:2285:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, peer_init, init_hdr.params) {
^~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c: In function 'sctp_process_init':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c:2338:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, peer_init, init_hdr.params) {
^~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c: In function 'sctp_verify_asconf':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c:3148:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, addip, addip_hdr.params) {
^~~~~~~~~~~~~~~~
net/sctp/sm_make_chunk.c: In function 'sctp_process_asconf':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
--
include/linux/compiler.h:260:8: sparse: attribute 'no_sanitize_address': unknown attribute
net/sctp/input.c:1076:9: sparse: Expected , in __builtin_offset
net/sctp/input.c:1076:9: sparse: got sctp_paramhdr_t
>> builtin:0:0: sparse: No right hand side of '+'-expression
net/sctp/input.c:1076:9: sparse: Expected ) in 'for'
net/sctp/input.c:1076:9: sparse: got ;
net/sctp/input.c:1076:9: sparse: Expected ; at end of statement
net/sctp/input.c:1076:9: sparse: got )
>> net/sctp/input.c:1081:25: sparse: break/continue not in iterator scope
net/sctp/input.c:1090:16: sparse: Expected ) in function declarator
net/sctp/input.c:1090:16: sparse: got (
>> net/sctp/input.c:1090:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/input.c:1091:1: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1091:1: sparse: got }
net/sctp/input.c:1123:13: sparse: Expected ) in function declarator
net/sctp/input.c:1123:13: sparse: got (
>> net/sctp/input.c:1123:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1126:11: sparse: Expected ; at end of declaration
net/sctp/input.c:1126:11: sparse: got ->
net/sctp/input.c:1128:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/input.c:1128:16: sparse: Expected ; at end of declaration
net/sctp/input.c:1128:16: sparse: got __sctp_lookup_association
net/sctp/input.c:1129:1: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1129:1: sparse: got }
>> net/sctp/input.c:1156:9: sparse: Trying to use reserved word 'do' as identifier
net/sctp/input.c:1156:12: sparse: Expected ; at end of declaration
net/sctp/input.c:1156:12: sparse: got {
net/sctp/input.c:1162:28: sparse: Expected ) in function declarator
net/sctp/input.c:1162:28: sparse: got >
net/sctp/input.c:1162:17: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1165:27: sparse: Expected ) in function declarator
net/sctp/input.c:1165:27: sparse: got ->
>> net/sctp/input.c:1165:17: sparse: Trying to use reserved word 'switch' as identifier
>> net/sctp/input.c:1168:25: sparse: Trying to use reserved word 'break' as identifier
>> net/sctp/input.c:1170:17: sparse: Trying to use reserved word 'case' as identifier
net/sctp/input.c:1170:22: sparse: Expected ; at end of declaration
net/sctp/input.c:1170:22: sparse: got SCTP_CID_COOKIE_ECHO
net/sctp/input.c:1180:25: sparse: Trying to use reserved word 'break' as identifier
net/sctp/input.c:1182:17: sparse: Trying to use reserved word 'case' as identifier
net/sctp/input.c:1182:22: sparse: Expected ; at end of declaration
net/sctp/input.c:1182:22: sparse: got SCTP_CID_ASCONF
>> net/sctp/input.c:1188:17: sparse: Trying to use reserved word 'default' as identifier
net/sctp/input.c:1188:24: sparse: Expected ; at end of declaration
net/sctp/input.c:1188:24: sparse: got :
net/sctp/input.c:1190:17: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1190:17: sparse: got }
net/sctp/input.c:1196:26: sparse: Expected ; at end of declaration
net/sctp/input.c:1196:26: sparse: got ++
net/sctp/input.c:1197:9: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1197:9: sparse: got }
net/sctp/input.c:1199:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/input.c:1199:16: sparse: Expected ; at end of declaration
net/sctp/input.c:1199:16: sparse: got asoc
net/sctp/input.c:1200:1: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1200:1: sparse: got }
net/sctp/input.c:1220:13: sparse: Expected ) in function declarator
net/sctp/input.c:1220:13: sparse: got (
net/sctp/input.c:1220:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1230:13: sparse: Expected ) in function declarator
net/sctp/input.c:1230:13: sparse: got (
net/sctp/input.c:1230:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1234:15: sparse: Expected ) in function declarator
net/sctp/input.c:1234:15: sparse: got ->
net/sctp/input.c:1234:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1237:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/input.c:1237:16: sparse: Expected ; at end of declaration
net/sctp/input.c:1237:16: sparse: got __sctp_rcv_walk_lookup
net/sctp/input.c:1238:1: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1238:1: sparse: got }
net/sctp/input.c:1250:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1251:17: sparse: Expected ; at end of declaration
net/sctp/input.c:1251:17: sparse: got goto
net/sctp/input.c:1258:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1259:17: sparse: Expected ; at end of declaration
net/sctp/input.c:1259:17: sparse: got goto
net/sctp/input.c:1261:18: sparse: Expected ) in function declarator
net/sctp/input.c:1261:18: sparse: got ->
net/sctp/input.c:1261:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1262:17: sparse: Expected ) in function declarator
net/sctp/input.c:1262:17: sparse: got (
net/sctp/input.c:1262:17: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1262:17: sparse: Expected ) in function declarator
net/sctp/input.c:1262:17: sparse: got (
net/sctp/input.c:1262:17: sparse: Trying to use reserved word 'if' as identifier
>> net/sctp/input.c:1262:17: sparse: Trying to use reserved word 'else' as identifier
net/sctp/input.c:1262:17: sparse: Expected ; at end of declaration
net/sctp/input.c:1262:17: sparse: got if
>> net/sctp/input.c:1262:17: sparse: Trying to use reserved word 'else' as identifier
net/sctp/input.c:1262:17: sparse: Expected ; at end of declaration
net/sctp/input.c:1262:17: sparse: got branch
net/sctp/input.c:1262:17: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1262:17: sparse: got }
net/sctp/input.c:1262:17: sparse: Expected ; at the end of type declaration
net/sctp/input.c:1262:17: sparse: got }
net/sctp/input.c:1265:9: sparse: Trying to use reserved word 'else' as identifier
net/sctp/input.c:1266:17: sparse: Expected ; at end of declaration
net/sctp/input.c:1266:17: sparse: got do
net/sctp/input.c:1266:17: sparse: Expected ) in function declarator
net/sctp/input.c:1266:17: sparse: got (
net/sctp/input.c:1266:17: sparse: Trying to use reserved word 'if' as identifier
net/sctp/input.c:1266:17: sparse: Expected ) in function declarator
>> net/sctp/input.c:1266:17: sparse: too many errors
In file included from include/linux/compiler.h:58:0,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from net/sctp/input.c:44:
net/sctp/input.c: In function '__sctp_rcv_init_lookup':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/input.c:1076:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(params, init, init_hdr.params) {
^~~~~~~~~~~~~~~~
--
include/linux/compiler.h:260:8: sparse: attribute 'no_sanitize_address': unknown attribute
net/sctp/stream.c:319:9: sparse: Expected , in __builtin_offset
net/sctp/stream.c:319:9: sparse: got sctp_paramhdr_t
>> builtin:0:0: sparse: No right hand side of '+'-expression
net/sctp/stream.c:319:9: sparse: Expected ) in 'for'
net/sctp/stream.c:319:9: sparse: got ;
net/sctp/stream.c:319:9: sparse: Expected ; at end of statement
net/sctp/stream.c:319:9: sparse: got )
net/sctp/stream.c:331:16: sparse: Expected ) in function declarator
net/sctp/stream.c:331:16: sparse: got (
>> net/sctp/stream.c:331:9: sparse: Trying to use reserved word 'return' as identifier
net/sctp/stream.c:332:1: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:332:1: sparse: got }
net/sctp/stream.c:338:13: sparse: Expected ; at end of declaration
net/sctp/stream.c:338:13: sparse: got ->
net/sctp/stream.c:339:1: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:339:1: sparse: got }
net/sctp/stream.c:354:13: sparse: Expected ) in function declarator
net/sctp/stream.c:354:13: sparse: got (
>> net/sctp/stream.c:354:9: sparse: Trying to use reserved word 'if' as identifier
>> net/sctp/stream.c:357:17: sparse: Trying to use reserved word 'goto' as identifier
net/sctp/stream.c:357:22: sparse: Expected ; at end of declaration
net/sctp/stream.c:357:22: sparse: got err
net/sctp/stream.c:358:9: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:358:9: sparse: got }
net/sctp/stream.c:360:13: sparse: Expected ) in function declarator
net/sctp/stream.c:360:13: sparse: got &
>> net/sctp/stream.c:360:13: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:360:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:360:13: sparse: got 1
net/sctp/stream.c:360:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:360:13: sparse: got }
net/sctp/stream.c:360:13: sparse: Expected ) in function declarator
net/sctp/stream.c:360:13: sparse: got &
>> net/sctp/stream.c:360:13: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:360:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:360:13: sparse: got 1
net/sctp/stream.c:360:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:360:13: sparse: got }
net/sctp/stream.c:361:13: sparse: Expected ) in function declarator
net/sctp/stream.c:361:13: sparse: got &
net/sctp/stream.c:361:13: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:361:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:361:13: sparse: got 1
net/sctp/stream.c:361:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:361:13: sparse: got }
net/sctp/stream.c:361:13: sparse: Expected ) in function declarator
net/sctp/stream.c:361:13: sparse: got &
net/sctp/stream.c:361:13: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:361:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:361:13: sparse: got 1
net/sctp/stream.c:361:13: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:361:13: sparse: got }
net/sctp/stream.c:363:17: sparse: Trying to use reserved word 'goto' as identifier
net/sctp/stream.c:363:22: sparse: Expected ; at end of declaration
net/sctp/stream.c:363:22: sparse: got err
net/sctp/stream.c:364:9: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:364:9: sparse: got }
net/sctp/stream.c:364:20: sparse: Expected ) in function declarator
net/sctp/stream.c:364:20: sparse: got &
net/sctp/stream.c:364:20: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:364:20: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:364:20: sparse: got 1
net/sctp/stream.c:364:20: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:364:20: sparse: got }
net/sctp/stream.c:364:20: sparse: Expected ) in function declarator
net/sctp/stream.c:364:20: sparse: got &
net/sctp/stream.c:364:20: sparse: Trying to use reserved word 'void' as identifier
net/sctp/stream.c:364:20: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:364:20: sparse: got 1
net/sctp/stream.c:364:20: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:364:20: sparse: got }
net/sctp/stream.c:367:17: sparse: Trying to use reserved word 'goto' as identifier
net/sctp/stream.c:367:22: sparse: Expected ; at end of declaration
net/sctp/stream.c:367:22: sparse: got err
net/sctp/stream.c:368:9: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:368:9: sparse: got }
net/sctp/stream.c:375:13: sparse: Expected ) in function declarator
net/sctp/stream.c:375:13: sparse: got !
net/sctp/stream.c:375:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/stream.c:378:17: sparse: Expected ) in function declarator
net/sctp/stream.c:378:17: sparse: got ->
net/sctp/stream.c:378:9: sparse: Trying to use reserved word 'if' as identifier
net/sctp/stream.c:384:25: sparse: Trying to use reserved word 'goto' as identifier
net/sctp/stream.c:384:30: sparse: Expected ; at end of declaration
net/sctp/stream.c:384:30: sparse: got out
net/sctp/stream.c:385:17: sparse: Expected ; at the end of type declaration
net/sctp/stream.c:385:17: sparse: got }
net/sctp/stream.c:388:21: sparse: Expected ; at end of declaration
net/sctp/stream.c:388:21: sparse: got ->
net/sctp/stream.c:390:21: sparse: Expected ) in function declarator
net/sctp/stream.c:390:21: sparse: got !
net/sctp/stream.c:390:17: sparse: Trying to use reserved word 'if' as identifier
net/sctp/stream.c:394:38: sparse: Expected ) in function declarator
net/sctp/stream.c:394:38: sparse: got (
net/sctp/stream.c:394:25: sparse: Trying to use reserved word 'if' as identifier
net/sctp/stream.c:397:44: sparse: Expected ) in function declarator
net/sctp/stream.c:397:44: sparse: got ->
net/sctp/stream.c:398:29: sparse: Expected ; at end of declaration
net/sctp/stream.c:398:29: sparse: got ->
net/sctp/stream.c:399:17: sparse: Expected ; at the end of type declaration
>> net/sctp/stream.c:399:17: sparse: too many errors
In file included from include/linux/compiler.h:58:0,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/net/sctp/sctp.h:58,
from net/sctp/stream.c:35:
net/sctp/stream.c: In function 'sctp_chunk_lookup_strreset_param':
include/net/sctp/sctp.h:472:24: error: unknown type name 'sctp_paramhdr_t'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^
include/linux/compiler-gcc.h:161:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/net/sctp/sctp.h:472:15: note: in expansion of macro 'offsetof'
(pos.v + offsetof(sctp_paramhdr_t, length) + sizeof(pos.p->length) <\
^~~~~~~~
include/net/sctp/sctp.h:468:1: note: in expansion of macro '_sctp_walk_params'
_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
^~~~~~~~~~~~~~~~~
net/sctp/stream.c:319:2: note: in expansion of macro 'sctp_walk_params'
sctp_walk_params(param, hdr, params) {
^~~~~~~~~~~~~~~~

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation