filesystem encryption problem.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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="">    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?
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux