diff options
Diffstat (limited to 'ipc/mqueue.c')
-rw-r--r-- | ipc/mqueue.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index cb0cd3cf3b5a..0acf245f441d 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/skbuff.h> | 23 | #include <linux/skbuff.h> |
24 | #include <linux/netlink.h> | 24 | #include <linux/netlink.h> |
25 | #include <linux/syscalls.h> | 25 | #include <linux/syscalls.h> |
26 | #include <linux/signal.h> | ||
26 | #include <net/sock.h> | 27 | #include <net/sock.h> |
27 | #include "util.h" | 28 | #include "util.h" |
28 | 29 | ||
@@ -767,7 +768,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, | |||
767 | list_del(&receiver->list); | 768 | list_del(&receiver->list); |
768 | receiver->state = STATE_PENDING; | 769 | receiver->state = STATE_PENDING; |
769 | wake_up_process(receiver->task); | 770 | wake_up_process(receiver->task); |
770 | wmb(); | 771 | smp_wmb(); |
771 | receiver->state = STATE_READY; | 772 | receiver->state = STATE_READY; |
772 | } | 773 | } |
773 | 774 | ||
@@ -786,7 +787,7 @@ static inline void pipelined_receive(struct mqueue_inode_info *info) | |||
786 | list_del(&sender->list); | 787 | list_del(&sender->list); |
787 | sender->state = STATE_PENDING; | 788 | sender->state = STATE_PENDING; |
788 | wake_up_process(sender->task); | 789 | wake_up_process(sender->task); |
789 | wmb(); | 790 | smp_wmb(); |
790 | sender->state = STATE_READY; | 791 | sender->state = STATE_READY; |
791 | } | 792 | } |
792 | 793 | ||
@@ -976,8 +977,7 @@ asmlinkage long sys_mq_notify(mqd_t mqdes, | |||
976 | notification.sigev_notify != SIGEV_THREAD)) | 977 | notification.sigev_notify != SIGEV_THREAD)) |
977 | return -EINVAL; | 978 | return -EINVAL; |
978 | if (notification.sigev_notify == SIGEV_SIGNAL && | 979 | if (notification.sigev_notify == SIGEV_SIGNAL && |
979 | (notification.sigev_signo < 0 || | 980 | !valid_signal(notification.sigev_signo)) { |
980 | notification.sigev_signo > _NSIG)) { | ||
981 | return -EINVAL; | 981 | return -EINVAL; |
982 | } | 982 | } |
983 | if (notification.sigev_notify == SIGEV_THREAD) { | 983 | if (notification.sigev_notify == SIGEV_THREAD) { |