I'm working on a masters project for PSU. It requires that I modify the
ext3 and fs code in the kernel proper.
The idea is to encrypt data just prior to it being written to disk. I've
created a new version of __block_write_full_page (which is called from
writepage) to allocate a new (GFP_NOFS) page, setup the buffer_head list and
copy the data to the new page (and encrypt it too). When I do this, the
data is not written to disk from the new buffer_head that I submit using
submit_bh(). I've treked through this code and I'm convinced I'm down the
right path. Am I? Any assistance would be appreciated.
On 11/7/05, ext3crypt <[email protected]> wrote:
> I'm working on a masters project for PSU. It requires that I modify the
> ext3 and fs code in the kernel proper.
>
> The idea is to encrypt data just prior to it being written to disk. I've
> created a new version of __block_write_full_page (which is called from
> writepage) to allocate a new (GFP_NOFS) page, setup the buffer_head list and
> copy the data to the new page (and encrypt it too). When I do this, the
> data is not written to disk from the new buffer_head that I submit using
> submit_bh(). I've treked through this code and I'm convinced I'm down the
> right path. Am I? Any assistance would be appreciated.
>
Which kernel version you are using ?
Using kernel Encryption API ?
How you got to know that your data is not written to disk ? Getting
any error message ? or some-thing else ?
And a url or attachment of code will help others to get to your problem !
--
Fawad Lateef
Sorry for the previous failed responses .. I never use this webmail interface, and it was set to send mail using HTML.
------ Here is the reply . . .
Kernel Version: 2.6.13
The API will be used, but I am using a simple xor to test with.
The data is getting written to disk, but NOT the buffer I'm sending to submit_bh(). It is writing the buffers from the page I copied???
No messages. I just do the following:
mount the filesystem
cd to it's root
cp foo foo2
sync
(at this point everything looks fine)
cd ..
umount the filesystem
mount the filesystem
cd to it's root
cat foo2 (which is now the wrong data)
I'll attach the code tonight when I have access to it.
-------------- Original message --------------
> On 11/7/05, ext3crypt wrote:
> > I'm working on a masters project for PSU. It requires that I modify the
> > ext3 and fs code in the kernel proper.
> >
> > The idea is to encrypt data just prior to it being written to disk. I've
> > created a new version of __block_write_full_page (which is called from
> > writepage) to allocate a new (GFP_NOFS) page, setup the buffer_head list and
> > copy the data to the new page (and encrypt it too). When I do this, the
> > data is not written to disk from the new buffer_head that I submit using
> > submit_bh(). I've treked through this code and I'm convinced I'm down the
> > right path. Am I? Any assistance would be appreciated.
> >
>
> Which kernel version you are using ?
> Using kernel Encryption API ?
> How you got to know that your data is not written to disk ? Getting
> any error message ? or some-thing else ?
> And a url or attachment of code will help others to get to your problem !
>
>
> --
> Fawad Lateef
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
On 11/7/05, [email protected] <[email protected]> wrote:
>
> Kernel Version: 2.6.13
>
> The API will be used, but I am using a simple xor to test with.
>
> The data is getting written to disk, but NOT the buffer I'm sending to submit_bh(). It is writing the buffers from the page I copied???
>
> No messages. I just do the following:
>
> mount the filesystem
> cd to it's root
> cp foo foo2
> sync
> (at this point everything looks fine)
>
> cd ..
> umount the filesystem
> mount the filesystem
> cd to it's root
> cat foo2 (which is now the wrong data)
>
Have you tried your code by writing the data with-out performing any
operation on data (like xor) ? This will tell you whether your
__block_write_full_page is working fine or not because you will get
exactly the same data as of the original file !
And are you also taking care of write operation other than
address_space_operations->writepages ? Because there is also
file_operations->write which ext3 is assgining do_sync_write
(http://sosdg.org/~coywolf/lxr/source/fs/ext3/file.c#L111), so are you
handling this too ?
> I'll attach the code tonight when I have access to it.
>
That will be much better !
And Please Don't do Top-Posting !
--
Fawad Lateef