All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: cros-kernel-buildreports@googlegroups.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [android-common:android16-6.12 1/1] fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|'
Date: Mon, 28 Sep 2026 03:10:14 +0800	[thread overview]
Message-ID: <202609280355.4uhUUzpD-lkp@intel.com> (raw)

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

             reply	other threads:[~2026-09-27 19:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-27 19:10 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-09-27  3:30 [android-common:android16-6.12 1/1] fs/fuse/dev.c:458:55: warning: suggest parentheses around arithmetic in operand of '|' kernel test robot

Reply instructions:

You may reply publicly 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=202609280355.4uhUUzpD-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=cros-kernel-buildreports@googlegroups.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.