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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2c713c97-47ab-2ab-1553-60cbe976fe27@inria.fr>
Date: Sat, 18 Jan 2025 11:28:27 -0500 (EST)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Dave Penkler <dpenkler@...il.com>
cc: linux-kernel@...r.kernel.org, oe-kbuild-all@...ts.linux.dev
Subject: drivers/staging/gpib/agilent_82350b/agilent_82350b.c:70:25-26:
 WARNING opportunity for min() (fwd)

At least on line 70, using min might be nicer.

julia

---------- Forwarded message ----------
Date: Sat, 18 Jan 2025 21:31:38 +0800
From: kernel test robot <lkp@...el.com>
To: oe-kbuild@...ts.linux.dev
Cc: lkp@...el.com, Julia Lawall <julia.lawall@...ia.fr>
Subject: drivers/staging/gpib/agilent_82350b/agilent_82350b.c:70:25-26: WARNING
    opportunity for min()

BCC: lkp@...el.com
CC: oe-kbuild-all@...ts.linux.dev
CC: linux-kernel@...r.kernel.org
TO: Dave Penkler <dpenkler@...il.com>

Hi Dave,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   595523945be0a5a2f12a1c04772383293fbc04a1
commit: 165e8cc3cfec9ef51f3376b0d49b115294f34f3b staging: gpib: Add KBUILD files for GPIB drivers
date:   3 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 3 months ago
config: alpha-randconfig-r064-20250118 (https://download.01.org/0day-ci/archive/20250118/202501182153.qHfL4Fbc-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 14.2.0

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>
| Reported-by: Julia Lawall <julia.lawall@...ia.fr>
| Closes: https://lore.kernel.org/r/202501182153.qHfL4Fbc-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/staging/gpib/agilent_82350b/agilent_82350b.c:70:25-26: WARNING opportunity for min()
   drivers/staging/gpib/agilent_82350b/agilent_82350b.c:203:29-30: WARNING opportunity for min()

vim +70 drivers/staging/gpib/agilent_82350b/agilent_82350b.c

09a4655ee1ebdf6 Dave Penkler 2024-09-18   21
09a4655ee1ebdf6 Dave Penkler 2024-09-18   22  int agilent_82350b_accel_read(gpib_board_t *board, uint8_t *buffer, size_t length, int *end,
09a4655ee1ebdf6 Dave Penkler 2024-09-18   23  			      size_t *bytes_read)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   24
09a4655ee1ebdf6 Dave Penkler 2024-09-18   25  {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   26  	struct agilent_82350b_priv *a_priv = board->private_data;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   27  	struct tms9914_priv *tms_priv = &a_priv->tms9914_priv;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   28  	int retval = 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   29  	unsigned short event_status;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   30  	int i, num_fifo_bytes;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   31  	//hardware doesn't support checking for end-of-string character when using fifo
09a4655ee1ebdf6 Dave Penkler 2024-09-18   32  	if (tms_priv->eos_flags & REOS) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   33  		//pr_info("ag-rd: using tms9914 read for REOS %x EOS %x\n",tms_priv->eos_flags,
09a4655ee1ebdf6 Dave Penkler 2024-09-18   34  		// tms_priv->eos);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   35  		return tms9914_read(board, tms_priv, buffer, length, end, bytes_read);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   36  	}
09a4655ee1ebdf6 Dave Penkler 2024-09-18   37
09a4655ee1ebdf6 Dave Penkler 2024-09-18   38  	clear_bit(DEV_CLEAR_BN, &tms_priv->state);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   39
09a4655ee1ebdf6 Dave Penkler 2024-09-18   40  	read_and_clear_event_status(board);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   41  	*end = 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   42  	*bytes_read = 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   43  	if (length == 0)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   44  		return 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   45  	//disable fifo for the moment
09a4655ee1ebdf6 Dave Penkler 2024-09-18   46  	writeb(DIRECTION_GPIB_TO_HOST, a_priv->gpib_base + SRAM_ACCESS_CONTROL_REG);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   47  	// handle corner case of board not in holdoff and one byte might slip in early
09a4655ee1ebdf6 Dave Penkler 2024-09-18   48  	if (tms_priv->holdoff_active == 0 && length > 1) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   49  		size_t num_bytes;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   50
09a4655ee1ebdf6 Dave Penkler 2024-09-18   51  		retval = tms9914_read(board, tms_priv, buffer, 1, end, &num_bytes);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   52  		*bytes_read += num_bytes;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   53  		if (retval < 0)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   54  			pr_err("%s: tms9914_read failed retval=%i\n", driver_name, retval);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   55  		if (retval < 0 || *end)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   56  			return retval;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   57  		++buffer;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   58  		--length;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   59  	}
09a4655ee1ebdf6 Dave Penkler 2024-09-18   60  	tms9914_set_holdoff_mode(tms_priv, TMS9914_HOLDOFF_EOI);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   61  	tms9914_release_holdoff(tms_priv);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   62  	i = 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   63  	num_fifo_bytes = length - 1;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   64  	write_byte(tms_priv, tms_priv->imr0_bits & ~HR_BIIE, IMR0); // disable BI interrupts
09a4655ee1ebdf6 Dave Penkler 2024-09-18   65  	while (i < num_fifo_bytes && *end == 0) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   66  		int block_size;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   67  		int j;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   68  		int count;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   69
09a4655ee1ebdf6 Dave Penkler 2024-09-18  @70  		if (num_fifo_bytes - i < agilent_82350b_fifo_size)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   71  			block_size = num_fifo_bytes - i;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   72  		else
09a4655ee1ebdf6 Dave Penkler 2024-09-18   73  			block_size = agilent_82350b_fifo_size;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   74  		set_transfer_counter(a_priv, block_size);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   75  		writeb(ENABLE_TI_TO_SRAM | DIRECTION_GPIB_TO_HOST,
09a4655ee1ebdf6 Dave Penkler 2024-09-18   76  		       a_priv->gpib_base + SRAM_ACCESS_CONTROL_REG);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   77  		if (agilent_82350b_fifo_is_halted(a_priv))
09a4655ee1ebdf6 Dave Penkler 2024-09-18   78  			writeb(RESTART_STREAM_BIT, a_priv->gpib_base + STREAM_STATUS_REG);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   79
09a4655ee1ebdf6 Dave Penkler 2024-09-18   80  		clear_bit(READ_READY_BN, &tms_priv->state);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   81
09a4655ee1ebdf6 Dave Penkler 2024-09-18   82  		retval = wait_event_interruptible(board->wait,
09a4655ee1ebdf6 Dave Penkler 2024-09-18   83  						  ((event_status =
09a4655ee1ebdf6 Dave Penkler 2024-09-18   84  						    read_and_clear_event_status(board)) &
09a4655ee1ebdf6 Dave Penkler 2024-09-18   85  						   (TERM_COUNT_STATUS_BIT |
09a4655ee1ebdf6 Dave Penkler 2024-09-18   86  						    BUFFER_END_STATUS_BIT)) ||
09a4655ee1ebdf6 Dave Penkler 2024-09-18   87  						  test_bit(DEV_CLEAR_BN, &tms_priv->state) ||
09a4655ee1ebdf6 Dave Penkler 2024-09-18   88  						  test_bit(TIMO_NUM, &board->status));
09a4655ee1ebdf6 Dave Penkler 2024-09-18   89  		if (retval) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   90  			pr_err("%s: read wait interrupted\n", driver_name);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   91  			retval = -ERESTARTSYS;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   92  			break;
09a4655ee1ebdf6 Dave Penkler 2024-09-18   93  		}
09a4655ee1ebdf6 Dave Penkler 2024-09-18   94  		count = block_size - read_transfer_counter(a_priv);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   95  		for (j = 0; j < count && i < num_fifo_bytes; ++j)
09a4655ee1ebdf6 Dave Penkler 2024-09-18   96  			buffer[i++] = readb(a_priv->sram_base + j);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   97  		if (event_status & BUFFER_END_STATUS_BIT) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18   98  			clear_bit(RECEIVED_END_BN, &tms_priv->state);
09a4655ee1ebdf6 Dave Penkler 2024-09-18   99
09a4655ee1ebdf6 Dave Penkler 2024-09-18  100  			tms_priv->holdoff_active = 1;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  101  			*end = 1;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  102  		}
09a4655ee1ebdf6 Dave Penkler 2024-09-18  103  		if (test_bit(TIMO_NUM, &board->status)) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18  104  			pr_err("%s: minor %i: read timed out\n", driver_name, board->minor);
09a4655ee1ebdf6 Dave Penkler 2024-09-18  105  			retval = -ETIMEDOUT;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  106  			break;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  107  		}
09a4655ee1ebdf6 Dave Penkler 2024-09-18  108  		if (test_bit(DEV_CLEAR_BN, &tms_priv->state)) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18  109  			pr_err("%s: device clear interrupted read\n", driver_name);
09a4655ee1ebdf6 Dave Penkler 2024-09-18  110  			retval = -EINTR;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  111  			break;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  112  		}
09a4655ee1ebdf6 Dave Penkler 2024-09-18  113  	}
09a4655ee1ebdf6 Dave Penkler 2024-09-18  114  	write_byte(tms_priv, tms_priv->imr0_bits, IMR0); // re-enable BI interrupts
09a4655ee1ebdf6 Dave Penkler 2024-09-18  115  	*bytes_read += i;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  116  	buffer += i;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  117  	length -= i;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  118  	writeb(DIRECTION_GPIB_TO_HOST, a_priv->gpib_base + SRAM_ACCESS_CONTROL_REG);
09a4655ee1ebdf6 Dave Penkler 2024-09-18  119  	if (retval < 0)
09a4655ee1ebdf6 Dave Penkler 2024-09-18  120  		return retval;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  121  	// read last bytes if we havn't received an END yet
09a4655ee1ebdf6 Dave Penkler 2024-09-18  122  	if (*end == 0) {
09a4655ee1ebdf6 Dave Penkler 2024-09-18  123  		size_t num_bytes;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  124  		// try to make sure we holdoff after last byte read
09a4655ee1ebdf6 Dave Penkler 2024-09-18  125  		retval = tms9914_read(board, tms_priv, buffer, length, end, &num_bytes);
09a4655ee1ebdf6 Dave Penkler 2024-09-18  126  		*bytes_read += num_bytes;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  127  		if (retval < 0)
09a4655ee1ebdf6 Dave Penkler 2024-09-18  128  			return retval;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  129  	}
09a4655ee1ebdf6 Dave Penkler 2024-09-18  130  	return 0;
09a4655ee1ebdf6 Dave Penkler 2024-09-18  131  }
09a4655ee1ebdf6 Dave Penkler 2024-09-18  132

:::::: The code at line 70 was first introduced by commit
:::::: 09a4655ee1ebdf64d1ffae063c1e13c4cc17bf04 staging: gpib: Add HP/Agilent/Keysight 8235xx PCI GPIB driver

:::::: TO: Dave Penkler <dpenkler@...il.com>
:::::: CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>

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