lkml.org 
[lkml]   [1999]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [q] fundamental thing I am still missing about put_user().
having thought of it for a minute, it is probably not the best design
though.

I am going to try to change vread() interface to accept kernel addresses
and make temporary kernel buffers in read_kmem() and see what happens.

Btw, Stephen mentioned kmapping user addresses but I still have not seen
any working examples of that - the stuff in mm/filemap.c only deals with a
page at a time...

Regards,
Tigran.

On Tue, 21 Dec 1999, Tigran Aivazian wrote:

> Hi,
>
> I have a question about writing to userspace buffers. Can I do this in
> read_kmem() (read method of /dev/kmem):
>
> if (verify_area(VERIFY_WRITE, buf, count))
> return -EFAULT;
>
> lock_kernel();
> write to user buf without any worries, even taking spinlocks if needed.
> unlock_kernel();
>
> If I can do this then it is very useful because we could then hold a
> spinlock in mm/vmalloc.c:vread() which means vmlist can be protected by a
> simple spinlock which means vmalloc()/vfree()/ioremap() (i.e. really
> vfree() and get_vm_area()) can be made SMP safe, i.e. without forcing
> callers to have lock/unlock_kernel().
>
> Thank you for your patient explanation :)
> ------
> Tigran A. Aivazian | http://www.sco.com
> Escalations Research Group | tel: +44-(0)1923-813796
> Santa Cruz Operation Ltd | http://www.ocston.org/~tigran
>
>
>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.053 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site