diff options
| -rw-r--r-- | include/linux/msg.h | 6 | ||||
| -rw-r--r-- | ipc/msgutil.c | 20 | ||||
| -rw-r--r-- | ipc/util.h | 4 | 
3 files changed, 15 insertions, 15 deletions
| diff --git a/include/linux/msg.h b/include/linux/msg.h index 391af8d11cce..e21f9d44307f 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h @@ -6,9 +6,9 @@  /* one msg_msg structure for each message */  struct msg_msg { -	struct list_head m_list;  -	long  m_type;           -	int m_ts;           /* message text size */ +	struct list_head m_list; +	long m_type; +	size_t m_ts;		/* message text size */  	struct msg_msgseg* next;  	void *security;  	/* the actual message follows immediately */ diff --git a/ipc/msgutil.c b/ipc/msgutil.c index 491e71f2a1b8..7e7095974d54 100644 --- a/ipc/msgutil.c +++ b/ipc/msgutil.c @@ -41,15 +41,15 @@ struct msg_msgseg {  	/* the next part of the message follows immediately */  }; -#define DATALEN_MSG	(int)(PAGE_SIZE-sizeof(struct msg_msg)) -#define DATALEN_SEG	(int)(PAGE_SIZE-sizeof(struct msg_msgseg)) +#define DATALEN_MSG	((size_t)PAGE_SIZE-sizeof(struct msg_msg)) +#define DATALEN_SEG	((size_t)PAGE_SIZE-sizeof(struct msg_msgseg)) -static struct msg_msg *alloc_msg(int len) +static struct msg_msg *alloc_msg(size_t len)  {  	struct msg_msg *msg;  	struct msg_msgseg **pseg; -	int alen; +	size_t alen;  	alen = min(len, DATALEN_MSG);  	msg = kmalloc(sizeof(*msg) + alen, GFP_KERNEL); @@ -80,12 +80,12 @@ out_err:  	return NULL;  } -struct msg_msg *load_msg(const void __user *src, int len) +struct msg_msg *load_msg(const void __user *src, size_t len)  {  	struct msg_msg *msg;  	struct msg_msgseg *seg;  	int err = -EFAULT; -	int alen; +	size_t alen;  	msg = alloc_msg(len);  	if (msg == NULL) @@ -117,8 +117,8 @@ out_err:  struct msg_msg *copy_msg(struct msg_msg *src, struct msg_msg *dst)  {  	struct msg_msgseg *dst_pseg, *src_pseg; -	int len = src->m_ts; -	int alen; +	size_t len = src->m_ts; +	size_t alen;  	BUG_ON(dst == NULL);  	if (src->m_ts > dst->m_ts) @@ -147,9 +147,9 @@ struct msg_msg *copy_msg(struct msg_msg *src, struct msg_msg *dst)  	return ERR_PTR(-ENOSYS);  }  #endif -int store_msg(void __user *dest, struct msg_msg *msg, int len) +int store_msg(void __user *dest, struct msg_msg *msg, size_t len)  { -	int alen; +	size_t alen;  	struct msg_msgseg *seg;  	alen = min(len, DATALEN_MSG); diff --git a/ipc/util.h b/ipc/util.h index f2f5036f2eed..59d78aa94987 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -148,9 +148,9 @@ int ipc_parse_version (int *cmd);  #endif  extern void free_msg(struct msg_msg *msg); -extern struct msg_msg *load_msg(const void __user *src, int len); +extern struct msg_msg *load_msg(const void __user *src, size_t len);  extern struct msg_msg *copy_msg(struct msg_msg *src, struct msg_msg *dst); -extern int store_msg(void __user *dest, struct msg_msg *msg, int len); +extern int store_msg(void __user *dest, struct msg_msg *msg, size_t len);  extern void recompute_msgmni(struct ipc_namespace *); | 
