All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, john.williams@petalogix.com
Subject: Re: [PATCH 20/30] microblaze_mmu_v1: uaccess MMU update
Date: Wed, 29 Apr 2009 17:19:37 +0200	[thread overview]
Message-ID: <49F87009.1000905@monstr.eu> (raw)
In-Reply-To: <200904291258.40667.arnd@arndb.de>

Arnd Bergmann wrote:
> On Wednesday 29 April 2009, Michal Simek wrote:
>> Here is that change which remove address space problem.
>>
>> #define __clear_user(addr, n)   (memset((__force void *)(addr), 0, (n)), 0)
>>
>> Am I right?
>>
>> The same mishmash is for memset_fromio/memset_toio and maybe some others which I want to fix too.
> 
> This will work, but a better fix would be to define an inline
> function that explicitly takes a __user pointer. This would give
> you warnings when code accidentally calls __clear_user on a
> kernel pointer (this also adds the might_sleep()):
> 
> static inline unsigned long __must_check 
> __clear_user(void __user *to, unsigned long n)
> {
> 	memset((__force void *)addr, 0, n);
> 	return 0;
> }
> 
> static inline unsigned long __must_check 
> clear_user(void __user *to, unsigned long n)
> {
> 	might_sleep();
> 	if (unlikely(!access_ok(VERIFY_WRITE, to, n)))
> 		return n;
> 
> 	return __clear_user(to, n);
> }
> 
> The above is just the nommu variant. For mmu, you need to
> have exception handling in __clear_user to take care of the
> case where the address is part of the user mapping (access_ok)
> but not currently mapped.

Is it possible to do it for noMMU kernel too? I mean current MMU implementation of
__clear_user in asm is faster than call memset for noMMU. I think I can use MMU implementation for
noMMU too. Add two words to __ex_table
just extend size of one section but not too much and won't be used for noMMU.

Michal


> 
> 	Arnd <><


-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854

  reply	other threads:[~2009-04-29 15:19 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-27  8:31 Microblaze MMU patches monstr
2009-04-27  8:31 ` [PATCH 01/30] microblaze_mmu_v1: Makefiles monstr
2009-04-27  8:31   ` [PATCH 02/30] microblaze_mmu_v1: Kconfig update monstr
2009-04-27  8:31     ` [PATCH 03/30] microblaze_mmu_v1: Add mmu_defconfig monstr
2009-04-27  8:31       ` [PATCH 04/30] microblaze_mmu_v1: MMU update for startup code monstr
2009-04-27  8:31         ` [PATCH 05/30] microblaze_mmu_v1: Alocate TLB for early console monstr
2009-04-27  8:31           ` [PATCH 06/30] microblaze_mmu_v1: TLB low level code monstr
2009-04-27  8:31             ` [PATCH 07/30] microblaze_mmu_v1: MMU initialization monstr
2009-04-27  8:31               ` [PATCH 08/30] microblaze_mmu_v1: mmu.h update monstr
2009-04-27  8:31                 ` [PATCH 09/30] microblaze_mmu_v1: Page fault handling high level - fault.c monstr
2009-04-27  8:31                   ` [PATCH 10/30] microblaze_mmu_v1: Context handling - mmu_context.c/h monstr
2009-04-27  8:32                     ` [PATCH 11/30] microblaze_mmu_v1: Page table - ioremap - pgtable.c/h, section update monstr
2009-04-27  8:32                       ` [PATCH 12/30] microblaze_mmu_v1: io.h MMU update monstr
2009-04-27  8:32                         ` [PATCH 13/30] microblaze_mmu_v1: pgalloc.h and page.h monstr
2009-04-27  8:32                           ` [PATCH 14/30] microblaze_mmu_v1: Update process creation for MMU monstr
2009-04-27  8:32                             ` [PATCH 15/30] microblaze_mmu_v1: Update tlb.h and tlbflush.h monstr
2009-04-27  8:32                               ` [PATCH 16/30] microblaze_mmu_v1: MMU asm offset update monstr
2009-04-27  8:32                                 ` [PATCH 17/30] microblaze_mmu_v1: Add CURRENT_TASK for entry.S monstr
2009-04-27  8:32                                   ` [PATCH 18/30] microblaze_mmu_v1: entry.S, entry.h monstr
2009-04-27  8:32                                     ` [PATCH 19/30] microblaze_mmu_v1: Update exception handling - MMU exception monstr
2009-04-27  8:32                                       ` [PATCH 20/30] microblaze_mmu_v1: uaccess MMU update monstr
2009-04-27  8:32                                         ` [PATCH 21/30] microblaze_mmu_v1: Add MMU related exceptions handling monstr
2009-04-27  8:32                                           ` [PATCH 22/30] microblaze_mmu_v1: Update linker script for MMU monstr
2009-04-27  8:32                                             ` [PATCH 23/30] microblaze_mmu_v1: Enable fork syscall for MMU and add fork as vfork for noMMU monstr
2009-04-27  8:32                                               ` [PATCH 24/30] microblaze_mmu_v1: Traps MMU update monstr
2009-04-27  8:32                                                 ` [PATCH 25/30] microblaze_mmu_v1: Update signal returning address monstr
2009-04-27  8:32                                                   ` [PATCH 26/30] microblaze_mmu_v1: Update cacheflush.h monstr
2009-04-27  8:32                                                     ` [PATCH 27/30] microblaze_mmu_v1: Update dma.h for MMU monstr
2009-04-27  8:32                                                       ` [PATCH 28/30] microblaze_mmu_v1: Elf update monstr
2009-04-27  8:32                                                         ` [PATCH 29/30] microblaze_mmu_v1: stat.h MMU update monstr
2009-04-27  8:32                                                           ` [PATCH 30/30] microblaze_mmu_v1: fcntl.h " monstr
2009-04-27  9:59                                                             ` Christoph Hellwig
2009-04-27 10:05                                                               ` John Williams
2009-04-27 10:56                                                                 ` Michal Simek
2009-04-27  9:58                                                           ` [PATCH 29/30] microblaze_mmu_v1: stat.h " Christoph Hellwig
2009-04-27 10:35                                                             ` Michal Simek
2009-04-27 11:30                                                               ` Christoph Hellwig
2009-04-27 11:43                                                                 ` Michal Simek
2009-04-27 11:57                                                                   ` Arnd Bergmann
2009-04-27 12:15                                                                     ` Sam Ravnborg
2009-04-27 12:37                                                                       ` Arnd Bergmann
2009-04-27 12:48                                                                         ` Sam Ravnborg
2009-04-27 12:55                                                                           ` Arnd Bergmann
2009-04-27 12:31                                                                     ` Michal Simek
2009-04-27 12:42                                                                       ` Arnd Bergmann
2009-04-27 12:44                                                                         ` Michal Simek
2009-04-27 12:47                                                                           ` Arnd Bergmann
2009-04-27 12:48                                                                             ` Michal Simek
2009-04-30 13:53                                                                               ` Arnd Bergmann
2009-04-30 14:10                                                                                 ` Michal Simek
2009-04-30 14:40                                                                                   ` Arnd Bergmann
2009-04-30 14:51                                                                                     ` Michal Simek
2009-04-27 12:53                                                               ` Arnd Bergmann
2009-04-27 13:03                                                                 ` Michal Simek
2009-04-27 13:13                                                                   ` Arnd Bergmann
2009-04-27 11:43                                               ` [PATCH 23/30] microblaze_mmu_v1: Enable fork syscall for MMU and add fork as vfork for noMMU John Williams
2009-04-29 10:16                                                 ` Michal Simek
2009-04-29 11:31                                                   ` Arnd Bergmann
2009-04-29 11:27                                             ` [PATCH 22/30] microblaze_mmu_v1: Update linker script for MMU Arnd Bergmann
2009-04-29 11:39                                               ` Michal Simek
2009-04-29  5:54                                           ` [PATCH 21/30] microblaze_mmu_v1: Add MMU related exceptions handling Andrew Morton
2009-04-29  9:36                                             ` Michal Simek
2009-04-29  5:53                                         ` [PATCH 20/30] microblaze_mmu_v1: uaccess MMU update Andrew Morton
2009-04-29 10:12                                           ` Michal Simek
2009-04-29 10:58                                             ` Arnd Bergmann
2009-04-29 15:19                                               ` Michal Simek [this message]
2009-04-29 15:35                                                 ` Arnd Bergmann
2009-04-29 15:43                                                   ` Michal Simek
2009-04-29 15:55                                                     ` Arnd Bergmann
2009-04-29 11:26                                         ` Arnd Bergmann
2009-04-27 10:55                     ` [PATCH 10/30] microblaze_mmu_v1: Context handling - mmu_context.c/h Arnd Bergmann
2009-04-27 11:18                     ` Geert Uytterhoeven
2009-04-29  5:46                   ` [PATCH 09/30] microblaze_mmu_v1: Page fault handling high level - fault.c Andrew Morton
2009-04-29  9:30                     ` Michal Simek
2009-04-29  5:44                 ` [PATCH 08/30] microblaze_mmu_v1: mmu.h update Andrew Morton
2009-04-29  9:28                   ` Michal Simek
2009-04-29  5:42               ` [PATCH 07/30] microblaze_mmu_v1: MMU initialization Andrew Morton
2009-04-29  7:02                 ` Michal Simek
2009-04-29  8:42                 ` Michal Simek
2009-04-27 10:50   ` [PATCH 01/30] microblaze_mmu_v1: Makefiles Arnd Bergmann
2009-04-27 10:54     ` Michal Simek

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=49F87009.1000905@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=john.williams@petalogix.com \
    --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.