• Al Viro's avatar
    switch memcpy_to_msg() and skb_copy{,_and_csum}_datagram_msg() to primitives · e5a4b0bb
    Al Viro authored
    ... making both non-draining.  That means that tcp_recvmsg() becomes
    non-draining.  And _that_ would break iscsit_do_rx_data() unless we
    	a) make sure tcp_recvmsg() is uniformly non-draining (it is)
    	b) make sure it copes with arbitrary (including shifted)
    iov_iter (it does, all it uses is iov_iter primitives)
    	c) make iscsit_do_rx_data() initialize ->msg_iter only once.
    
    Fortunately, (c) is doable with minimal work and we are rid of one
    the two places where kernel send/recvmsg users would be unhappy with
    non-draining behaviour.
    
    Actually, that makes all but one of ->recvmsg() instances iov_iter-clean.
    The exception is skcipher_recvmsg() and it also isn't hard to convert
    to primitives (iov_iter_get_pages() is needed there).  That'll wait
    a bit - there's some interplay with ->sendmsg() path for that one.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    e5a4b0bb
iscsi_target_util.c 38.2 KB