Lines Matching refs:rc
101 struct smack_known *oskp, int mode, int rc) in smk_bu_note() argument
105 if (rc <= 0) in smk_bu_note()
106 return rc; in smk_bu_note()
107 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_note()
108 rc = 0; in smk_bu_note()
111 pr_info("Smack %s: (%s %s %s) %s\n", smk_bu_mess[rc], in smk_bu_note()
121 int mode, int rc) in smk_bu_current() argument
126 if (rc <= 0) in smk_bu_current()
127 return rc; in smk_bu_current()
128 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_current()
129 rc = 0; in smk_bu_current()
132 pr_info("Smack %s: (%s %s %s) %s %s\n", smk_bu_mess[rc], in smk_bu_current()
142 static int smk_bu_task(struct task_struct *otp, int mode, int rc) in smk_bu_task() argument
148 if (rc <= 0) in smk_bu_task()
149 return rc; in smk_bu_task()
150 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_task()
151 rc = 0; in smk_bu_task()
154 pr_info("Smack %s: (%s %s %s) %s to %s\n", smk_bu_mess[rc], in smk_bu_task()
164 static int smk_bu_inode(struct inode *inode, int mode, int rc) in smk_bu_inode() argument
174 if (rc <= 0) in smk_bu_inode()
175 return rc; in smk_bu_inode()
176 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_inode()
177 rc = 0; in smk_bu_inode()
178 if (rc == SMACK_UNCONFINED_SUBJECT && in smk_bu_inode()
184 pr_info("Smack %s: (%s %s %s) inode=(%s %ld) %s\n", smk_bu_mess[rc], in smk_bu_inode()
194 static int smk_bu_file(struct file *file, int mode, int rc) in smk_bu_file() argument
206 if (rc <= 0) in smk_bu_file()
207 return rc; in smk_bu_file()
208 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_file()
209 rc = 0; in smk_bu_file()
212 pr_info("Smack %s: (%s %s %s) file=(%s %ld %pD) %s\n", smk_bu_mess[rc], in smk_bu_file()
224 int mode, int rc) in smk_bu_credfile() argument
236 if (rc <= 0) in smk_bu_credfile()
237 return rc; in smk_bu_credfile()
238 if (rc > SMACK_UNCONFINED_OBJECT) in smk_bu_credfile()
239 rc = 0; in smk_bu_credfile()
242 pr_info("Smack %s: (%s %s %s) file=(%s %ld %pD) %s\n", smk_bu_mess[rc], in smk_bu_credfile()
264 int rc; in smk_fetch() local
275 rc = ip->i_op->getxattr(dp, name, buffer, SMK_LONGLABEL); in smk_fetch()
276 if (rc < 0) in smk_fetch()
277 skp = ERR_PTR(rc); in smk_fetch()
278 else if (rc == 0) in smk_fetch()
281 skp = smk_import_entry(buffer, rc); in smk_fetch()
348 int rc = 0; in smk_copy_rules() local
355 rc = -ENOMEM; in smk_copy_rules()
361 return rc; in smk_copy_rules()
422 int rc; in smk_ptrace_rule_check() local
441 rc = 0; in smk_ptrace_rule_check()
443 rc = -EACCES; in smk_ptrace_rule_check()
445 rc = 0; in smk_ptrace_rule_check()
447 rc = -EACCES; in smk_ptrace_rule_check()
452 0, rc, saip); in smk_ptrace_rule_check()
455 return rc; in smk_ptrace_rule_check()
459 rc = smk_tskacc(tsp, tracee_known, smk_ptrace_mode(mode), saip); in smk_ptrace_rule_check()
462 return rc; in smk_ptrace_rule_check()
498 int rc; in smack_ptrace_traceme() local
503 rc = smk_ptrace_rule_check(ptp, skp, PTRACE_MODE_ATTACH, __func__); in smack_ptrace_traceme()
504 return rc; in smack_ptrace_traceme()
515 int rc = 0; in smack_syslog() local
522 rc = -EACCES; in smack_syslog()
524 return rc; in smack_syslog()
635 int rc = -ENOMEM; in smack_parse_opts_str() local
689 rc = -EINVAL; in smack_parse_opts_str()
731 rc = -EINVAL; in smack_parse_opts_str()
740 return rc; in smack_parse_opts_str()
854 int rc = 0; in smack_sb_kern_mount() local
863 rc = smack_parse_opts_str(options, &opts); in smack_sb_kern_mount()
864 if (rc) in smack_sb_kern_mount()
868 rc = smack_set_mnt_opts(sb, &opts, 0, NULL); in smack_sb_kern_mount()
872 return rc; in smack_sb_kern_mount()
885 int rc; in smack_sb_statfs() local
891 rc = smk_curacc(sbp->smk_floor, MAY_READ, &ad); in smack_sb_statfs()
892 rc = smk_bu_current("statfs", sbp->smk_floor, MAY_READ, rc); in smack_sb_statfs()
893 return rc; in smack_sb_statfs()
911 int rc; in smack_bprm_set_creds() local
922 rc = 0; in smack_bprm_set_creds()
927 rc = smk_ptrace_rule_check(tracer, in smack_bprm_set_creds()
933 if (rc != 0) in smack_bprm_set_creds()
934 return rc; in smack_bprm_set_creds()
1071 int rc; in smack_inode_link() local
1077 rc = smk_curacc(isp, MAY_WRITE, &ad); in smack_inode_link()
1078 rc = smk_bu_inode(d_backing_inode(old_dentry), MAY_WRITE, rc); in smack_inode_link()
1080 if (rc == 0 && d_is_positive(new_dentry)) { in smack_inode_link()
1083 rc = smk_curacc(isp, MAY_WRITE, &ad); in smack_inode_link()
1084 rc = smk_bu_inode(d_backing_inode(new_dentry), MAY_WRITE, rc); in smack_inode_link()
1087 return rc; in smack_inode_link()
1102 int rc; in smack_inode_unlink() local
1110 rc = smk_curacc(smk_of_inode(ip), MAY_WRITE, &ad); in smack_inode_unlink()
1111 rc = smk_bu_inode(ip, MAY_WRITE, rc); in smack_inode_unlink()
1112 if (rc == 0) { in smack_inode_unlink()
1118 rc = smk_curacc(smk_of_inode(dir), MAY_WRITE, &ad); in smack_inode_unlink()
1119 rc = smk_bu_inode(dir, MAY_WRITE, rc); in smack_inode_unlink()
1121 return rc; in smack_inode_unlink()
1135 int rc; in smack_inode_rmdir() local
1143 rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad); in smack_inode_rmdir()
1144 rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc); in smack_inode_rmdir()
1145 if (rc == 0) { in smack_inode_rmdir()
1151 rc = smk_curacc(smk_of_inode(dir), MAY_WRITE, &ad); in smack_inode_rmdir()
1152 rc = smk_bu_inode(dir, MAY_WRITE, rc); in smack_inode_rmdir()
1155 return rc; in smack_inode_rmdir()
1175 int rc; in smack_inode_rename() local
1183 rc = smk_curacc(isp, MAY_READWRITE, &ad); in smack_inode_rename()
1184 rc = smk_bu_inode(d_backing_inode(old_dentry), MAY_READWRITE, rc); in smack_inode_rename()
1186 if (rc == 0 && d_is_positive(new_dentry)) { in smack_inode_rename()
1189 rc = smk_curacc(isp, MAY_READWRITE, &ad); in smack_inode_rename()
1190 rc = smk_bu_inode(d_backing_inode(new_dentry), MAY_READWRITE, rc); in smack_inode_rename()
1192 return rc; in smack_inode_rename()
1208 int rc; in smack_inode_permission() local
1222 rc = smk_curacc(smk_of_inode(inode), mask, &ad); in smack_inode_permission()
1223 rc = smk_bu_inode(inode, mask, rc); in smack_inode_permission()
1224 return rc; in smack_inode_permission()
1237 int rc; in smack_inode_setattr() local
1247 rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad); in smack_inode_setattr()
1248 rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc); in smack_inode_setattr()
1249 return rc; in smack_inode_setattr()
1263 int rc; in smack_inode_getattr() local
1267 rc = smk_curacc(smk_of_inode(inode), MAY_READ, &ad); in smack_inode_getattr()
1268 rc = smk_bu_inode(inode, MAY_READ, rc); in smack_inode_getattr()
1269 return rc; in smack_inode_getattr()
1292 int rc = 0; in smack_inode_setxattr() local
1311 rc = -EINVAL; in smack_inode_setxattr()
1313 rc = cap_inode_setxattr(dentry, name, value, size, flags); in smack_inode_setxattr()
1316 rc = -EPERM; in smack_inode_setxattr()
1318 if (rc == 0 && check_import) { in smack_inode_setxattr()
1321 rc = PTR_ERR(skp); in smack_inode_setxattr()
1324 rc = -EINVAL; in smack_inode_setxattr()
1330 if (rc == 0) { in smack_inode_setxattr()
1331 rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad); in smack_inode_setxattr()
1332 rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc); in smack_inode_setxattr()
1335 return rc; in smack_inode_setxattr()
1393 int rc; in smack_inode_getxattr() local
1398 rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_READ, &ad); in smack_inode_getxattr()
1399 rc = smk_bu_inode(d_backing_inode(dentry), MAY_READ, rc); in smack_inode_getxattr()
1400 return rc; in smack_inode_getxattr()
1416 int rc = 0; in smack_inode_removexattr() local
1425 rc = -EPERM; in smack_inode_removexattr()
1427 rc = cap_inode_removexattr(dentry, name); in smack_inode_removexattr()
1429 if (rc != 0) in smack_inode_removexattr()
1430 return rc; in smack_inode_removexattr()
1435 rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad); in smack_inode_removexattr()
1436 rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc); in smack_inode_removexattr()
1437 if (rc != 0) in smack_inode_removexattr()
1438 return rc; in smack_inode_removexattr()
1476 int rc = 0; in smack_inode_getsecurity() local
1506 if (rc == 0) { in smack_inode_getsecurity()
1508 rc = ilen; in smack_inode_getsecurity()
1511 return rc; in smack_inode_getsecurity()
1614 int rc = 0; in smack_file_ioctl() local
1622 rc = smk_curacc(smk_of_inode(inode), MAY_WRITE, &ad); in smack_file_ioctl()
1623 rc = smk_bu_file(file, MAY_WRITE, rc); in smack_file_ioctl()
1626 if (rc == 0 && (_IOC_DIR(cmd) & _IOC_READ)) { in smack_file_ioctl()
1627 rc = smk_curacc(smk_of_inode(inode), MAY_READ, &ad); in smack_file_ioctl()
1628 rc = smk_bu_file(file, MAY_READ, rc); in smack_file_ioctl()
1631 return rc; in smack_file_ioctl()
1644 int rc; in smack_file_lock() local
1649 rc = smk_curacc(smk_of_inode(inode), MAY_LOCK, &ad); in smack_file_lock()
1650 rc = smk_bu_file(file, MAY_LOCK, rc); in smack_file_lock()
1651 return rc; in smack_file_lock()
1670 int rc = 0; in smack_file_fcntl() local
1680 rc = smk_curacc(smk_of_inode(inode), MAY_LOCK, &ad); in smack_file_fcntl()
1681 rc = smk_bu_file(file, MAY_LOCK, rc); in smack_file_fcntl()
1687 rc = smk_curacc(smk_of_inode(inode), MAY_WRITE, &ad); in smack_file_fcntl()
1688 rc = smk_bu_file(file, MAY_WRITE, rc); in smack_file_fcntl()
1694 return rc; in smack_file_fcntl()
1720 int rc; in smack_mmap_file() local
1732 rc = 0; in smack_mmap_file()
1773 rc = -EACCES; in smack_mmap_file()
1791 rc = -EACCES; in smack_mmap_file()
1798 return rc; in smack_mmap_file()
1828 int rc; in smack_file_send_sigiotask() local
1838 rc = smk_access(skp, tkp, MAY_WRITE, NULL); in smack_file_send_sigiotask()
1839 rc = smk_bu_note("sigiotask", skp, tkp, MAY_WRITE, rc); in smack_file_send_sigiotask()
1840 if (rc != 0 && has_capability(tsk, CAP_MAC_OVERRIDE)) in smack_file_send_sigiotask()
1841 rc = 0; in smack_file_send_sigiotask()
1845 smack_log(skp->smk_known, tkp->smk_known, MAY_WRITE, rc, &ad); in smack_file_send_sigiotask()
1846 return rc; in smack_file_send_sigiotask()
1857 int rc; in smack_file_receive() local
1875 rc = smk_curacc(smk_of_inode(inode), may, &ad); in smack_file_receive()
1876 rc = smk_bu_file(file, may, rc); in smack_file_receive()
1877 return rc; in smack_file_receive()
1897 int rc; in smack_file_open() local
1904 rc = smk_access(tsp->smk_task, smk_of_inode(inode), MAY_READ, &ad); in smack_file_open()
1905 rc = smk_bu_credfile(cred, file, MAY_READ, rc); in smack_file_open()
1907 return rc; in smack_file_open()
1976 int rc; in smack_cred_prepare() local
1982 rc = smk_copy_rules(&new_tsp->smk_rules, &old_tsp->smk_rules, gfp); in smack_cred_prepare()
1983 if (rc != 0) in smack_cred_prepare()
1984 return rc; in smack_cred_prepare()
1986 rc = smk_copy_relabel(&new_tsp->smk_relabel, &old_tsp->smk_relabel, in smack_cred_prepare()
1988 if (rc != 0) in smack_cred_prepare()
1989 return rc; in smack_cred_prepare()
2067 int rc; in smk_curacc_on_task() local
2071 rc = smk_curacc(skp, access, &ad); in smk_curacc_on_task()
2072 rc = smk_bu_task(p, access, rc); in smk_curacc_on_task()
2073 return rc; in smk_curacc_on_task()
2212 int rc; in smack_task_kill() local
2221 rc = smk_curacc(tkp, MAY_WRITE, &ad); in smack_task_kill()
2222 rc = smk_bu_task(p, MAY_WRITE, rc); in smack_task_kill()
2223 return rc; in smack_task_kill()
2231 rc = smk_access(skp, tkp, MAY_WRITE, &ad); in smack_task_kill()
2232 rc = smk_bu_note("USB signal", skp, tkp, MAY_WRITE, rc); in smack_task_kill()
2233 return rc; in smack_task_kill()
2430 int rc = 0; in smack_netlabel() local
2448 rc = netlbl_sock_setattr(sk, sk->sk_family, &skp->smk_netlabel); in smack_netlabel()
2454 return rc; in smack_netlabel()
2471 int rc; in smack_netlabel_send() local
2490 rc = smk_access(skp, hkp, MAY_WRITE, &ad); in smack_netlabel_send()
2491 rc = smk_bu_note("IPv4 host check", skp, hkp, MAY_WRITE, rc); in smack_netlabel_send()
2494 rc = 0; in smack_netlabel_send()
2497 if (rc != 0) in smack_netlabel_send()
2498 return rc; in smack_netlabel_send()
2521 int rc; in smk_ipv6_check() local
2532 rc = smk_access(subject, object, MAY_WRITE, &ad); in smk_ipv6_check()
2533 rc = smk_bu_note("IPv6 check", subject, object, MAY_WRITE, rc); in smk_ipv6_check()
2534 return rc; in smk_ipv6_check()
2691 int rc = 0; in smack_inode_setsecurity() local
2722 rc = smack_netlabel(sock->sk, SMACK_CIPSO_SOCKET); in smack_inode_setsecurity()
2723 if (rc != 0) in smack_inode_setsecurity()
2726 __func__, -rc); in smack_inode_setsecurity()
2809 int rc = 0; in smack_socket_connect() local
2825 rc = smack_netlabel_send(sock->sk, (struct sockaddr_in *)sap); in smack_socket_connect()
2833 rc = smk_ipv6_check(ssp->smk_out, rsp, sip, in smack_socket_connect()
2837 rc = smk_ipv6_port_check(sock->sk, sip, SMK_CONNECTING); in smack_socket_connect()
2841 return rc; in smack_socket_connect()
2939 int rc; in smk_curacc_shm() local
2945 rc = smk_curacc(ssp, access, &ad); in smk_curacc_shm()
2946 rc = smk_bu_current("shm", ssp, access, rc); in smk_curacc_shm()
2947 return rc; in smk_curacc_shm()
3066 int rc; in smk_curacc_sem() local
3072 rc = smk_curacc(ssp, access, &ad); in smk_curacc_sem()
3073 rc = smk_bu_current("sem", ssp, access, rc); in smk_curacc_sem()
3074 return rc; in smk_curacc_sem()
3199 int rc; in smk_curacc_msq() local
3205 rc = smk_curacc(msp, access, &ad); in smk_curacc_msq()
3206 rc = smk_bu_current("msq", msp, access, rc); in smk_curacc_msq()
3207 return rc; in smk_curacc_msq()
3303 int rc; in smack_ipc_permission() local
3309 rc = smk_curacc(iskp, may, &ad); in smack_ipc_permission()
3310 rc = smk_bu_current("svipc", iskp, may, rc); in smack_ipc_permission()
3311 return rc; in smack_ipc_permission()
3343 int rc; in smack_d_instantiate() local
3501 rc = inode->i_op->setxattr(dp, in smack_d_instantiate()
3506 rc = inode->i_op->getxattr(dp, in smack_d_instantiate()
3509 if (rc >= 0 && strncmp(trattr, TRANS_TRUE, in smack_d_instantiate()
3511 rc = -EINVAL; in smack_d_instantiate()
3513 if (rc >= 0) in smack_d_instantiate()
3594 int rc; in smack_setprocattr() local
3623 rc = -EPERM; in smack_setprocattr()
3626 rc = 0; in smack_setprocattr()
3629 if (rc) in smack_setprocattr()
3630 return rc; in smack_setprocattr()
3666 int rc = 0; in smack_unix_stream_connect() local
3678 rc = smk_access(skp, okp, MAY_WRITE, &ad); in smack_unix_stream_connect()
3679 rc = smk_bu_note("UDS connect", skp, okp, MAY_WRITE, rc); in smack_unix_stream_connect()
3680 if (rc == 0) { in smack_unix_stream_connect()
3683 rc = smk_access(okp, skp, MAY_WRITE, &ad); in smack_unix_stream_connect()
3684 rc = smk_bu_note("UDS connect", okp, skp, in smack_unix_stream_connect()
3685 MAY_WRITE, rc); in smack_unix_stream_connect()
3692 if (rc == 0) { in smack_unix_stream_connect()
3697 return rc; in smack_unix_stream_connect()
3713 int rc; in smack_unix_may_send() local
3725 rc = smk_access(ssp->smk_out, osp->smk_in, MAY_WRITE, &ad); in smack_unix_may_send()
3726 rc = smk_bu_note("UDS send", ssp->smk_out, osp->smk_in, MAY_WRITE, rc); in smack_unix_may_send()
3727 return rc; in smack_unix_may_send()
3751 int rc = 0; in smack_socket_sendmsg() local
3761 rc = smack_netlabel_send(sock->sk, sip); in smack_socket_sendmsg()
3767 rc = smk_ipv6_check(ssp->smk_out, rsp, sap, in smack_socket_sendmsg()
3771 rc = smk_ipv6_port_check(sock->sk, sap, SMK_SENDING); in smack_socket_sendmsg()
3775 return rc; in smack_socket_sendmsg()
3924 int rc = 0; in smack_socket_sock_rcv_skb() local
3952 rc = netlbl_skbuff_getattr(skb, sk->sk_family, &secattr); in smack_socket_sock_rcv_skb()
3953 if (rc == 0) in smack_socket_sock_rcv_skb()
3975 rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad); in smack_socket_sock_rcv_skb()
3976 rc = smk_bu_note("IPv4 delivery", skp, ssp->smk_in, in smack_socket_sock_rcv_skb()
3977 MAY_WRITE, rc); in smack_socket_sock_rcv_skb()
3978 if (rc != 0) in smack_socket_sock_rcv_skb()
3979 netlbl_skbuff_err(skb, rc, 0); in smack_socket_sock_rcv_skb()
3999 rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad); in smack_socket_sock_rcv_skb()
4000 rc = smk_bu_note("IPv6 delivery", skp, ssp->smk_in, in smack_socket_sock_rcv_skb()
4001 MAY_WRITE, rc); in smack_socket_sock_rcv_skb()
4004 rc = smk_ipv6_port_check(sk, &sadd, SMK_RECEIVING); in smack_socket_sock_rcv_skb()
4010 return rc; in smack_socket_sock_rcv_skb()
4029 int rc = 0; in smack_socket_getpeersec_stream() local
4038 rc = -ERANGE; in smack_socket_getpeersec_stream()
4040 rc = -EFAULT; in smack_socket_getpeersec_stream()
4043 rc = -EFAULT; in smack_socket_getpeersec_stream()
4045 return rc; in smack_socket_getpeersec_stream()
4066 int rc; in smack_socket_getpeersec_dgram() local
4096 rc = netlbl_skbuff_getattr(skb, family, &secattr); in smack_socket_getpeersec_dgram()
4097 if (rc == 0) { in smack_socket_getpeersec_dgram()
4157 int rc; in smack_inet_conn_request() local
4190 rc = netlbl_skbuff_getattr(skb, family, &secattr); in smack_inet_conn_request()
4191 if (rc == 0) in smack_inet_conn_request()
4211 rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad); in smack_inet_conn_request()
4212 rc = smk_bu_note("IPv4 connect", skp, ssp->smk_in, MAY_WRITE, rc); in smack_inet_conn_request()
4213 if (rc != 0) in smack_inet_conn_request()
4214 return rc; in smack_inet_conn_request()
4234 rc = netlbl_req_setattr(req, &skp->smk_netlabel); in smack_inet_conn_request()
4238 return rc; in smack_inet_conn_request()
4316 int rc; in smack_key_permission() local
4341 rc = smk_access(tkp, keyp->security, request, &ad); in smack_key_permission()
4342 rc = smk_bu_note("key access", tkp, keyp->security, request, rc); in smack_key_permission()
4343 return rc; in smack_key_permission()