All of lore.kernel.org
 help / color / mirror / Atom feed
* N32 shmat problem identified! Kernel fix needed.
@ 2006-12-02  0:33 ` Kaz Kylheku
  0 siblings, 0 replies; 4+ messages in thread
From: Kaz Kylheku @ 2006-12-02  0:33 UTC (permalink / raw)
  To: linux-mips

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* N32 shmat problem identified! Kernel fix needed.
@ 2006-12-02  0:33 ` Kaz Kylheku
  0 siblings, 0 replies; 4+ messages in thread
From: Kaz Kylheku @ 2006-12-02  0:33 UTC (permalink / raw)
  To: linux-mips

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: N32 shmat problem identified! Kernel fix needed.
  2006-12-02  0:33 ` Kaz Kylheku
  (?)
@ 2006-12-02  2:24 ` Ralf Baechle
  2006-12-03 13:42   ` Atsushi Nemoto
  -1 siblings, 1 reply; 4+ messages in thread
From: Ralf Baechle @ 2006-12-02  2:24 UTC (permalink / raw)
  To: Kaz Kylheku; +Cc: linux-mips

On Fri, Dec 01, 2006 at 04:33:16PM -0800, Kaz Kylheku wrote:

> 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.

That's fixed since two months.

  Ralf

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: N32 shmat problem identified! Kernel fix needed.
  2006-12-02  2:24 ` Ralf Baechle
@ 2006-12-03 13:42   ` Atsushi Nemoto
  0 siblings, 0 replies; 4+ messages in thread
From: Atsushi Nemoto @ 2006-12-03 13:42 UTC (permalink / raw)
  To: ralf; +Cc: kaz, linux-mips

On Sat, 2 Dec 2006 02:24:04 +0000, Ralf Baechle <ralf@linux-mips.org> wrote:
> > 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.
> 
> That's fixed since two months.

Minor correction: about a month, not two :)

http://www.linux-mips.org/archives/linux-mips/2006-11/msg00030.html

This fix is already merged to master and linux-2.6.1x-stable branches
in linux-mips.org tree, though not merged to kernel.org's tree yet
unfortunately.

---
Atsushi Nemoto

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-03 13:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-02  0:33 N32 shmat problem identified! Kernel fix needed Kaz Kylheku
2006-12-02  0:33 ` Kaz Kylheku
2006-12-02  2:24 ` Ralf Baechle
2006-12-03 13:42   ` Atsushi Nemoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.