aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>2005-07-07 20:56:51 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 21:23:44 -0400
commit3f580470baa3afc423e38fdc6e19667446b5aac0 (patch)
treed6c8b52b9c7bbe63fbeec22e7f6788c136511bf9
parent9786a8f3cbc61f990266e23ffdb338ee3118b03d (diff)
[PATCH] uml: restore hppfs support
Some time ago a trivial patch broke HPPFS (one var became a pointer, not all uses were updated). It wasn't fixed at that time because not very used, now it's been requested so I've fixed this, and it has been tested positively (at least partially). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/um/Kconfig6
-rw-r--r--fs/hppfs/hppfs_kern.c7
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 9469e77303e6..6682c7883647 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -128,7 +128,6 @@ config HOSTFS
128 128
129config HPPFS 129config HPPFS
130 tristate "HoneyPot ProcFS (EXPERIMENTAL)" 130 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
131 depends on BROKEN
132 help 131 help
133 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc 132 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
134 entries to be overridden, removed, or fabricated from the host. 133 entries to be overridden, removed, or fabricated from the host.
@@ -141,8 +140,9 @@ config HPPFS
141 You only need this if you are setting up a UML honeypot. Otherwise, 140 You only need this if you are setting up a UML honeypot. Otherwise,
142 it is safe to say 'N' here. 141 it is safe to say 'N' here.
143 142
144 If you are actively using it, please ask for it to be fixed. In this 143 If you are actively using it, please report any problems, since it's
145 moment, it does not work on 2.6 (it works somehow on 2.4). 144 getting fixed. In this moment, it is experimental on 2.6 (it works on
145 2.4).
146 146
147config MCONSOLE 147config MCONSOLE
148 bool "Management console" 148 bool "Management console"
diff --git a/fs/hppfs/hppfs_kern.c b/fs/hppfs/hppfs_kern.c
index f8e0cbd0cb60..6f553e17c375 100644
--- a/fs/hppfs/hppfs_kern.c
+++ b/fs/hppfs/hppfs_kern.c
@@ -4,6 +4,7 @@
4 */ 4 */
5 5
6#include <linux/fs.h> 6#include <linux/fs.h>
7#include <linux/file.h>
7#include <linux/module.h> 8#include <linux/module.h>
8#include <linux/init.h> 9#include <linux/init.h>
9#include <linux/slab.h> 10#include <linux/slab.h>
@@ -491,7 +492,7 @@ static int hppfs_open(struct inode *inode, struct file *file)
491 fd = open_host_sock(host_file, &filter); 492 fd = open_host_sock(host_file, &filter);
492 if(fd > 0){ 493 if(fd > 0){
493 data->contents = hppfs_get_data(fd, filter, 494 data->contents = hppfs_get_data(fd, filter,
494 &data->proc_file, 495 data->proc_file,
495 file, &data->len); 496 file, &data->len);
496 if(!IS_ERR(data->contents)) 497 if(!IS_ERR(data->contents))
497 data->host_fd = fd; 498 data->host_fd = fd;
@@ -543,7 +544,7 @@ static int hppfs_dir_open(struct inode *inode, struct file *file)
543static loff_t hppfs_llseek(struct file *file, loff_t off, int where) 544static loff_t hppfs_llseek(struct file *file, loff_t off, int where)
544{ 545{
545 struct hppfs_private *data = file->private_data; 546 struct hppfs_private *data = file->private_data;
546 struct file *proc_file = &data->proc_file; 547 struct file *proc_file = data->proc_file;
547 loff_t (*llseek)(struct file *, loff_t, int); 548 loff_t (*llseek)(struct file *, loff_t, int);
548 loff_t ret; 549 loff_t ret;
549 550
@@ -586,7 +587,7 @@ static int hppfs_filldir(void *d, const char *name, int size,
586static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir) 587static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir)
587{ 588{
588 struct hppfs_private *data = file->private_data; 589 struct hppfs_private *data = file->private_data;
589 struct file *proc_file = &data->proc_file; 590 struct file *proc_file = data->proc_file;
590 int (*readdir)(struct file *, void *, filldir_t); 591 int (*readdir)(struct file *, void *, filldir_t);
591 struct hppfs_dirent dirent = ((struct hppfs_dirent) 592 struct hppfs_dirent dirent = ((struct hppfs_dirent)
592 { .vfs_dirent = ent, 593 { .vfs_dirent = ent,