All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander H Duyck <alexander.duyck@gmail.com>
To: David Howells <dhowells@redhat.com>, netdev@vger.kernel.org
Cc: Marc Dionne <marc.dionne@auristor.com>,
	Dan Carpenter <error27@gmail.com>,
	kernel test robot <lkp@intel.com>,
	syzbot+4bb6356bb29d6299360e@syzkaller.appspotmail.com,
	linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net] rxrpc: Fix wrong error return in rxrpc_connect_call()
Date: Thu, 12 Jan 2023 08:57:09 -0800	[thread overview]
Message-ID: <3e278fed9f59a4e325933d4a4ef4b02991fb2c17.camel@gmail.com> (raw)
In-Reply-To: <2438405.1673460435@warthog.procyon.org.uk>

On Wed, 2023-01-11 at 18:07 +0000, David Howells wrote:
>     
> Fix rxrpc_connect_call() to return -ENOMEM rather than 0 if it fails to
> look up a peer.
> 
> This generated a smatch warning:
>         net/rxrpc/call_object.c:303 rxrpc_connect_call() warn: missing error code 'ret'
> 
> I think this also fixes a syzbot-found bug:
> 
>         rxrpc: Assertion failed - 1(0x1) == 11(0xb) is false
>         ------------[ cut here ]------------
>         kernel BUG at net/rxrpc/call_object.c:645!
> 
> where the call being put is in the wrong state - as would be the case if we
> failed to clear up correctly after the error in rxrpc_connect_call().
> 
> Fixes: 9d35d880e0e4 ("rxrpc: Move client call connection to the I/O thread")
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <error27@gmail.com>
> Reported-and-tested-by: syzbot+4bb6356bb29d6299360e@syzkaller.appspotmail.com
> Signed-off-by: David Howells <dhowells@redhat.com>
> Link: https://lore.kernel.org/r/202301111153.9eZRYLf1-lkp@intel.com/
> ---
>  net/rxrpc/call_object.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/rxrpc/call_object.c b/net/rxrpc/call_object.c
> index 3ded5a24627c..f3c9f0201c15 100644
> --- a/net/rxrpc/call_object.c
> +++ b/net/rxrpc/call_object.c
> @@ -294,7 +294,7 @@ static void rxrpc_put_call_slot(struct rxrpc_call *call)
>  static int rxrpc_connect_call(struct rxrpc_call *call, gfp_t gfp)
>  {
>  	struct rxrpc_local *local = call->local;
> -	int ret = 0;
> +	int ret = -ENOMEM;
>  
>  	_enter("{%d,%lx},", call->debug_id, call->user_call_ID);
>  

Looks good to me.

Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>

  reply	other threads:[~2023-01-12 17:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-11 18:07 [PATCH net] rxrpc: Fix wrong error return in rxrpc_connect_call() David Howells
2023-01-12 16:57 ` Alexander H Duyck [this message]
2023-01-13 19:40 ` Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e278fed9f59a4e325933d4a4ef4b02991fb2c17.camel@gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=error27@gmail.com \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=marc.dionne@auristor.com \
    --cc=netdev@vger.kernel.org \
    --cc=syzbot+4bb6356bb29d6299360e@syzkaller.appspotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.