All of lore.kernel.org
 help / color / mirror / Atom feed
* filesystem encryption problem.
@ 2015-07-12 10:20 Amir Hezarkhani
  2015-07-12 14:38 ` Freeman Zhang
  0 siblings, 1 reply; 6+ messages in thread
From: Amir Hezarkhani @ 2015-07-12 10:20 UTC (permalink / raw)
  To: kernelnewbies

hello
I am working on adding a simple encryption to file contents in ext4 driver
(for learning purposes) I added simple XOR encryption to aio_read and
aio_write functions and it worked until I faced this problem:

when I open a file in encrypted filesystem using VIM text editor and when I
try to save it it gives me this error:

>>pointer block id wrong
>>can not find line 1

and it just corrupts the entire file!

this is my aio_write function:

aio_write_enc(struct kiocb *iocb, const struct iovec *iov,
        unsigned long nr_segs, loff_t pos)
{
    size_t i;
    ssize_t ret;
    char *data=vmalloc(sizeof(char)*iov->iov_len);
    copy_from_user(data,iov->iov_base,iov->iov_len);

    for(i=0;i<iov->iov_len;i++)
    {
        data[i]^=5;
    }
    struct iovec iov_enc= { .iov_base = iov->iov_base, .iov_len =
iov->iov_len };

    copy_to_user(iov_enc.iov_base,data,iov->iov_len);
    ret=ext4_file_write(iocb,&iov_enc,nr_segs,pos);
    vfree(data);
    return ret;
}

this just changes the data and then calls original function.

is there anything wrong with this function? can anyone help me?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150712/66e6c67a/attachment.html 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-07-13 16:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-12 10:20 filesystem encryption problem Amir Hezarkhani
2015-07-12 14:38 ` Freeman Zhang
2015-07-12 15:03   ` Rohan Puri
2015-07-12 16:50     ` Amir Hezarkhani
2015-07-12 17:30       ` Rohan Puri
     [not found]         ` <CAOGmKrYiOBLtbyYv7odNirbtrTkF8ZWAtMd+Xo=MRNLxUiS7zA@mail.gmail.com>
     [not found]           ` <CALJfu6Mce-LggXFd4y1Cvjf84SNuDSQ4ciiU10M8vunby8Z2fw@mail.gmail.com>
     [not found]             ` <CAOGmKraQDuEKrBUKy0d2LphZPo3aEDZEMCamBGrcgKkZhqJUNA@mail.gmail.com>
2015-07-13 16:46               ` Rohan Puri

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.