|
@@ -512,6 +512,20 @@ void simple_release_fs(struct vfsmount **mount, int *count)
|
|
mntput(mnt);
|
|
mntput(mnt);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * simple_read_from_buffer - copy data from the buffer to user space
|
|
|
|
+ * @to: the user space buffer to read to
|
|
|
|
+ * @count: the maximum number of bytes to read
|
|
|
|
+ * @ppos: the current position in the buffer
|
|
|
|
+ * @from: the buffer to read from
|
|
|
|
+ * @available: the size of the buffer
|
|
|
|
+ *
|
|
|
|
+ * The simple_read_from_buffer() function reads up to @count bytes from the
|
|
|
|
+ * buffer @from at offset @ppos into the user space address starting at @to.
|
|
|
|
+ *
|
|
|
|
+ * On success, the number of bytes read is returned and the offset @ppos is
|
|
|
|
+ * advanced by this number, or negative value is returned on error.
|
|
|
|
+ **/
|
|
ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos,
|
|
ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos,
|
|
const void *from, size_t available)
|
|
const void *from, size_t available)
|
|
{
|
|
{
|
|
@@ -528,6 +542,20 @@ ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos,
|
|
return count;
|
|
return count;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * memory_read_from_buffer - copy data from the buffer
|
|
|
|
+ * @to: the kernel space buffer to read to
|
|
|
|
+ * @count: the maximum number of bytes to read
|
|
|
|
+ * @ppos: the current position in the buffer
|
|
|
|
+ * @from: the buffer to read from
|
|
|
|
+ * @available: the size of the buffer
|
|
|
|
+ *
|
|
|
|
+ * The memory_read_from_buffer() function reads up to @count bytes from the
|
|
|
|
+ * buffer @from at offset @ppos into the kernel space address starting at @to.
|
|
|
|
+ *
|
|
|
|
+ * On success, the number of bytes read is returned and the offset @ppos is
|
|
|
|
+ * advanced by this number, or negative value is returned on error.
|
|
|
|
+ **/
|
|
ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
|
|
ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
|
|
const void *from, size_t available)
|
|
const void *from, size_t available)
|
|
{
|
|
{
|