Re: [PATCH] rxrpc: split up rxrpc_send_call_packet()

From: David Howells
Date: Fri Sep 30 2016 - 19:35:33 EST


Arnd Bergmann <arnd@xxxxxxxx> wrote:

> A number of reworks went into rxrpc_send_call_packet() recently, which
> introduced another warning when built with -Wmaybe-uninitialized:
>
> In file included from ../net/rxrpc/output.c:20:0:
> net/rxrpc/output.c: In function 'rxrpc_send_call_packet':
> net/rxrpc/ar-internal.h:1187:27: error: 'top' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> net/rxrpc/output.c:103:24: note: 'top' was declared here
> net/rxrpc/output.c:225:25: error: 'hard_ack' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> This is a false positive, but it's also an indication that the function is
> getting complex enough that the compiler cannot figure out what it does.
>
> This splits out a rxrpc_send_ack_packet() function for one part of
> it, making it more understandable by both humans and the compiler
> and avoiding the warning.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> Unfortunately, this is a larger rework that I was hoping for, and
> I have only build tested it, so please review carefully, or just
> discard it and treat it as feedback to the original patch.

I think I'd rather cleanly split it into two transmission functions. I'll do
that.

Thanks,
David