diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-12-21 21:55:02 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-12-22 23:00:22 -0500 |
commit | 33844e665104b169a3a7732bdcddb40e4f82b335 (patch) | |
tree | 5432d8aeecc31c96696a19c56c0577d4499abdaa /fs | |
parent | c00d2c7e89880036f288a764599b2b8b87c0a364 (diff) | |
download | op-kernel-dev-33844e665104b169a3a7732bdcddb40e4f82b335.zip op-kernel-dev-33844e665104b169a3a7732bdcddb40e4f82b335.tar.gz |
[iov_iter] fix iterate_all_kinds() on empty iterators
Problem similar to ones dealt with in "fold checks into iterate_and_advance()"
and followups, except that in this case we really want to do nothing when
asked for zero-length operation - unlike zero-length iterate_and_advance(),
zero-length iterate_all_kinds() has no side effects, and callers are simpler
that way.
That got exposed when copy_from_iter_full() had been used by tipc, which
builds an msghdr with zero payload and (now) feeds it to a primitive
based on iterate_all_kinds() instead of iterate_and_advance().
Reported-by: Jon Maloy <jon.maloy@ericsson.com>
Tested-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions