Subject: Re: [syzbot] WARNING in mptcp_sendmsg_frag

From: Dan Carpenter <[email-masked]>
Date: Thu, 23 Sep 2021 17:37:28 +0300

On Thu, Sep 23, 2021 at 05:19:42PM +0300, Dan Carpenter wrote:
> On Wed, Sep 22, 2021 at 12:32:56PM +0200, Paolo Abeni wrote:
> > 
> > #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > 
> > The debug code helped a bit. It looks like we have singed/unsigned
> > comparisons issue
> 
> There should be a static checker warning for these.  I have created one
> in response to your email.  It turns out there are a couple other
> instances of this bug in the same file.
> 
> net/mptcp/protocol.c:479 mptcp_subflow_could_cleanup() warn: unsigned subtraction: '(null)' use '!='

I should have checked my output a bit more carefully.  I don't want this
one to generate a warning.

> net/mptcp/protocol.c:909 mptcp_frag_can_collapse_to() warn: unsigned subtraction: 'pfrag->size - pfrag->offset' use '!='

Likely "pfrag->offset" can't be larger than "pfrag->size".  Smatch has
some code to try track this information but it's not clever enough.

regards,
dan carpenter