Messages in this thread Patch in this message | | | Subject | [PATCH] Fix proc_file_write missing ppos update | From | Stefani Seibold <> | Date | Fri, 07 Aug 2009 22:27:10 +0200 |
| |
The following fix a long standing issue in the proc_file_write function, which doesn't update the ppos file position pointer.
This prevent the usage of multiple sequently writes on an opened proc file, because it is impossible to distinguish these due the offset is always 0.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- linux-2.6.31-rc4.orig/fs/proc/generic.c 2009-08-07 22:05:57.000000000 +0200 +++ linux-2.6.30-rc4/fs/proc/generic.c 2009-08-07 22:06:22.000000000 +0200 @@ -219,9 +219,10 @@ pde->pde_users++; spin_unlock(&pde->pde_unload_lock); - /* FIXME: does this routine need ppos? probably... */ rv = pde->write_proc(file, buffer, count, pde->data); pde_users_dec(pde); + if (rv > 0) + *ppos += rv; } return rv; }
| |