* [android-common:android16-6.12 1/1] fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|'
@ 2026-09-27 19:10 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-09-27 19:10 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android16-6.12
head: 5169763275538844ab830145369bb81f14d261d3
commit: aff1917ea969915365f9595cdffba56f1c7ee9c3 [1/1] ANDROID: fuse: Use freezable wait in request_wait_answer to avoid suspend deadlock
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20260928/202609280355.4uhUUzpD-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260928/202609280355.4uhUUzpD-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609280355.4uhUUzpD-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/swait.h:8,
from include/linux/completion.h:12,
from include/linux/mm_types.h:14,
from include/linux/bpf.h:16,
from include/linux/filter.h:9,
from fs/fuse/fuse_i.h:17,
from fs/fuse/dev.c:9:
fs/fuse/dev.c: In function 'request_wait_answer':
>> fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
458 | TASK_KILLABLE | TASK_FREEZABLE);
| ^
include/linux/wait.h:284:11: note: in definition of macro '___wait_is_interruptible'
284 | (state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL)))
| ^~~~~
include/linux/wait.h:936:9: note: in expansion of macro '___wait_event'
936 | ___wait_event(wq, condition, state, 0, 0, schedule())
| ^~~~~~~~~~~~~
include/linux/wait.h:959:25: note: in expansion of macro '__wait_event_state'
959 | __ret = __wait_event_state(wq_head, condition, state); \
| ^~~~~~~~~~~~~~~~~~
fs/fuse/dev.c:456:23: note: in expansion of macro 'wait_event_state'
456 | err = wait_event_state(req->waitq,
| ^~~~~~~~~~~~~~~~
fs/fuse/dev.c:482:47: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
482 | TASK_UNINTERRUPTIBLE | TASK_FREEZABLE);
| ^
include/linux/wait.h:284:11: note: in definition of macro '___wait_is_interruptible'
284 | (state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL)))
| ^~~~~
include/linux/wait.h:936:9: note: in expansion of macro '___wait_event'
936 | ___wait_event(wq, condition, state, 0, 0, schedule())
| ^~~~~~~~~~~~~
include/linux/wait.h:959:25: note: in expansion of macro '__wait_event_state'
959 | __ret = __wait_event_state(wq_head, condition, state); \
| ^~~~~~~~~~~~~~~~~~
fs/fuse/dev.c:480:9: note: in expansion of macro 'wait_event_state'
480 | wait_event_state(req->waitq,
| ^~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for INTEL_MEI_ME
Depends on [n]: X86 && PCI [=y]
Selected by [y]:
- INTEL_MEI_HDCP [=y] && (DRM_I915 [=n] || DRM_XE [=y])
- INTEL_MEI_PXP [=y] && (DRM_I915 [=n] || DRM_XE [=y])
vim +458 fs/fuse/dev.c
433
434 static void request_wait_answer(struct fuse_req *req)
435 {
436 struct fuse_conn *fc = req->fm->fc;
437 struct fuse_iqueue *fiq = &fc->iq;
438 int err;
439
440 if (!fc->no_interrupt) {
441 /* Any signal may interrupt this */
442 err = wait_event_freezable(req->waitq,
443 test_bit(FR_FINISHED, &req->flags));
444 if (!err)
445 return;
446
447 set_bit(FR_INTERRUPTED, &req->flags);
448 /* matches barrier in fuse_dev_do_read() */
449 smp_mb__after_atomic();
450 if (test_bit(FR_SENT, &req->flags))
451 queue_interrupt(req);
452 }
453
454 if (!test_bit(FR_FORCE, &req->flags)) {
455 /* Only fatal signals may interrupt this */
456 err = wait_event_state(req->waitq,
457 test_bit(FR_FINISHED, &req->flags),
> 458 TASK_KILLABLE | TASK_FREEZABLE);
459 if (!err)
460 return;
461
462 spin_lock(&fiq->lock);
463 /* Request is not yet in userspace, bail out */
464 if (test_bit(FR_PENDING, &req->flags)) {
465 list_del(&req->list);
466 spin_unlock(&fiq->lock);
467 __fuse_put_request(req);
468 req->out.h.error = -EINTR;
469 return;
470 }
471 spin_unlock(&fiq->lock);
472 }
473
474 /*
475 * Either request is already in userspace, or it was forced.
476 * Wait it out using an uninterruptible freezable sleep so system suspend
477 * does not deadlock if FuseDaemon is already frozen, while ignoring
478 * non-fatal signals.
479 */
480 wait_event_state(req->waitq,
481 test_bit(FR_FINISHED, &req->flags),
482 TASK_UNINTERRUPTIBLE | TASK_FREEZABLE);
483 }
484
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [android-common:android16-6.12 1/1] fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|'
@ 2026-09-27 3:30 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-09-27 3:30 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android16-6.12
head: 5169763275538844ab830145369bb81f14d261d3
commit: aff1917ea969915365f9595cdffba56f1c7ee9c3 [1/1] ANDROID: fuse: Use freezable wait in request_wait_answer to avoid suspend deadlock
config: x86_64-randconfig-2200-20260927 (https://download.01.org/0day-ci/archive/20260927/202609270535.yD2hHJ16-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260927/202609270535.yD2hHJ16-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609270535.yD2hHJ16-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/swait.h:8,
from include/linux/completion.h:12,
from include/linux/mm_types.h:14,
from include/linux/bpf.h:16,
from include/linux/filter.h:9,
from fs/fuse/fuse_i.h:17,
from fs/fuse/dev.c:9:
fs/fuse/dev.c: In function 'request_wait_answer':
>> fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
458 | TASK_KILLABLE | TASK_FREEZABLE);
| ^
include/linux/wait.h:284:11: note: in definition of macro '___wait_is_interruptible'
284 | (state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL)))
| ^~~~~
include/linux/wait.h:936:9: note: in expansion of macro '___wait_event'
936 | ___wait_event(wq, condition, state, 0, 0, schedule())
| ^~~~~~~~~~~~~
include/linux/wait.h:959:25: note: in expansion of macro '__wait_event_state'
959 | __ret = __wait_event_state(wq_head, condition, state); \
| ^~~~~~~~~~~~~~~~~~
fs/fuse/dev.c:456:23: note: in expansion of macro 'wait_event_state'
456 | err = wait_event_state(req->waitq,
| ^~~~~~~~~~~~~~~~
fs/fuse/dev.c:482:47: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
482 | TASK_UNINTERRUPTIBLE | TASK_FREEZABLE);
| ^
include/linux/wait.h:284:11: note: in definition of macro '___wait_is_interruptible'
284 | (state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL)))
| ^~~~~
include/linux/wait.h:936:9: note: in expansion of macro '___wait_event'
936 | ___wait_event(wq, condition, state, 0, 0, schedule())
| ^~~~~~~~~~~~~
include/linux/wait.h:959:25: note: in expansion of macro '__wait_event_state'
959 | __ret = __wait_event_state(wq_head, condition, state); \
| ^~~~~~~~~~~~~~~~~~
fs/fuse/dev.c:480:9: note: in expansion of macro 'wait_event_state'
480 | wait_event_state(req->waitq,
| ^~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for BALLOON_COMPACTION
Depends on [n]: COMPACTION [=n] && MEMORY_BALLOON [=y]
Selected by [y]:
- GKI_HIDDEN_MM_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_INTEL_NHLT
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y] && ACPI [=y]
WARNING: unmet direct dependencies detected for SND_PCM_ELD
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for VIDEO_V4L2_SUBDEV_API
Depends on [n]: MEDIA_SUPPORT [=y] && VIDEO_DEV [=n] && MEDIA_CONTROLLER [=y]
Selected by [y]:
- GKI_HIDDEN_MEDIA_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_PCM_IEC958
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_SOC_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_HDA_ALIGNED_MMIO
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_COMPRESS_ACCEL
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_VMASTER
Depends on [n]: SOUND [=n] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for CAN_RX_OFFLOAD
Depends on [n]: NETDEVICES [=y] && CAN_DEV [=n] && CAN_NETLINK [=n]
Selected by [y]:
- GKI_HIDDEN_MCP251XFD_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK_INPUT_DEV
Depends on [n]: SOUND [=n] && SND [=n] && SND_JACK [=y]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
vim +458 fs/fuse/dev.c
433
434 static void request_wait_answer(struct fuse_req *req)
435 {
436 struct fuse_conn *fc = req->fm->fc;
437 struct fuse_iqueue *fiq = &fc->iq;
438 int err;
439
440 if (!fc->no_interrupt) {
441 /* Any signal may interrupt this */
442 err = wait_event_freezable(req->waitq,
443 test_bit(FR_FINISHED, &req->flags));
444 if (!err)
445 return;
446
447 set_bit(FR_INTERRUPTED, &req->flags);
448 /* matches barrier in fuse_dev_do_read() */
449 smp_mb__after_atomic();
450 if (test_bit(FR_SENT, &req->flags))
451 queue_interrupt(req);
452 }
453
454 if (!test_bit(FR_FORCE, &req->flags)) {
455 /* Only fatal signals may interrupt this */
456 err = wait_event_state(req->waitq,
457 test_bit(FR_FINISHED, &req->flags),
> 458 TASK_KILLABLE | TASK_FREEZABLE);
459 if (!err)
460 return;
461
462 spin_lock(&fiq->lock);
463 /* Request is not yet in userspace, bail out */
464 if (test_bit(FR_PENDING, &req->flags)) {
465 list_del(&req->list);
466 spin_unlock(&fiq->lock);
467 __fuse_put_request(req);
468 req->out.h.error = -EINTR;
469 return;
470 }
471 spin_unlock(&fiq->lock);
472 }
473
474 /*
475 * Either request is already in userspace, or it was forced.
476 * Wait it out using an uninterruptible freezable sleep so system suspend
477 * does not deadlock if FuseDaemon is already frozen, while ignoring
478 * non-fatal signals.
479 */
480 wait_event_state(req->waitq,
481 test_bit(FR_FINISHED, &req->flags),
482 TASK_UNINTERRUPTIBLE | TASK_FREEZABLE);
483 }
484
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-27 19:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-27 19:10 [android-common:android16-6.12 1/1] fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-09-27 3:30 kernel test robot
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.