tree:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git keys-acl
head: 06a67e452fb9c5815f6181878949ab31178c6d67
commit: 06a67e452fb9c5815f6181878949ab31178c6d67 [24/24] keys: Implement a
'container' keyring
config: x86_64-randconfig-r033-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/com...
git remote add dhowells-fs
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs keys-acl
git checkout 06a67e452fb9c5815f6181878949ab31178c6d67
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: security/keys/keyctl.o: in function `__do_sys_keyctl':
> security/keys/keyctl.c:2062: undefined reference to
`keyctl_get_container_keyring'
> ld: security/keys/keyctl.c:2062: undefined reference to
`keyctl_get_container_keyring'
ld: security/keys/compat.o: in function
`__do_compat_sys_keyctl':
> security/keys/compat.c:132: undefined reference to
`keyctl_get_container_keyring'
> ld: security/keys/compat.c:132: undefined reference to
`keyctl_get_container_keyring'
vim +2062 security/keys/keyctl.c
1903
1904 /*
1905 * The key control system call
1906 */
1907 SYSCALL_DEFINE5(keyctl, int, option, unsigned long, arg2, unsigned long, arg3,
1908 unsigned long, arg4, unsigned long, arg5)
1909 {
1910 switch (option) {
1911 case KEYCTL_GET_KEYRING_ID:
1912 return keyctl_get_keyring_ID((key_serial_t) arg2,
1913 (int) arg3);
1914
1915 case KEYCTL_JOIN_SESSION_KEYRING:
1916 return keyctl_join_session_keyring((const char __user *) arg2);
1917
1918 case KEYCTL_UPDATE:
1919 return keyctl_update_key((key_serial_t) arg2,
1920 (const void __user *) arg3,
1921 (size_t) arg4);
1922
1923 case KEYCTL_REVOKE:
1924 return keyctl_revoke_key((key_serial_t) arg2);
1925
1926 case KEYCTL_DESCRIBE:
1927 return keyctl_describe_key((key_serial_t) arg2,
1928 (char __user *) arg3,
1929 (unsigned) arg4);
1930
1931 case KEYCTL_CLEAR:
1932 return keyctl_keyring_clear((key_serial_t) arg2);
1933
1934 case KEYCTL_LINK:
1935 return keyctl_keyring_link((key_serial_t) arg2,
1936 (key_serial_t) arg3);
1937
1938 case KEYCTL_UNLINK:
1939 return keyctl_keyring_unlink((key_serial_t) arg2,
1940 (key_serial_t) arg3);
1941
1942 case KEYCTL_SEARCH:
1943 return keyctl_keyring_search((key_serial_t) arg2,
1944 (const char __user *) arg3,
1945 (const char __user *) arg4,
1946 (key_serial_t) arg5);
1947
1948 case KEYCTL_READ:
1949 return keyctl_read_key((key_serial_t) arg2,
1950 (char __user *) arg3,
1951 (size_t) arg4);
1952
1953 case KEYCTL_CHOWN:
1954 return keyctl_chown_key((key_serial_t) arg2,
1955 (uid_t) arg3,
1956 (gid_t) arg4);
1957
1958 case KEYCTL_SETPERM:
1959 return keyctl_setperm_key((key_serial_t) arg2,
1960 (unsigned int)arg3);
1961
1962 case KEYCTL_INSTANTIATE:
1963 return keyctl_instantiate_key((key_serial_t) arg2,
1964 (const void __user *) arg3,
1965 (size_t) arg4,
1966 (key_serial_t) arg5);
1967
1968 case KEYCTL_NEGATE:
1969 return keyctl_negate_key((key_serial_t) arg2,
1970 (unsigned) arg3,
1971 (key_serial_t) arg4);
1972
1973 case KEYCTL_SET_REQKEY_KEYRING:
1974 return keyctl_set_reqkey_keyring(arg2);
1975
1976 case KEYCTL_SET_TIMEOUT:
1977 return keyctl_set_timeout((key_serial_t) arg2,
1978 (unsigned) arg3);
1979
1980 case KEYCTL_ASSUME_AUTHORITY:
1981 return keyctl_assume_authority((key_serial_t) arg2);
1982
1983 case KEYCTL_GET_SECURITY:
1984 return keyctl_get_security((key_serial_t) arg2,
1985 (char __user *) arg3,
1986 (size_t) arg4);
1987
1988 case KEYCTL_SESSION_TO_PARENT:
1989 return keyctl_session_to_parent();
1990
1991 case KEYCTL_REJECT:
1992 return keyctl_reject_key((key_serial_t) arg2,
1993 (unsigned) arg3,
1994 (unsigned) arg4,
1995 (key_serial_t) arg5);
1996
1997 case KEYCTL_INSTANTIATE_IOV:
1998 return keyctl_instantiate_key_iov(
1999 (key_serial_t) arg2,
2000 (const struct iovec __user *) arg3,
2001 (unsigned) arg4,
2002 (key_serial_t) arg5);
2003
2004 case KEYCTL_INVALIDATE:
2005 return keyctl_invalidate_key((key_serial_t) arg2);
2006
2007 case KEYCTL_GET_PERSISTENT:
2008 return keyctl_get_persistent((uid_t)arg2, (key_serial_t)arg3);
2009
2010 case KEYCTL_DH_COMPUTE:
2011 return keyctl_dh_compute((struct keyctl_dh_params __user *) arg2,
2012 (char __user *) arg3, (size_t) arg4,
2013 (struct keyctl_kdf_params __user *) arg5);
2014
2015 case KEYCTL_RESTRICT_KEYRING:
2016 return keyctl_restrict_keyring((key_serial_t) arg2,
2017 (const char __user *) arg3,
2018 (const char __user *) arg4);
2019
2020 case KEYCTL_PKEY_QUERY:
2021 if (arg3 != 0)
2022 return -EINVAL;
2023 return keyctl_pkey_query((key_serial_t)arg2,
2024 (const char __user *)arg4,
2025 (struct keyctl_pkey_query __user *)arg5);
2026
2027 case KEYCTL_PKEY_ENCRYPT:
2028 case KEYCTL_PKEY_DECRYPT:
2029 case KEYCTL_PKEY_SIGN:
2030 return keyctl_pkey_e_d_s(
2031 option,
2032 (const struct keyctl_pkey_params __user *)arg2,
2033 (const char __user *)arg3,
2034 (const void __user *)arg4,
2035 (void __user *)arg5);
2036
2037 case KEYCTL_PKEY_VERIFY:
2038 return keyctl_pkey_verify(
2039 (const struct keyctl_pkey_params __user *)arg2,
2040 (const char __user *)arg3,
2041 (const void __user *)arg4,
2042 (const void __user *)arg5);
2043
2044 case KEYCTL_MOVE:
2045 return keyctl_keyring_move((key_serial_t)arg2,
2046 (key_serial_t)arg3,
2047 (key_serial_t)arg4,
2048 (unsigned int)arg5);
2049 case KEYCTL_GRANT_PERMISSION:
2050 return keyctl_grant_permission((key_serial_t)arg2,
2051 (enum key_ace_subject_type)arg3,
2052 (unsigned int)arg4,
2053 (unsigned int)arg5);
2054
2055 case KEYCTL_CAPABILITIES:
2056 return keyctl_capabilities((unsigned char __user *)arg2, (size_t)arg3);
2057
2058 case KEYCTL_WATCH_KEY:
2059 return keyctl_watch_key((key_serial_t)arg2, (int)arg3, (int)arg4);
2060
2061 case KEYCTL_GET_CONTAINER_KEYRING:
2062 return keyctl_get_container_keyring((int)arg2,
(key_serial_t)arg3);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org