# \[PATCH net\] net: ipmr: ipmr\_get\_table() returns NULL

- Subsystems: NETWORKING \[GENERAL\], NETWORKING \[IPv4/IPv6\], THE REST
- Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, David Ahern, Ido Schimmel, Linus Torvalds
- List: netdev
- 3 messages, 3 authors
- Page: https://ratatoskr.run/netdev/2017/07/11059607/t

## \[PATCH net\] net: ipmr: ipmr\_get\_table() returns NULL

- From: Dan Carpenter \<hidden\>
- Date: 2017-07-12 07:57:36 
- Message: https://ratatoskr.run/netdev/2017/07/11059607.md

```text
The ipmr_get_table() function doesn't return error pointers it returns
NULL on error.

Fixes: 4f75ba6982bc ("net: ipmr: Add ipmr_rtm_getroute")
Signed-off-by: Dan Carpenter <redacted>

diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index bb909f1d7537..06863ea3fc5b 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -2431,8 +2431,8 @@ static int ipmr_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
 	tableid = tb[RTA_TABLE] ? nla_get_u32(tb[RTA_TABLE]) : 0;
 
 	mrt = ipmr_get_table(net, tableid ? tableid : RT_TABLE_DEFAULT);
-	if (IS_ERR(mrt)) {
-		err = PTR_ERR(mrt);
+	if (!mrt) {
+		err = -ENOENT;
 		goto errout_free;
 	}
 
```

## Re: \[PATCH net\] net: ipmr: ipmr\_get\_table() returns NULL

- From: Nikolay Aleksandrov \<hidden\>
- Date: 2017-07-12 08:02:56 
- Message: https://ratatoskr.run/netdev/2017/07/11059609.md

```text
On 12/07/17 10:56, Dan Carpenter wrote:
> The ipmr_get_table() function doesn't return error pointers it returns
> NULL on error.
> 
> Fixes: 4f75ba6982bc ("net: ipmr: Add ipmr_rtm_getroute")
> Signed-off-by: Dan Carpenter <redacted>
> 
> diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
> index bb909f1d7537..06863ea3fc5b 100644
> --- a/net/ipv4/ipmr.c
> +++ b/net/ipv4/ipmr.c
> @@ -2431,8 +2431,8 @@ static int ipmr_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
>  	tableid = tb[RTA_TABLE] ? nla_get_u32(tb[RTA_TABLE]) : 0;
>  
>  	mrt = ipmr_get_table(net, tableid ? tableid : RT_TABLE_DEFAULT);
> -	if (IS_ERR(mrt)) {
> -		err = PTR_ERR(mrt);
> +	if (!mrt) {
> +		err = -ENOENT;
>  		goto errout_free;
>  	}
>  
> 

Good catch, ipmr_new_table() is the one that can return err ptr.

Acked-by: Nikolay Aleksandrov <redacted>
```

## Re: \[PATCH net\] net: ipmr: ipmr\_get\_table() returns NULL

- From: David Miller \<davem@davemloft.net\>
- Date: 2017-07-12 15:19:11 
- Message: https://ratatoskr.run/netdev/2017/07/11059626.md

```text
From: Dan Carpenter <redacted>
Date: Wed, 12 Jul 2017 10:56:47 +0300

> The ipmr_get_table() function doesn't return error pointers it returns
> NULL on error.
> 
> Fixes: 4f75ba6982bc ("net: ipmr: Add ipmr_rtm_getroute")
> Signed-off-by: Dan Carpenter <redacted>

Applied.
```
