All callers of nbd_iter_channel_error() pass the address of a local_err
variable, and only call this function if an error has already occurred, using
this function
to append details to that error.
Hmm, not to append details but to report the error to the magical receiving
loop, which doesn't yet know about the error
This is already implied by its name (local_err instead of the classic errp),
but it is worth additionally stressing this by adding an assertion to make it
part of the function contract.
So, how about simply s/to append details to that error/to report that error/ ?