[ammarfaizi2-block:google/android/kernel/common/deprecated/android-4.14-p-release 137/6167] security/commoncap.c:75:5: sparse: sparse: symbol '__cap_capable' was not declared. Should it be static?

From: kernel test robot
Date: Thu Mar 03 2022 - 01:17:41 EST


tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/deprecated/android-4.14-p-release
head: 0ca5d5ac9152d01b3494fb2efb5390319eb9904a
commit: 2b02b4ab89b9cba5aec936046d8538962c5142fc [137/6167] ANDROID: net: paranoid: commoncap: Begin to warn users of implicit PARANOID_NETWORK capability grants
config: i386-randconfig-s001-20211019 (https://download.01.org/0day-ci/archive/20220303/202203031440.TcuCrT9t-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/2b02b4ab89b9cba5aec936046d8538962c5142fc
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/deprecated/android-4.14-p-release
git checkout 2b02b4ab89b9cba5aec936046d8538962c5142fc
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
>> security/commoncap.c:75:5: sparse: sparse: symbol '__cap_capable' was not declared. Should it be static?
security/commoncap.c:474:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] magic @@ got int @@
security/commoncap.c:474:31: sparse: expected restricted __le32 [usertype] magic
security/commoncap.c:474:31: sparse: got int
security/commoncap.c:475:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] nsmagic @@ got unsigned int [usertype] @@
security/commoncap.c:475:33: sparse: expected restricted __le32 [usertype] nsmagic
security/commoncap.c:475:33: sparse: got unsigned int [usertype]
security/commoncap.c:476:29: sparse: sparse: restricted __le32 degrades to integer
security/commoncap.c:477:39: sparse: sparse: invalid assignment: |=
security/commoncap.c:477:39: sparse: left side has type restricted __le32
security/commoncap.c:477:39: sparse: right side has type int
security/commoncap.c:479:42: sparse: sparse: cast from restricted __le32
security/commoncap.c:1226:41: sparse: sparse: dubious: !x | y
security/commoncap.c:1307:27: sparse: sparse: symbol 'capability_hooks' was not declared. Should it be static?
security/commoncap.c:75:5: warning: no previous declaration for '__cap_capable' [-Wmissing-declarations]
int __cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
^~~~~~~~~~~~~
In file included from include/linux/capability.h:16:0,
from security/commoncap.c:10:
security/commoncap.c: In function 'cap_prctl_drop':
include/uapi/linux/capability.h:372:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
^
security/commoncap.c:1112:7: note: in expansion of macro 'cap_valid'
if (!cap_valid(cap))
^~~~~~~~~
security/commoncap.c: In function 'cap_task_prctl':
include/uapi/linux/capability.h:372:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
^
security/commoncap.c:1142:8: note: in expansion of macro 'cap_valid'
if (!cap_valid(arg2))
^~~~~~~~~
include/uapi/linux/capability.h:372:27: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
^
security/commoncap.c:1226:10: note: in expansion of macro 'cap_valid'
if (((!cap_valid(arg3)) | arg4 | arg5))
^~~~~~~~~

Please review and possibly fold the followup patch.

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx