All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

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.