* Coverity: io_wqe_worker(): Program hangs @ 2019-10-28 23:05 coverity-bot 2019-10-28 23:27 ` Jens Axboe 0 siblings, 1 reply; 5+ messages in thread From: coverity-bot @ 2019-10-28 23:05 UTC (permalink / raw) To: Jens Axboe; +Cc: Gustavo A. R. Silva, linux-next 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: Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> Addresses-Coverity-ID: 1487365 ("Program hangs") Fixes: 46134db8fdc5 ("io-wq: small threadpool implementation for io_uring") Thanks for your attention! -- Coverity-bot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coverity: io_wqe_worker(): Program hangs 2019-10-28 23:05 Coverity: io_wqe_worker(): Program hangs coverity-bot @ 2019-10-28 23:27 ` Jens Axboe 2019-10-28 23:30 ` Kees Cook 0 siblings, 1 reply; 5+ messages in thread From: Jens Axboe @ 2019-10-28 23:27 UTC (permalink / raw) To: coverity-bot; +Cc: Gustavo A. R. Silva, linux-next 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. -- Jens Axboe ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coverity: io_wqe_worker(): Program hangs 2019-10-28 23:27 ` Jens Axboe @ 2019-10-28 23:30 ` Kees Cook 2019-10-28 23:35 ` Jens Axboe 0 siblings, 1 reply; 5+ messages in thread From: Kees Cook @ 2019-10-28 23:30 UTC (permalink / raw) To: Jens Axboe; +Cc: Gustavo A. R. Silva, linux-next 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 Thanks! -- Kees Cook ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coverity: io_wqe_worker(): Program hangs 2019-10-28 23:30 ` Kees Cook @ 2019-10-28 23:35 ` Jens Axboe 2019-10-29 16:11 ` Kees Cook 0 siblings, 1 reply; 5+ messages in thread From: Jens Axboe @ 2019-10-28 23:35 UTC (permalink / raw) To: Kees Cook; +Cc: Gustavo A. R. Silva, linux-next 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coverity: io_wqe_worker(): Program hangs 2019-10-28 23:35 ` Jens Axboe @ 2019-10-29 16:11 ` Kees Cook 0 siblings, 0 replies; 5+ messages in thread From: Kees Cook @ 2019-10-29 16:11 UTC (permalink / raw) To: Jens Axboe; +Cc: Gustavo A. R. Silva, linux-next On Mon, Oct 28, 2019 at 05:35:15PM -0600, Jens Axboe wrote: > 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. Yeah, I think I see Coverity's confusion: this code is the work queue runner, IIUC, so the locking is pretty special. I'll try to see if there is a way to improve this. -- Kees Cook ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-10-29 16:11 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-10-28 23:05 Coverity: io_wqe_worker(): Program hangs coverity-bot 2019-10-28 23:27 ` Jens Axboe 2019-10-28 23:30 ` Kees Cook 2019-10-28 23:35 ` Jens Axboe 2019-10-29 16:11 ` Kees Cook
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).