Messages in this thread | | | Date | Tue, 23 Dec 2014 18:16:01 +0100 | From | leroy christophe <> | Subject | Re: algif_hash: splice of data > 2**16 |
| |
Le 20/12/2014 07:37, Stephan Mueller a écrit : > Am Donnerstag, 18. Dezember 2014, 13:22:20 schrieb leroy christophe: > > Hi Christophe, > >> Le 18/12/2014 13:15, Stephan Mueller a écrit : >>> 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
| |