• D
    afs: Fix the CB.ProbeUuid service handler to reply correctly · dfc438c0
    David Howells 提交于
    [ Upstream commit 2067b2b3f4846402a040286135f98f46f8919939 ]
    
    Fix the service handler function for the CB.ProbeUuid RPC call so that it
    replies in the correct manner - that is an empty reply for success and an
    abort of 1 for failure.
    
    Putting 0 or 1 in an integer in the body of the reply should result in the
    fileserver throwing an RX_PROTOCOL_ERROR abort and discarding its record of
    the client; older servers, however, don't necessarily check that all the
    data got consumed, and so might incorrectly think that they got a positive
    response and associate the client with the wrong host record.
    
    If the client is incorrectly associated, this will result in callbacks
    intended for a different client being delivered to this one and then, when
    the other client connects and responds positively, all of the callback
    promises meant for the client that issued the improper response will be
    lost and it won't receive any further change notifications.
    
    Fixes: 9396d496 ("afs: support the CB.ProbeUuid RPC op")
    Signed-off-by: NDavid Howells <dhowells@redhat.com>
    Reviewed-by: NJeffrey Altman <jaltman@auristor.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    dfc438c0
cmservice.c 13.6 KB