Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1331668

Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE

From Guenter Roeck <linux@roeck-us.net>
Newsgroups linux.kernel
Subject Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE
Date 2016-02-11 04:40 +0100
Message-ID <r0QgO-36r-1@gated-at.bofh.it> (permalink)
References <r0i5s-5IR-21@gated-at.bofh.it> <r0ioQ-5QL-85@gated-at.bofh.it> <r0sRc-4oH-9@gated-at.bofh.it> <r0ESm-3Vo-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 02/10/2016 07:21 AM, Arnd Bergmann wrote:
> On Tuesday 09 February 2016 18:37:46 Guenter Roeck wrote:
>> On 02/09/2016 07:26 AM, Arnd Bergmann wrote:
>>> On Tuesday 09 February 2016 07:08:59 Guenter Roeck wrote:
>>>> IS_ERR_VALUE() assumes that its parameter is an unsigned long.
>>>> It can not be used to check if an unsigned int reflects an error.
>>>> Doing so can result in the following build warning.
>>>>
>>>> drivers/tty/serial/digicolor-usart.c: In function ‘digicolor_uart_probe’:
>>>> include/linux/err.h:21:38: warning:
>>>>           comparison is always false due to limited range of data type
>>>> drivers/tty/serial/digicolor-usart.c:485:6: note:
>>>>           in expansion of macro ‘IS_ERR_VALUE’
>>>>
>>>> If that warning is seen, an error return from platform_get_irq() is missed.
>>>>
>>>>
>>>
>>> The patch looks correct to me, but what compiler version and which kernel
>>> tree is it that triggered the warning?
>>>
>>> Andrzej Hajda just modified the definition of IS_ERR_VALUE(), and the
>>> changes are still under discussion, but I don't see that warning with
>>> any of the versions.
>>>
>> I see it with gcc 5.1 and 5.2 (and W=1). I did not see / notice Andrzej's patch.
>>
>> I agree that fixing the problem in IS_ERR_VALUE() is preferrable.
>>
>>
>
> Ah, W=1 explains it. We are still debating about the proper solution. Al Viro
> pointed out that most users of IS_ERR_VALUE() shouldn't be using it at all,
> so your patch is probably best here after all.
>

Yes, after looking into it some more I agree. Coccinelle should be able to handle
most of the conversions automatically. I actually tried to write a script, just
for the fun of it, but it misses some of the problem cases in patch mode.
Maybe I get it working tonight.

Guenter

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Guenter Roeck <linux@roeck-us.net> - 2016-02-09 16:10 +0100
  Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Arnd Bergmann <arnd@arndb.de> - 2016-02-09 16:30 +0100
    Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Guenter Roeck <linux@roeck-us.net> - 2016-02-10 03:40 +0100
      Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Arnd Bergmann <arnd@arndb.de> - 2016-02-10 16:30 +0100
        Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Guenter Roeck <linux@roeck-us.net> - 2016-02-11 04:40 +0100
          Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Andrzej Hajda <a.hajda@samsung.com> - 2016-02-11 07:50 +0100
            Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Guenter Roeck <linux@roeck-us.net> - 2016-02-11 16:40 +0100
              Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Andrzej Hajda <a.hajda@samsung.com> - 2016-02-12 07:50 +0100
      Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Russell King - ARM Linux <linux@arm.linux.org.uk> - 2016-02-11 11:50 +0100
        Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Guenter Roeck <linux@roeck-us.net> - 2016-02-11 16:20 +0100
  Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Baruch Siach <baruch@tkos.co.il> - 2016-02-11 08:00 +0100

csiph-web