Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Kees Cook <keescook@chromium.org>
Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
	linux-next@vger.kernel.org
Subject: Re: Coverity: io_wqe_worker(): Program hangs
Date: Mon, 28 Oct 2019 17:35:15 -0600
Message-ID: <7fdaef1a-6c7a-46df-f84b-4d05cca16fca@kernel.dk> (raw)
In-Reply-To: <201910281629.5F6B1D038@keescook>

On 10/28/19 5:30 PM, Kees Cook wrote:
> On Mon, Oct 28, 2019 at 05:27:59PM -0600, Jens Axboe wrote:
>> On 10/28/19 5:05 PM, coverity-bot wrote:
>>> Hello!
>>>
>>> This is an experimental automated report about issues detected by Coverity
>>> from a scan of next-20191025 as part of the linux-next weekly scan project:
>>> https://scan.coverity.com/projects/linux-next-weekly-scan
>>>
>>> You're getting this email because you were associated with the identified
>>> lines of code (noted below) that were touched by recent commits:
>>>
>>> 46134db8fdc5 ("io-wq: small threadpool implementation for io_uring")
>>>
>>> Coverity reported the following:
>>>
>>> *** CID 1487365:  Program hangs  (LOCK)
>>> /fs/io-wq.c: 349 in io_wqe_worker()
>>> 343     			io_worker_handle_work(worker);
>>> 344     		else
>>> 345     			spin_unlock(&wqe->lock);
>>> 346     	}
>>> 347
>>> 348     	io_worker_exit(worker);
>>> vvv     CID 1487365:  Program hangs  (LOCK)
>>> vvv     Returning without unlocking "(*wqe).lock".
>>> 349     	return 0;
>>> 350     }
>>> 351
>>> 352     /*
>>> 353      * Check head of free list for an available worker. If one isn't available,
>>> 354      * caller must wake up the wq manager to create one.
>>>
>>> If this is a false positive, please let us know so we can mark it as
>>> such, or teach the Coverity rules to be smarter. If not, please make
>>> sure fixes get into linux-next. :) For patches fixing this, please
>>> include:
>>
>> It's a false positive, lock is dropped on non-zero return.
> 
> Does that happen in the caller side? I'll see if I can figure out how to
> teach coverity about that... Hmmm

I was trying to use the right incantations of __release() etc to shut up
the checker as well. So if there are things I could be improving on that
side, do let me know.

As mentioned in other emails, the linux-next version is somewhat outdated
at this point. My for-next branch has the latest version.

-- 
Jens Axboe


  reply index

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-28 23:05 coverity-bot
2019-10-28 23:27 ` Jens Axboe
2019-10-28 23:30   ` Kees Cook
2019-10-28 23:35     ` Jens Axboe [this message]
2019-10-29 16:11       ` Kees Cook

Reply instructions:

You may reply publically 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=7fdaef1a-6c7a-46df-f84b-4d05cca16fca@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=gustavo@embeddedor.com \
    --cc=keescook@chromium.org \
    --cc=linux-next@vger.kernel.org \
    /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

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git