Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: + fix-compat-space-msg-size-limit-for-msgsnd-msgrcv.patch added to -mm tree | Date | Tue, 14 Nov 2006 01:38:18 +0100 |
| |
On Tuesday 14 November 2006 00:58, akpm@osdl.org wrote:
> Subject: Fix compat space msg size limit for msgsnd/msgrcv > From: suzuki <suzuki@linux.vnet.ibm.com> > > Currently we allocate 64k space on the user stack and use it the msgbuf for > sys_{msgrcv,msgsnd} for compat and the results are later copied in user [by > copy_in_user]. > > This patch introduces helper routines for sys_{msgrcv,msgsnd} which would > accept the pointer to msgbuf along with the msgp->mtext. This avoids the > need to allocate the msgsize on the userspace (thus removing the size > limit) and the overhead of an extra copy_in_user(). > > Signed-off-by: Suzuki K P <suzuki@in.ibm.com> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: "David S. Miller" <davem@davemloft.net> > Signed-off-by: Andrew Morton <akpm@osdl.org>
This patch is definitely a big step in the right direction here, but why not go all the way and pass msgp->mtype to do_msgsnd/do_msgrcv as kernel data instead of a user space pointer? This way you can get rid of the compat_alloc_userspace entirely and save avoid doing an extra put_user/get_user pair in the compat_ function.
Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |