On Wed, Aug 11, 2010 at 10:17 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > After merging the cifs tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > net/dns_resolver/dns_key.c: In function 'dns_resolver_instantiate': > net/dns_resolver/dns_key.c:70: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:70: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:99: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:128: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:136: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:143: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:144: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:149: error: implicit declaration of function 'key_payload_reserve' > net/dns_resolver/dns_key.c:162: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c: In function 'dns_resolver_match': > net/dns_resolver/dns_key.c:178: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c: In function 'dns_resolver_describe': > net/dns_resolver/dns_key.c:211: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:213: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c:217: error: dereferencing pointer to incomplete type > net/dns_resolver/dns_key.c: At top level: > net/dns_resolver/dns_key.c:220: error: variable 'key_type_dns_resolver' has initializer but incomplete type > net/dns_resolver/dns_key.c:221: error: unknown field 'name' specified in initializer > net/dns_resolver/dns_key.c:221: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:221: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:222: error: unknown field 'instantiate' specified in initializer > net/dns_resolver/dns_key.c:222: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:222: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:223: error: unknown field 'match' specified in initializer > net/dns_resolver/dns_key.c:223: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:223: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:224: error: unknown field 'revoke' specified in initializer > net/dns_resolver/dns_key.c:224: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:224: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:225: error: unknown field 'destroy' specified in initializer > net/dns_resolver/dns_key.c:225: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:225: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:226: error: unknown field 'describe' specified in initializer > net/dns_resolver/dns_key.c:226: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:226: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c:227: error: unknown field 'read' specified in initializer > net/dns_resolver/dns_key.c:227: warning: excess elements in struct initializer > net/dns_resolver/dns_key.c:227: warning: (near initialization for 'key_type_dns_resolver') > net/dns_resolver/dns_key.c: In function 'init_dns_resolver': > net/dns_resolver/dns_key.c:237: error: invalid use of undefined type 'struct key_type' > net/dns_resolver/dns_key.c:249: error: implicit declaration of function 'key_alloc' > net/dns_resolver/dns_key.c:249: error: 'key_type_keyring' undeclared (first use in this function) > net/dns_resolver/dns_key.c:249: error: (Each undeclared identifier is reported only once > net/dns_resolver/dns_key.c:249: error: for each function it appears in.) > net/dns_resolver/dns_key.c:250: error: 'KEY_POS_ALL' undeclared (first use in this function) > net/dns_resolver/dns_key.c:250: error: 'KEY_POS_SETATTR' undeclared (first use in this function) > net/dns_resolver/dns_key.c:251: error: 'KEY_USR_VIEW' undeclared (first use in this function) > net/dns_resolver/dns_key.c:251: error: 'KEY_USR_READ' undeclared (first use in this function) > net/dns_resolver/dns_key.c:252: error: 'KEY_ALLOC_NOT_IN_QUOTA' undeclared (first use in this function) > net/dns_resolver/dns_key.c:258: error: implicit declaration of function 'key_instantiate_and_link' > net/dns_resolver/dns_key.c:262: error: implicit declaration of function 'register_key_type' > net/dns_resolver/dns_key.c:268: error: 'struct cred' has no member named 'thread_keyring' > net/dns_resolver/dns_key.c:269: error: 'struct cred' has no member named 'jit_keyring' > net/dns_resolver/dns_key.c: In function 'exit_dns_resolver': > net/dns_resolver/dns_key.c:285: error: implicit declaration of function 'unregister_key_type' > net/dns_resolver/dns_key.c:288: error: invalid use of undefined type 'struct key_type' > Presumably this code has not been built on powerpc before. Casued by > commit 1a4240f4764ac78adbf4b0ebb49b3bd8c72ffa11 ("DNS: Separate out CIFS > DNS Resolver code") (and the build was probably enabled by commit > c2e8139c9f797baa46515af6d350c51823736cbb ("NFS: Use kernel DNS resolver > [ver #2]"). > > I can only imagine that linux/key.h is included indirectly on x86. Are you sure that this is a valid config file? CONFIG_KEYS should be set if CONFIG_DNS_RESOLVER is set? key.h looks like it is included in all arch in this path net/dns_resolver/dns_key.c includes include/keys/dns_resolver-type.h which includes include/linux/key-type.h which includes include/linux/key.h the line 258 "key_instantiate_and_link" error could occur if "CONFIG_KEYS" is not set in .config net/dns_resolver/Kconfig config DNS_RESOLVER "depends on NET && KEYS" so ... CONFIG_KEYS should be set .... -- Thanks, Steve -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html