lkml.org 
[lkml]   [2002]   [Dec]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRequire help in accessing file from kernel space
Hello Friends,

Please help me finding the bug in the following code. When i ran this code the system is
hanging (kernel panic). I am trying to open a file in kernel space and try to read, it is able open
the file but unable to read.

Code is :

##############################
struct file *filp;
mm_segment_t oldfs;
char *fname = "/etc/testfile";
int error = 0;
char *buf = NULL;
int bytesread = 0;

oldfs = get_fs();
set_fs(get_ds());

buf = (char*)kmalloc(50, GFP_ATOMIC);
if( buf == NULL ) {
printk(KERN_DEBUG"[Unable to allocate buf memory]\n");
error = -3;
goto out2;
}
memset(buf,0,50);

filp = filp_open(fname,O_RDONLY,0);

if( IS_ERR(filp) || filp==NULL ) {
printk(KERN_DEBUG"[opening file error:%s]\n",fname);
error = -1;
goto out;
}

if( !filp || !filp->f_op || !filp->f_op->read ) {
printk(KERN_DEBUG"[filp does not have read function]\n");
error = -2;
goto out1;
}
// I am getting error here
bytesread = filp->f_op->read(filp, buf, 41, &filp->f_pos);
buf[bytesread]='\0';
printk(KERN_DEBUG"[buffer-%s]\n",buf);

out1:
if( filp!=NULL || !IS_ERR(filp) )
filp_close(filp,NULL);

out:
if( buf != NULL )
kfree(buf);
out2:
set_fs(oldfs);

return error;
###################################

Thanks in advance.

Rgda,

Madhu V
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.027 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site