diff options
-rw-r--r-- | include/linux/kernel.h | 3 | ||||
-rw-r--r-- | ipc/msg.c | 12 | ||||
-rw-r--r-- | ipc/util.c | 4 | ||||
-rw-r--r-- | ipc/util.h | 1 |
4 files changed, 11 insertions, 9 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index ad5d05efcd1a..53839ba265ec 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -20,6 +20,9 @@ | |||
20 | extern const char linux_banner[]; | 20 | extern const char linux_banner[]; |
21 | extern const char linux_proc_banner[]; | 21 | extern const char linux_proc_banner[]; |
22 | 22 | ||
23 | #define USHORT_MAX ((u16)(~0U)) | ||
24 | #define SHORT_MAX ((s16)(USHORT_MAX>>1)) | ||
25 | #define SHORT_MIN (-SHORT_MAX - 1) | ||
23 | #define INT_MAX ((int)(~0U>>1)) | 26 | #define INT_MAX ((int)(~0U>>1)) |
24 | #define INT_MIN (-INT_MAX - 1) | 27 | #define INT_MIN (-INT_MAX - 1) |
25 | #define UINT_MAX (~0U) | 28 | #define UINT_MAX (~0U) |
@@ -346,19 +346,19 @@ copy_msqid_to_user(void __user *buf, struct msqid64_ds *in, int version) | |||
346 | out.msg_rtime = in->msg_rtime; | 346 | out.msg_rtime = in->msg_rtime; |
347 | out.msg_ctime = in->msg_ctime; | 347 | out.msg_ctime = in->msg_ctime; |
348 | 348 | ||
349 | if (in->msg_cbytes > USHRT_MAX) | 349 | if (in->msg_cbytes > USHORT_MAX) |
350 | out.msg_cbytes = USHRT_MAX; | 350 | out.msg_cbytes = USHORT_MAX; |
351 | else | 351 | else |
352 | out.msg_cbytes = in->msg_cbytes; | 352 | out.msg_cbytes = in->msg_cbytes; |
353 | out.msg_lcbytes = in->msg_cbytes; | 353 | out.msg_lcbytes = in->msg_cbytes; |
354 | 354 | ||
355 | if (in->msg_qnum > USHRT_MAX) | 355 | if (in->msg_qnum > USHORT_MAX) |
356 | out.msg_qnum = USHRT_MAX; | 356 | out.msg_qnum = USHORT_MAX; |
357 | else | 357 | else |
358 | out.msg_qnum = in->msg_qnum; | 358 | out.msg_qnum = in->msg_qnum; |
359 | 359 | ||
360 | if (in->msg_qbytes > USHRT_MAX) | 360 | if (in->msg_qbytes > USHORT_MAX) |
361 | out.msg_qbytes = USHRT_MAX; | 361 | out.msg_qbytes = USHORT_MAX; |
362 | else | 362 | else |
363 | out.msg_qbytes = in->msg_qbytes; | 363 | out.msg_qbytes = in->msg_qbytes; |
364 | out.msg_lqbytes = in->msg_qbytes; | 364 | out.msg_lqbytes = in->msg_qbytes; |
diff --git a/ipc/util.c b/ipc/util.c index c4f1d33b89e4..4c465cb22360 100644 --- a/ipc/util.c +++ b/ipc/util.c | |||
@@ -133,8 +133,8 @@ void ipc_init_ids(struct ipc_ids *ids) | |||
133 | ids->seq = 0; | 133 | ids->seq = 0; |
134 | { | 134 | { |
135 | int seq_limit = INT_MAX/SEQ_MULTIPLIER; | 135 | int seq_limit = INT_MAX/SEQ_MULTIPLIER; |
136 | if(seq_limit > USHRT_MAX) | 136 | if (seq_limit > USHORT_MAX) |
137 | ids->seq_max = USHRT_MAX; | 137 | ids->seq_max = USHORT_MAX; |
138 | else | 138 | else |
139 | ids->seq_max = seq_limit; | 139 | ids->seq_max = seq_limit; |
140 | } | 140 | } |
diff --git a/ipc/util.h b/ipc/util.h index 791c5c012718..cdb966aebe07 100644 --- a/ipc/util.h +++ b/ipc/util.h | |||
@@ -12,7 +12,6 @@ | |||
12 | 12 | ||
13 | #include <linux/err.h> | 13 | #include <linux/err.h> |
14 | 14 | ||
15 | #define USHRT_MAX 0xffff | ||
16 | #define SEQ_MULTIPLIER (IPCMNI) | 15 | #define SEQ_MULTIPLIER (IPCMNI) |
17 | 16 | ||
18 | void sem_init (void); | 17 | void sem_init (void); |