| To: | <linux-mips@linux-mips.org> |
|---|---|
| Subject: | N32 shmat problem identified! Kernel fix needed. |
| From: | "Kaz Kylheku" <kaz@zeugmasystems.com> |
| Date: | Fri, 1 Dec 2006 16:33:16 -0800 |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| Sender: | linux-mips-bounce@linux-mips.org |
| Thread-index: | AccVn4woxnreGnt4Qeu5SryUvIlOVgAAtm7gAAGkLSA= |
| Thread-topic: | N32 shmat problem identified! Kernel fix needed. |
The problem is simple. The function named sys32_shmat has no reason to exist, and is broken. It assumes that user space has passed a pointer to the location where the resulting pointer should be stored. But that is not the shmat API, and glibc will pass no such parameter. So a null dereference results, leading to EFAULT. The fix is to remove this function from the code base and quite simply to wire the normal sys_shmat into the n32 syscall table. Since there is in fact no pointer-to-pointer argument, this function doesn't have a 32 bit compatibility issues. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RE: Trouble with System V IPC on n32., Kaz Kylheku |
|---|---|
| Next by Date: | initramfs -- boot args?, Ashlesha Shintre |
| Previous by Thread: | Trouble with System V IPC on n32., Kaz Kylheku |
| Next by Thread: | Re: N32 shmat problem identified! Kernel fix needed., Ralf Baechle |
| Indexes: | [Date] [Thread] [Top] [All Lists] |