[Question] kernel 2.6.3 writring on device ?
From: Sébastien BOMBAL
Date: Fri Jun 25 2004 - 09:24:05 EST
Hi,
I have a little problem with a module.
I am trying to write a cryptoloop like. It is working, and I crypt the I/O.
Then I had a IOCTL in order to store the algorythm and cipher used in the
beginning of the backend device to a fixed offset.
I get from the user land a file descriptor, and I get the file structure from
fget().
tmcrypt represents a structure of the device which crypts, and
cryptonit_backing_file is the file structure for the backend device.
The problem is : the kernel freeze jut after the end of the IOCTL. (from the
log..). But If I comment the line of the write operation, everythning is
normal. Any ideas ?
Thanks for your help.
Regards.
/** FIXME **/
tmpcrypt->cryptonit_backend_file->f_pos = 0;
if(IS_RDONLY(tmpcrypt->cryptonit_backend_file->f_dentry->d_inode)
|| (NULL == tmpcrypt->cryptonit_backend_file->f_op->write)){
err = -EACCES;
printk (KERN_ERR "cryptonit : Inode is readonly ?\n");
goto out_free_tfm;
}
printk(KERN_DEBUG "cryptonit : not readonly\n");
err = get_write_access(tmpcrypt->cryptonit_backend_file->f_dentry->d_inode);
if (err){
printk (KERN_ERR "cryptonit : cryptonit cannot get_write_access\n");
goto out_free_tfm;
}
printk(KERN_DEBUG "cryptonit : down semaphore backing file\n");
down(&tmpcrypt->cryptonit_backend_file->f_mapping->host->i_sem);
err =
tmpcrypt->cryptonit_backend_file->f_op->write(tmpcrypt->cryptonit_backend_file,
"test", 4,
&tmpcrypt->cryptonit_backend_file->f_pos);
printk(KERN_DEBUG "cryptonit : up semaphore backing file\n");
up(&tmpcrypt->cryptonit_backend_file->f_mapping->host->i_sem);
/******** END *********/
--
Sébastien BOMBAL - IDEALX
Ingénieur Développeur
EPITA - SRS.
-
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/