On Sun, Nov 13, 2016 at 9:15 AM, David Miller wrote:
> I've commited the following to net-next:
>
>
> [PATCH] genetlink: Make family a signed integer.
>
> The idr_alloc(), idr_remove(), et al. routines all expect IDs to be
> signed integers. Therefore make the genl_family mem
From: Colin King
Date: Thu, 10 Nov 2016 15:57:58 +
> From: Colin Ian King
>
> family->id is unsigned, so the less than zero check for
> failure return from idr_alloc is never true and so the error exit
> is never handled. Instead, assign err and check if this is less
> than zero since this
> > I suppose it could be, since family IDs are allocated in a 16-bit
> > range
> > anyway. But family IDs can also never actually be negative, so
> > having
> > an unsigned int in the struct makes sense too.
>
> All idr_* API's accept int, rather than unsigned int. This is my
> point.
Sure, but
On Sat, Nov 12, 2016 at 1:37 PM, Johannes Berg
wrote:
> On Thu, 2016-11-10 at 09:11 -0800, Cong Wang wrote:
>> On Thu, Nov 10, 2016 at 7:57 AM, Colin King > > wrote:
>> >
>> > From: Colin Ian King
>> >
>> > family->id is unsigned, so the less than zero check for
>> > failure return from idr_alloc
On Thu, 2016-11-10 at 09:11 -0800, Cong Wang wrote:
> On Thu, Nov 10, 2016 at 7:57 AM, Colin King > wrote:
> >
> > From: Colin Ian King
> >
> > family->id is unsigned, so the less than zero check for
> > failure return from idr_alloc is never true and so the error exit
> > is never handled. In
On Thu, Nov 10, 2016 at 7:57 AM, Colin King wrote:
> From: Colin Ian King
>
> family->id is unsigned, so the less than zero check for
> failure return from idr_alloc is never true and so the error exit
> is never handled. Instead, assign err and check if this is less
> than zero since this is a
From: Colin Ian King
family->id is unsigned, so the less than zero check for
failure return from idr_alloc is never true and so the error exit
is never handled. Instead, assign err and check if this is less
than zero since this is a signed integer.
Issue found with static analysis with Coverity