Thread (9 messages) 9 messages, 2 authors, 2014-12-25

Re: algif_hash: splice of data > 2**16

From: leroy christophe <hidden>
Date: 2014-12-23 17:16:13
Also in: lkml

Le 20/12/2014 07:37, Stephan Mueller a écrit :
Am Donnerstag, 18. Dezember 2014, 13:22:20 schrieb leroy christophe:

Hi Christophe,
quoted
Le 18/12/2014 13:15, Stephan Mueller a écrit :
quoted
Hi Herbert,

While testing the vmsplice/splice interface of algif_hash I was made
aware of the problem that data blobs larger than 16 pages do not seem to
be hashed properly.

For testing, a file is mmap()ed and handed to vmsplice / splice. If the
file is smaller than 2**16, the interface returns the proper hash.
However, when the file is larger, only the first 2**16 bytes seem to be
used.

When adding printk's to hash_sendpage, I see that this function is
invoked exactly 16 times where the first 15 invocations have the
MSG_MORE flag set and the last invocation does not have MSG_MORE.
Hi Stephan,

I have already noticed the same issue and proposed a patch, but I never
got any feedback and it has never been merged, allthought I pinged it a
few times.

See https://lkml.org/lkml/2014/4/18/276
After testing, this patch does not work for me. The operation still stops
after 16 pages.
Yes, it looks like the function I fixed is exclusively used by 
sendfile() system call.
So there is probably the same kind of fix to be done in another function.

Christophe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help