David Howells <dhowells@xxxxxxxxxx> wrote: > I think the attached is probably an equivalent cleaned up reproducer. Note > that if the length given to sendfile() is less than 65536, it fails with > EINVAL before it gets into __ip6_append_data(). Actually, it only fails with EINVAL if the size is not a multiple of the block size of the source file because it's open O_DIRECT so, say, 65536-512 is fine (and works). But thinking more on this further, is this even a bug in my code, I wonder? The length passed is 65536 - but a UDP packet can't carry that, so it shouldn't it have errored out before getting that far? (which is what it seems to do when I try it). I don't see how we get past the length check in ip6_append_data() with the reproducer we're given unless the MTU is somewhat bigger than 65536 (is that even possible?) David