mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
introduce memory_read_from_buffer()
This patch introduces memory_read_from_buffer(). The only difference between memory_read_from_buffer() and simple_read_from_buffer() is which address space the function copies to. simple_read_from_buffer copies to user space memory. memory_read_from_buffer copies to normal memory. Signed-off-by: Akinobu Mita <[email protected]> Cc: Al Viro <[email protected]> Cc: Doug Warzecha <[email protected]> Cc: Zhang Rui <[email protected]> Cc: Matt Domsch <[email protected]> Cc: Abhay Salunke <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Markus Rechberger <[email protected]> Cc: Kay Sievers <[email protected]> Cc: Bob Moore <[email protected]> Cc: Thomas Renninger <[email protected]> Cc: Len Brown <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: "Antonino A. Daplas" <[email protected]> Cc: Krzysztof Helt <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Peter Oberparleiter <[email protected]> Cc: Michael Holzheu <[email protected]> Cc: Brian King <[email protected]> Cc: James E.J. Bottomley <[email protected]> Cc: Andrew Vasquez <[email protected]> Cc: Seokmann Ju <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
3527fb326f
commit
93b071139a
2 changed files with 22 additions and 1 deletions
18
fs/libfs.c
18
fs/libfs.c
|
|
@ -528,6 +528,23 @@ ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos,
|
|||
return count;
|
||||
}
|
||||
|
||||
ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
|
||||
const void *from, size_t available)
|
||||
{
|
||||
loff_t pos = *ppos;
|
||||
|
||||
if (pos < 0)
|
||||
return -EINVAL;
|
||||
if (pos >= available)
|
||||
return 0;
|
||||
if (count > available - pos)
|
||||
count = available - pos;
|
||||
memcpy(to, from + pos, count);
|
||||
*ppos = pos + count;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
/*
|
||||
* Transaction based IO.
|
||||
* The file expects a single write which triggers the transaction, and then
|
||||
|
|
@ -800,6 +817,7 @@ EXPORT_SYMBOL(simple_statfs);
|
|||
EXPORT_SYMBOL(simple_sync_file);
|
||||
EXPORT_SYMBOL(simple_unlink);
|
||||
EXPORT_SYMBOL(simple_read_from_buffer);
|
||||
EXPORT_SYMBOL(memory_read_from_buffer);
|
||||
EXPORT_SYMBOL(simple_transaction_get);
|
||||
EXPORT_SYMBOL(simple_transaction_read);
|
||||
EXPORT_SYMBOL(simple_transaction_release);
|
||||
|
|
|
|||
Loading…
Reference in a new issue