All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@digeo.com>
To: Arnd Bergmann <arnd@bergmann-dalldorf.de>
Cc: kernel-janitor-discuss@lists.sourceforge.net,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: might_sleep() in copy_{from,to}_user and friends?
Date: Fri, 01 Nov 2002 02:51:17 -0800	[thread overview]
Message-ID: <3DC25CA5.B15848E0@digeo.com> (raw)
In-Reply-To: 200211011302.05461.arnd@bergmann-dalldorf.de

Arnd Bergmann wrote:
> 
> I have been looking for more places in 2.5 that can be marked
> might_sleep() and noticed that all the functions in asm/uaccess.h
> are not marked although they sleep if the memory they access
> has to be paged in.
> 
> After adding might_sleep() in ten places in asm-i386/uaccess.h
> and arch/i386/lib/usercopy.c, I have been running this kernel
> for about two weeks.

This is an excellent point.  If someone is holding a lock
across a uaccess function and userspace has passed the address
of a valid but not-present page we will hit the "atomic copy_user"
path.  Userspace will be returned an EFAULT and will be left
scratching its head, wondering what it did wrong.

Or the kernel will deadlock, of course.

I don't think we need to add the check to anything other than
ia32.  That will pick up the great bulk of any problems, and
arch-specific code won't be doing these copies much anyway.

So if you could prepare a patch which adds these checks for
ia32 it would be muchly appreciated.

And if you're feeling really keen, Dave Jones has a patch which
makes the might_sleep check a real config option rather than
overloading CONFIG_DEBUG_KERNEL - would be nice to squeeze that
out of him if poss.

Thanks.

  parent reply	other threads:[~2002-11-01 10:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-01 12:02 might_sleep() in copy_{from,to}_user and friends? Arnd Bergmann
2002-11-01 10:10 ` Jaroslav Kysela
2002-11-01 10:51 ` Andrew Morton [this message]
2002-11-01 14:13   ` Dave Jones
2002-11-01 14:42   ` Arnd Bergmann
2002-11-01 22:34   ` Randy.Dunlap
  -- strict thread matches above, loose matches on Subject: below --
2002-11-01 13:47 Manfred Spraul
2002-11-01 16:49 ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3DC25CA5.B15848E0@digeo.com \
    --to=akpm@digeo.com \
    --cc=arnd@bergmann-dalldorf.de \
    --cc=kernel-janitor-discuss@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.