diff options
author | Neil Horman <nhorman@redhat.com> | 2005-06-23 03:09:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:19 -0400 |
commit | ac20427ef6aa63da663bdc88b71d16f7394f5e23 (patch) | |
tree | 49ba4f88c5cea42d59b386c508174f585efc8a01 /fs/proc | |
parent | 3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599 (diff) |
[PATCH] add check to /proc/devices read routines
Patch to add check to get_chrdev_list and get_blkdev_list to prevent reads
of /proc/devices from spilling over the provided page if more than 4096
bytes of string data are generated from all the registered character and
block devices in a system
Signed-off-by: Neil Horman <nhorman@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/proc_misc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 63a9fbf1ac51..94b570ad037d 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
@@ -451,7 +451,7 @@ static int devices_read_proc(char *page, char **start, off_t off, | |||
451 | int count, int *eof, void *data) | 451 | int count, int *eof, void *data) |
452 | { | 452 | { |
453 | int len = get_chrdev_list(page); | 453 | int len = get_chrdev_list(page); |
454 | len += get_blkdev_list(page+len); | 454 | len += get_blkdev_list(page+len, len); |
455 | return proc_calc_metrics(page, start, off, count, eof, len); | 455 | return proc_calc_metrics(page, start, off, count, eof, len); |
456 | } | 456 | } |
457 | 457 | ||