Subject: Re: [PATCH] IRDA: Fix genlmsg_put() return value check.

From: <[email-masked]>
Date: Mon, 23 Jun 2008 22:13:42 +0200

On Mon, 23 Jun 2008 21:43:31 +0200, Patrick McHardy <[email-masked]>

wrote:

> Julius Volz wrote:

>> Fix an incorrect return value check of genlmsg_put() in

> irda_nl_get_mode().

>> genlmsg_put() does not use ERR_PTR() to encode return values, it just

>> returns NULL on error.

>> Signed-off-by: Julius Volz <[email-masked]>

>> ---

>>  net/irda/irnetlink.c |    4 ++--

>>  1 files changed, 2 insertions(+), 2 deletions(-)

>> diff --git a/net/irda/irnetlink.c b/net/irda/irnetlink.c

>> index 9e1fb82..ea11cb4 100644

>> --- a/net/irda/irnetlink.c

>> +++ b/net/irda/irnetlink.c

>> @@ -101,8 +101,8 @@ static int irda_nl_get_mode(struct sk_buff *skb,

> struct genl_info *info)

>>  	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq,

>>  			  &irda_nl_family, 0,  IRDA_NL_CMD_GET_MODE);

>> -	if (IS_ERR(hdr)) {

>> -		ret = PTR_ERR(hdr);

>> +	if (hdr == NULL) {

>> +		ret = -ENOMEM;

>>  		goto err_out;

>>  	}

> Good catch, but the correct return value for insufficient

> space in the skb is -ENOSPC.

Thanks Julius, Patrick. I'll take this one and send it with

my next IrDA patch set.

Cheers,

Samuel.