Subject: Re: [PATCH net-next v2 3/6] gtp: unify genl_find_pdp and prepare for per socket lookup

From: Andreas Schultz <[email-masked]>
Date: Thu, 2 Feb 2017 15:27:17 +0100 (CET)

----- On Feb 2, 2017, at 3:19 PM, pablo [email-masked] wrote:

> On Mon, Jan 30, 2017 at 05:37:10PM +0100, Andreas Schultz wrote:
>> This unifies duplicate code into a helper. It also prepares the
>> groundwork to add a lookup version that uses the socket to find
>> attache pdp contexts.
>> 
>> Signed-off-by: Andreas Schultz <[email-masked]>
>> ---
>>  drivers/net/gtp.c | 120 +++++++++++++++++++++++-------------------------------
>>  1 file changed, 51 insertions(+), 69 deletions(-)
>> 
>> diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
>> index c96c71f..6b7a3c2 100644
>> --- a/drivers/net/gtp.c
>> +++ b/drivers/net/gtp.c
> [...]
>> +static struct pdp_ctx *gtp_genl_find_pdp(struct sk_buff *skb,
>> +					 struct genl_info *info)
>> +{
>> +	struct pdp_ctx *pctx;
>> +
>> +	if (info->attrs[GTPA_LINK])
>> +		pctx = gtp_genl_find_pdp_by_link(skb, info);
>> +	else
>> +		pctx = ERR_PTR(-EINVAL);
>> +	if (!pctx)
>> +		pctx = ERR_PTR(-ENOENT);
>> +
>> +	return pctx;
>> +}
> 
> For gtp_genl_find_pdp(),  I think this is easier to read:
> 
>        if (!info->attrs[GTPA_LINK])
>                return ERR_PTR(-EINVAL);
> 
>        pctx = gtp_genl_find_pdp_by_link(skb, info);
>	if (!pctx)
>		return ERR_PTR(-ENOENT);
> 
>         return pctx;

Yes, but a later patch (will be submitted after this series is
accepted) will change that to:

        if (info->attrs[GTPA_LINK])
                pctx = gtp_genl_find_pdp_by_link(skb, info);
        else if (info->attrs[GTPA_FD])
                pctx = gtp_genl_find_pdp_by_socket(skb, info);
        else
                pctx = ERR_PTR(-EINVAL);

        if (!pctx)
                pctx = ERR_PTR(-ENOENT);

        return pctx;

I can use your form for this change, but have a larger change
later. Which way do you prefer it?

Andreas