[PATCH 29/36] sysfs: sysfs_write_file() writes zero terminated data
- From: Greg KH <greg@xxxxxxxxx>
- Date: Fri, 1 Dec 2006 15:21:59 -0800
From: Thomas Maier <balagi@xxxxxxxxxxx>
since most of the files in sysfs are text files,
it would be nice, if the "store" function called
during sysfs_write_file() gets a zero terminated
string / data.
The current implementation seems not to ensure this.
(But only if it is the first time the zeroed buffer
page is allocated.)
So the buffer can be scanned by sscanf() easily,
for example.
This patch simply sets a \0 char behind the
data in buffer->page.
Signed-off-by: Thomas Maier <balagi@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
fs/sysfs/file.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
index 298303b..95c1651 100644
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -190,6 +190,9 @@ fill_write_buffer(struct sysfs_buffer *
count = PAGE_SIZE - 1;
error = copy_from_user(buffer->page,buf,count);
buffer->needs_read_fill = 1;
+ /* if buf is assumed to contain a string, terminate it by \0,
+ so e.g. sscanf() can scan the string easily */
+ buffer->page[count] = 0;
return error ? -EFAULT : count;
}
--
1.4.4.1
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- [GIT PATCH] Driver core patches for 2.6.19
- From: Greg KH
- [PATCH 1/36] Driver core: add notification of bus events
- From: Greg KH
- [PATCH 2/36] Driver core: fix "driver" symlink timing
- From: Greg KH
- [PATCH 3/36] Driver Core: Move virtual_device_parent() to core.c
- From: Greg KH
- [PATCH 4/36] CONFIG_SYSFS_DEPRECATED
- From: Greg KH
- [PATCH 5/36] Driver core: make old versions of udev work properly
- From: Greg KH
- [PATCH 6/36] CONFIG_SYSFS_DEPRECATED - bus symlinks
- From: Greg KH
- [PATCH 7/36] CONFIG_SYSFS_DEPRECATED - device symlinks
- From: Greg KH
- [PATCH 8/36] CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variables
- From: Greg KH
- [PATCH 9/36] CONFIG_SYSFS_DEPRECATED - class symlinks
- From: Greg KH
- [PATCH 10/36] Driver core: convert vt code to use struct device
- From: Greg KH
- [PATCH 11/36] Driver core: convert vc code to use struct device
- From: Greg KH
- [PATCH 12/36] Driver core: change misc class_devices to be real devices
- From: Greg KH
- [PATCH 13/36] Driver core: convert tty core to use struct device
- From: Greg KH
- [PATCH 14/36] Driver core: convert raw device code to use struct device
- From: Greg KH
- [PATCH 15/36] I2C: convert i2c-dev to use struct device instead of struct class_device
- From: Greg KH
- [PATCH 16/36] Driver core: convert msr code to use struct device
- From: Greg KH
- [PATCH 17/36] Driver core: convert cpuid code to use struct device
- From: Greg KH
- [PATCH 18/36] Driver core: convert PPP code to use struct device
- From: Greg KH
- [PATCH 19/36] Driver core: convert ppdev code to use struct device
- From: Greg KH
- [PATCH 20/36] Driver core: convert mmc code to use struct device
- From: Greg KH
- [PATCH 22/36] Driver core: convert fb code to use struct device
- From: Greg KH
- [PATCH 23/36] Driver core: change mem class_devices to be real devices
- From: Greg KH
- [PATCH 24/36] Driver core: convert sound core to use struct device
- From: Greg KH
- [PATCH 25/36] Driver core: add dev_archdata to struct device
- From: Greg KH
- [PATCH 26/36] ACPI: Change ACPI to use dev_archdata instead of firmware_data
- From: Greg KH
- [PATCH 27/36] Driver core: Call platform_notify_remove later
- From: Greg KH
- [PATCH 28/36] cpu topology: consider sysfs_create_group return value
- From: Greg KH
- [GIT PATCH] Driver core patches for 2.6.19
- Prev by Date: [PATCH 7/36] CONFIG_SYSFS_DEPRECATED - device symlinks
- Next by Date: [PATCH 3/36] Driver Core: Move virtual_device_parent() to core.c
- Previous by thread: [PATCH 28/36] cpu topology: consider sysfs_create_group return value
- Next by thread: [PATCH 30/36] driver core: Introduce device_find_child().
- Index(es):
Relevant Pages
|