lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202602050440.e5LEMod6-lkp@intel.com>
Date: Thu, 5 Feb 2026 05:07:56 +0800
From: kernel test robot <lkp@...el.com>
To: Tomasz PakuĊ‚a <tomasz.pakula.oficjalny@...il.com>,
	jikos@...nel.org, bentiss@...nel.org
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev, oleg@...arenk.ooo,
	linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
	tomasz.pakula.oficjalny@...il.com
Subject: Re: [PATCH v2] HID: pidff: Fix condition effect bit clearing

Hi Tomasz,

kernel test robot noticed the following build warnings:

[auto build test WARNING on hid/for-next]
[also build test WARNING on linus/master v6.19-rc8 next-20260204]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Tomasz-Paku-a/HID-pidff-Fix-condition-effect-bit-clearing/20260204-213418
base:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
patch link:    https://lore.kernel.org/r/20260204133138.475880-1-tomasz.pakula.oficjalny%40gmail.com
patch subject: [PATCH v2] HID: pidff: Fix condition effect bit clearing
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20260205/202602050440.e5LEMod6-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260205/202602050440.e5LEMod6-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602050440.e5LEMod6-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/hid/usbhid/hid-pidff.c:1456:7: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
    1456 |                 if (test_and_clear_bit(FF_SPRING, dev->ffbit)   |
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1457 |                     test_and_clear_bit(FF_DAMPER, dev->ffbit)   |
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1458 |                     test_and_clear_bit(FF_FRICTION, dev->ffbit) |
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                                                 ||
    1459 |                     test_and_clear_bit(FF_INERTIA, dev->ffbit))
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hid/usbhid/hid-pidff.c:1456:7: note: cast one or both operands to int to silence this warning
>> drivers/hid/usbhid/hid-pidff.c:1456:7: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
    1456 |                 if (test_and_clear_bit(FF_SPRING, dev->ffbit)   |
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1457 |                     test_and_clear_bit(FF_DAMPER, dev->ffbit)   |
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                                                 ||
    1458 |                     test_and_clear_bit(FF_FRICTION, dev->ffbit) |
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hid/usbhid/hid-pidff.c:1456:7: note: cast one or both operands to int to silence this warning
>> drivers/hid/usbhid/hid-pidff.c:1456:7: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
    1456 |                 if (test_and_clear_bit(FF_SPRING, dev->ffbit)   |
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                                                 ||
    1457 |                     test_and_clear_bit(FF_DAMPER, dev->ffbit)   |
         |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hid/usbhid/hid-pidff.c:1456:7: note: cast one or both operands to int to silence this warning
   3 warnings generated.


vim +1456 drivers/hid/usbhid/hid-pidff.c

  1398	
  1399	#define PIDFF_FIND_FIELDS(name, report, strict) \
  1400		pidff_find_fields(pidff->name, pidff_ ## name, \
  1401			pidff->reports[report], \
  1402			ARRAY_SIZE(pidff_ ## name), strict, &pidff->quirks)
  1403	
  1404	/*
  1405	 * Fill and check the pidff_usages
  1406	 */
  1407	static int pidff_init_fields(struct pidff_device *pidff, struct input_dev *dev)
  1408	{
  1409		if (PIDFF_FIND_FIELDS(set_effect, PID_SET_EFFECT, 1)) {
  1410			hid_err(pidff->hid, "unknown set_effect report layout\n");
  1411			return -ENODEV;
  1412		}
  1413	
  1414		PIDFF_FIND_FIELDS(block_load, PID_BLOCK_LOAD, 0);
  1415		if (!pidff->block_load[PID_EFFECT_BLOCK_INDEX].value) {
  1416			hid_err(pidff->hid, "unknown pid_block_load report layout\n");
  1417			return -ENODEV;
  1418		}
  1419	
  1420		if (PIDFF_FIND_FIELDS(effect_operation, PID_EFFECT_OPERATION, 1)) {
  1421			hid_err(pidff->hid, "unknown effect_operation report layout\n");
  1422			return -ENODEV;
  1423		}
  1424	
  1425		if (PIDFF_FIND_FIELDS(block_free, PID_BLOCK_FREE, 1)) {
  1426			hid_err(pidff->hid, "unknown pid_block_free report layout\n");
  1427			return -ENODEV;
  1428		}
  1429	
  1430		if (pidff_find_special_fields(pidff) || pidff_find_effects(pidff, dev))
  1431			return -ENODEV;
  1432	
  1433		if (PIDFF_FIND_FIELDS(set_envelope, PID_SET_ENVELOPE, 1)) {
  1434			if (test_and_clear_bit(FF_CONSTANT, dev->ffbit))
  1435				hid_warn(pidff->hid,
  1436					 "has constant effect but no envelope\n");
  1437			if (test_and_clear_bit(FF_RAMP, dev->ffbit))
  1438				hid_warn(pidff->hid,
  1439					 "has ramp effect but no envelope\n");
  1440	
  1441			if (test_and_clear_bit(FF_PERIODIC, dev->ffbit))
  1442				hid_warn(pidff->hid,
  1443					 "has periodic effect but no envelope\n");
  1444		}
  1445	
  1446		if (PIDFF_FIND_FIELDS(set_constant, PID_SET_CONSTANT, 1) &&
  1447		    test_and_clear_bit(FF_CONSTANT, dev->ffbit))
  1448			hid_warn(pidff->hid, "unknown constant effect layout\n");
  1449	
  1450		if (PIDFF_FIND_FIELDS(set_ramp, PID_SET_RAMP, 1) &&
  1451		    test_and_clear_bit(FF_RAMP, dev->ffbit))
  1452			hid_warn(pidff->hid, "unknown ramp effect layout\n");
  1453	
  1454		if (PIDFF_FIND_FIELDS(set_condition, PID_SET_CONDITION, 1)) {
  1455			/* Bitwise to ensure all the bits will be cleared */
> 1456			if (test_and_clear_bit(FF_SPRING, dev->ffbit)   |
  1457			    test_and_clear_bit(FF_DAMPER, dev->ffbit)   |
  1458			    test_and_clear_bit(FF_FRICTION, dev->ffbit) |
  1459			    test_and_clear_bit(FF_INERTIA, dev->ffbit))
  1460				hid_warn(pidff->hid, "unknown condition effect layout\n");
  1461		}
  1462	
  1463		if (PIDFF_FIND_FIELDS(set_periodic, PID_SET_PERIODIC, 1) &&
  1464		    test_and_clear_bit(FF_PERIODIC, dev->ffbit))
  1465			hid_warn(pidff->hid, "unknown periodic effect layout\n");
  1466	
  1467		PIDFF_FIND_FIELDS(pool, PID_POOL, 0);
  1468	
  1469		if (!PIDFF_FIND_FIELDS(device_gain, PID_DEVICE_GAIN, 1))
  1470			set_bit(FF_GAIN, dev->ffbit);
  1471	
  1472		return 0;
  1473	}
  1474	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ