diff options
Diffstat (limited to 'include/linux')
36 files changed, 681 insertions, 304 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 95ac82340c3b..39da666067b9 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
| @@ -56,8 +56,6 @@ header-y += dlm_device.h | |||
| 56 | header-y += dlm_netlink.h | 56 | header-y += dlm_netlink.h |
| 57 | header-y += dm-ioctl.h | 57 | header-y += dm-ioctl.h |
| 58 | header-y += dn.h | 58 | header-y += dn.h |
| 59 | header-y += dqblk_v1.h | ||
| 60 | header-y += dqblk_v2.h | ||
| 61 | header-y += dqblk_xfs.h | 59 | header-y += dqblk_xfs.h |
| 62 | header-y += efs_fs_sb.h | 60 | header-y += efs_fs_sb.h |
| 63 | header-y += elf-fdpic.h | 61 | header-y += elf-fdpic.h |
| @@ -134,8 +132,6 @@ header-y += posix_types.h | |||
| 134 | header-y += ppdev.h | 132 | header-y += ppdev.h |
| 135 | header-y += prctl.h | 133 | header-y += prctl.h |
| 136 | header-y += qnxtypes.h | 134 | header-y += qnxtypes.h |
| 137 | header-y += quotaio_v1.h | ||
| 138 | header-y += quotaio_v2.h | ||
| 139 | header-y += radeonfb.h | 135 | header-y += radeonfb.h |
| 140 | header-y += raw.h | 136 | header-y += raw.h |
| 141 | header-y += resource.h | 137 | header-y += resource.h |
diff --git a/include/linux/audit.h b/include/linux/audit.h index 26c4f6f65a46..67e5dbfc2961 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
| @@ -247,6 +247,18 @@ | |||
| 247 | #define AUDIT_GREATER_THAN_OR_EQUAL (AUDIT_GREATER_THAN|AUDIT_EQUAL) | 247 | #define AUDIT_GREATER_THAN_OR_EQUAL (AUDIT_GREATER_THAN|AUDIT_EQUAL) |
| 248 | #define AUDIT_OPERATORS (AUDIT_EQUAL|AUDIT_NOT_EQUAL|AUDIT_BIT_MASK) | 248 | #define AUDIT_OPERATORS (AUDIT_EQUAL|AUDIT_NOT_EQUAL|AUDIT_BIT_MASK) |
| 249 | 249 | ||
| 250 | enum { | ||
| 251 | Audit_equal, | ||
| 252 | Audit_not_equal, | ||
| 253 | Audit_bitmask, | ||
| 254 | Audit_bittest, | ||
| 255 | Audit_lt, | ||
| 256 | Audit_gt, | ||
| 257 | Audit_le, | ||
| 258 | Audit_ge, | ||
| 259 | Audit_bad | ||
| 260 | }; | ||
| 261 | |||
| 250 | /* Status symbols */ | 262 | /* Status symbols */ |
| 251 | /* Mask values */ | 263 | /* Mask values */ |
| 252 | #define AUDIT_STATUS_ENABLED 0x0001 | 264 | #define AUDIT_STATUS_ENABLED 0x0001 |
| @@ -373,6 +385,8 @@ struct audit_krule { | |||
| 373 | struct audit_watch *watch; /* associated watch */ | 385 | struct audit_watch *watch; /* associated watch */ |
| 374 | struct audit_tree *tree; /* associated watched tree */ | 386 | struct audit_tree *tree; /* associated watched tree */ |
| 375 | struct list_head rlist; /* entry in audit_{watch,tree}.rules list */ | 387 | struct list_head rlist; /* entry in audit_{watch,tree}.rules list */ |
| 388 | struct list_head list; /* for AUDIT_LIST* purposes only */ | ||
| 389 | u64 prio; | ||
| 376 | }; | 390 | }; |
| 377 | 391 | ||
| 378 | struct audit_field { | 392 | struct audit_field { |
| @@ -443,70 +457,56 @@ extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); | |||
| 443 | #define audit_get_loginuid(t) ((t)->loginuid) | 457 | #define audit_get_loginuid(t) ((t)->loginuid) |
| 444 | #define audit_get_sessionid(t) ((t)->sessionid) | 458 | #define audit_get_sessionid(t) ((t)->sessionid) |
| 445 | extern void audit_log_task_context(struct audit_buffer *ab); | 459 | extern void audit_log_task_context(struct audit_buffer *ab); |
| 446 | extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp); | 460 | extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); |
| 447 | extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode); | 461 | extern void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode); |
| 448 | extern int audit_bprm(struct linux_binprm *bprm); | 462 | extern int audit_bprm(struct linux_binprm *bprm); |
| 449 | extern int audit_socketcall(int nargs, unsigned long *args); | 463 | extern void audit_socketcall(int nargs, unsigned long *args); |
| 450 | extern int audit_sockaddr(int len, void *addr); | 464 | extern int audit_sockaddr(int len, void *addr); |
| 451 | extern int __audit_fd_pair(int fd1, int fd2); | 465 | extern void __audit_fd_pair(int fd1, int fd2); |
| 452 | extern int audit_set_macxattr(const char *name); | 466 | extern int audit_set_macxattr(const char *name); |
| 453 | extern int __audit_mq_open(int oflag, mode_t mode, struct mq_attr __user *u_attr); | 467 | extern void __audit_mq_open(int oflag, mode_t mode, struct mq_attr *attr); |
| 454 | extern int __audit_mq_timedsend(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec __user *u_abs_timeout); | 468 | extern void __audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout); |
| 455 | extern int __audit_mq_timedreceive(mqd_t mqdes, size_t msg_len, unsigned int __user *u_msg_prio, const struct timespec __user *u_abs_timeout); | 469 | extern void __audit_mq_notify(mqd_t mqdes, const struct sigevent *notification); |
| 456 | extern int __audit_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification); | 470 | extern void __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat); |
| 457 | extern int __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat); | ||
| 458 | extern int __audit_log_bprm_fcaps(struct linux_binprm *bprm, | 471 | extern int __audit_log_bprm_fcaps(struct linux_binprm *bprm, |
| 459 | const struct cred *new, | 472 | const struct cred *new, |
| 460 | const struct cred *old); | 473 | const struct cred *old); |
| 461 | extern int __audit_log_capset(pid_t pid, const struct cred *new, const struct cred *old); | 474 | extern void __audit_log_capset(pid_t pid, const struct cred *new, const struct cred *old); |
| 462 | 475 | ||
| 463 | static inline int audit_ipc_obj(struct kern_ipc_perm *ipcp) | 476 | static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) |
| 464 | { | 477 | { |
| 465 | if (unlikely(!audit_dummy_context())) | 478 | if (unlikely(!audit_dummy_context())) |
| 466 | return __audit_ipc_obj(ipcp); | 479 | __audit_ipc_obj(ipcp); |
| 467 | return 0; | ||
| 468 | } | ||
| 469 | static inline int audit_fd_pair(int fd1, int fd2) | ||
| 470 | { | ||
| 471 | if (unlikely(!audit_dummy_context())) | ||
| 472 | return __audit_fd_pair(fd1, fd2); | ||
| 473 | return 0; | ||
| 474 | } | 480 | } |
| 475 | static inline int audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode) | 481 | static inline void audit_fd_pair(int fd1, int fd2) |
| 476 | { | 482 | { |
| 477 | if (unlikely(!audit_dummy_context())) | 483 | if (unlikely(!audit_dummy_context())) |
| 478 | return __audit_ipc_set_perm(qbytes, uid, gid, mode); | 484 | __audit_fd_pair(fd1, fd2); |
| 479 | return 0; | ||
| 480 | } | 485 | } |
| 481 | static inline int audit_mq_open(int oflag, mode_t mode, struct mq_attr __user *u_attr) | 486 | static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode) |
| 482 | { | 487 | { |
| 483 | if (unlikely(!audit_dummy_context())) | 488 | if (unlikely(!audit_dummy_context())) |
| 484 | return __audit_mq_open(oflag, mode, u_attr); | 489 | __audit_ipc_set_perm(qbytes, uid, gid, mode); |
| 485 | return 0; | ||
| 486 | } | 490 | } |
| 487 | static inline int audit_mq_timedsend(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec __user *u_abs_timeout) | 491 | static inline void audit_mq_open(int oflag, mode_t mode, struct mq_attr *attr) |
| 488 | { | 492 | { |
| 489 | if (unlikely(!audit_dummy_context())) | 493 | if (unlikely(!audit_dummy_context())) |
| 490 | return __audit_mq_timedsend(mqdes, msg_len, msg_prio, u_abs_timeout); | 494 | __audit_mq_open(oflag, mode, attr); |
| 491 | return 0; | ||
| 492 | } | 495 | } |
| 493 | static inline int audit_mq_timedreceive(mqd_t mqdes, size_t msg_len, unsigned int __user *u_msg_prio, const struct timespec __user *u_abs_timeout) | 496 | static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout) |
| 494 | { | 497 | |
