* [jirislaby:devel 61/98] drivers/tty/tty_buffer.c:325:14: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((((1UL << 18) - sizeof(struct tty_buffer)) / 2) & ~255)) *' (aka 'unsigned long *'))
@ 2023-07-27 10:01 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-07-27 10:01 UTC (permalink / raw)
To: Jiri Slaby (SUSE); +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 2400f7abb9deab7a2207b19d1fad47d9910077a9
commit: 58dea2bfdf65b65a29a79d6227bff708ea95dc7c [61/98] tty: tty_buffer: use min() instead of min_t()
config: hexagon-randconfig-r041-20230727 (https://download.01.org/0day-ci/archive/20230727/202307271740.14PYVBMD-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230727/202307271740.14PYVBMD-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/202307271740.14PYVBMD-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/tty/tty_buffer.c:9:
In file included from include/linux/tty.h:12:
In file included from include/linux/tty_port.h:5:
In file included from include/linux/kfifo.h:42:
In file included from include/linux/scatterlist.h:9:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from drivers/tty/tty_buffer.c:9:
In file included from include/linux/tty.h:12:
In file included from include/linux/tty_port.h:5:
In file included from include/linux/kfifo.h:42:
In file included from include/linux/scatterlist.h:9:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from drivers/tty/tty_buffer.c:9:
In file included from include/linux/tty.h:12:
In file included from include/linux/tty_port.h:5:
In file included from include/linux/kfifo.h:42:
In file included from include/linux/scatterlist.h:9:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
>> drivers/tty/tty_buffer.c:325:14: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((((1UL << 18) - sizeof(struct tty_buffer)) / 2) & ~255)) *' (aka 'unsigned long *')) [-Wcompare-distinct-pointer-types]
325 | int goal = min(size - copied, TTY_BUFFER_PAGE);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:67:19: note: expanded from macro 'min'
67 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
36 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
26 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
drivers/tty/tty_buffer.c:363:14: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((((1UL << 18) - sizeof(struct tty_buffer)) / 2) & ~255)) *' (aka 'unsigned long *')) [-Wcompare-distinct-pointer-types]
363 | int goal = min(size - copied, TTY_BUFFER_PAGE);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:67:19: note: expanded from macro 'min'
67 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
36 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
26 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
8 warnings generated.
vim +325 drivers/tty/tty_buffer.c
305
306 /**
307 * tty_insert_flip_string_fixed_flag - add characters to the tty buffer
308 * @port: tty port
309 * @chars: characters
310 * @flag: flag value for each character
311 * @size: size
312 *
313 * Queue a series of bytes to the tty buffering. All the characters passed are
314 * marked with the supplied flag.
315 *
316 * Returns: the number added.
317 */
318 int tty_insert_flip_string_fixed_flag(struct tty_port *port, const u8 *chars,
319 u8 flag, size_t size)
320 {
321 int copied = 0;
322 bool flags = flag != TTY_NORMAL;
323
324 do {
> 325 int goal = min(size - copied, TTY_BUFFER_PAGE);
326 int space = __tty_buffer_request_room(port, goal, flags);
327 struct tty_buffer *tb = port->buf.tail;
328
329 if (unlikely(space == 0))
330 break;
331 memcpy(char_buf_ptr(tb, tb->used), chars, space);
332 if (tb->flags)
333 memset(flag_buf_ptr(tb, tb->used), flag, space);
334 tb->used += space;
335 copied += space;
336 chars += space;
337 /* There is a small chance that we need to split the data over
338 * several buffers. If this is the case we must loop.
339 */
340 } while (unlikely(size > copied));
341 return copied;
342 }
343 EXPORT_SYMBOL(tty_insert_flip_string_fixed_flag);
344
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-07-27 10:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-27 10:01 [jirislaby:devel 61/98] drivers/tty/tty_buffer.c:325:14: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((((1UL << 18) - sizeof(struct tty_buffer)) / 2) & ~255)) *' (aka 'unsigned long *')) kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox