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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun, 2 Aug 2020 06:18:19 +0800
From:   kernel test robot <lkp@...el.com>
To:     Johnny Chuang <johnny.chuang@....com.tw>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Dmitry Torokhov <dmitry.torokhov@...il.com>,
        Peter Hutterer <peter.hutterer@...-t.net>
Subject: drivers/input/touchscreen/elants_i2c.c:859:45: warning: Clarify
 calculation precedence for '&' and

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d52daa8620c65960e1ef882adc1f92061326bd7a
commit: f27ad8932725f8dd0cd1a46763de4a40377b1ae6 Input: elants_i2c - support palm detection
date:   4 months ago
compiler: xtensa-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>


cppcheck warnings: (new ones prefixed by >>)

>> drivers/input/touchscreen/elants_i2c.c:859:45: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
    tool_type = buf[FW_POS_TOOL_TYPE] & BIT(0) ?
                                               ^

vim +859 drivers/input/touchscreen/elants_i2c.c

   838	
   839	/*
   840	 * Event reporting.
   841	 */
   842	
   843	static void elants_i2c_mt_event(struct elants_data *ts, u8 *buf)
   844	{
   845		struct input_dev *input = ts->input;
   846		unsigned int n_fingers;
   847		unsigned int tool_type;
   848		u16 finger_state;
   849		int i;
   850	
   851		n_fingers = buf[FW_POS_STATE + 1] & 0x0f;
   852		finger_state = ((buf[FW_POS_STATE + 1] & 0x30) << 4) |
   853				buf[FW_POS_STATE];
   854	
   855		dev_dbg(&ts->client->dev,
   856			"n_fingers: %u, state: %04x\n",  n_fingers, finger_state);
   857	
   858		/* Note: all fingers have the same tool type */
 > 859		tool_type = buf[FW_POS_TOOL_TYPE] & BIT(0) ?
   860				MT_TOOL_FINGER : MT_TOOL_PALM;
   861	
   862		for (i = 0; i < MAX_CONTACT_NUM && n_fingers; i++) {
   863			if (finger_state & 1) {
   864				unsigned int x, y, p, w;
   865				u8 *pos;
   866	
   867				pos = &buf[FW_POS_XY + i * 3];
   868				x = (((u16)pos[0] & 0xf0) << 4) | pos[1];
   869				y = (((u16)pos[0] & 0x0f) << 8) | pos[2];
   870				p = buf[FW_POS_PRESSURE + i];
   871				w = buf[FW_POS_WIDTH + i];
   872	
   873				dev_dbg(&ts->client->dev, "i=%d x=%d y=%d p=%d w=%d\n",
   874					i, x, y, p, w);
   875	
   876				input_mt_slot(input, i);
   877				input_mt_report_slot_state(input, tool_type, true);
   878				input_event(input, EV_ABS, ABS_MT_POSITION_X, x);
   879				input_event(input, EV_ABS, ABS_MT_POSITION_Y, y);
   880				input_event(input, EV_ABS, ABS_MT_PRESSURE, p);
   881				input_event(input, EV_ABS, ABS_MT_TOUCH_MAJOR, w);
   882	
   883				n_fingers--;
   884			}
   885	
   886			finger_state >>= 1;
   887		}
   888	
   889		input_mt_sync_frame(input);
   890		input_sync(input);
   891	}
   892	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists