tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable-security.git linux-3.10.y-security head: 5727b476fa7962e1849e7ba00870eb62dd1c9592 commit: fc3323c39215f276c710a0eaad6fbf78bafa4eac [204/1330] ipc,shm: shorten critical region for shmctl config: i386-defconfig (attached as .config) compiler: gcc-4.9 (Debian 4.9.3-14) 4.9.3 reproduce: git checkout fc3323c39215f276c710a0eaad6fbf78bafa4eac # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): ipc/shm.c: In function 'SYSC_shmctl': >> ipc/shm.c:923:3: error: implicit declaration of function 'shm_obtain_object_check' [-Werror=implicit-function-declaration] shp = shm_obtain_object_check(ns, shmid); ^ >> ipc/shm.c:923:7: warning: assignment makes pointer from integer without a cast shp = shm_obtain_object_check(ns, shmid); ^ >> ipc/shm.c:966:3: error: implicit declaration of function 'ipc_unlock_object' [-Werror=implicit-function-declaration] ipc_unlock_object(&shp->shm_perm); ^ cc1: some warnings being treated as errors vim +/shm_obtain_object_check +923 ipc/shm.c 917 case SHM_LOCK: 918 case SHM_UNLOCK: 919 { 920 struct file *shm_file; 921 922 rcu_read_lock(); > 923 shp = shm_obtain_object_check(ns, shmid); 924 if (IS_ERR(shp)) { 925 err = PTR_ERR(shp); 926 goto out_unlock1; 927 } 928 929 audit_ipc_obj(&(shp->shm_perm)); 930 err = security_shm_shmctl(shp, cmd); 931 if (err) 932 goto out_unlock1; 933 934 ipc_lock_object(&shp->shm_perm); 935 if (!ns_capable(ns->user_ns, CAP_IPC_LOCK)) { 936 kuid_t euid = current_euid(); 937 err = -EPERM; 938 if (!uid_eq(euid, shp->shm_perm.uid) && 939 !uid_eq(euid, shp->shm_perm.cuid)) 940 goto out_unlock0; 941 if (cmd == SHM_LOCK && !rlimit(RLIMIT_MEMLOCK)) 942 goto out_unlock0; 943 } 944 945 shm_file = shp->shm_file; 946 if (is_file_hugepages(shm_file)) 947 goto out_unlock0; 948 949 if (cmd == SHM_LOCK) { 950 struct user_struct *user = current_user(); 951 err = shmem_lock(shm_file, 1, user); 952 if (!err && !(shp->shm_perm.mode & SHM_LOCKED)) { 953 shp->shm_perm.mode |= SHM_LOCKED; 954 shp->mlock_user = user; 955 } 956 goto out_unlock0; 957 } 958 959 /* SHM_UNLOCK */ 960 if (!(shp->shm_perm.mode & SHM_LOCKED)) 961 goto out_unlock0; 962 shmem_lock(shm_file, 0, shp->mlock_user); 963 shp->shm_perm.mode &= ~SHM_LOCKED; 964 shp->mlock_user = NULL; 965 get_file(shm_file); > 966 ipc_unlock_object(&shp->shm_perm); 967 rcu_read_unlock(); 968 shmem_unlock_mapping(shm_file->f_mapping); 969 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data