From: Andreas Schultz <aschultz@tpip.net>
To: Pablo Neira <pablo@netfilter.org>
Cc: netdev@vger.kernel.org, Harald Welte <laforge@gnumonks.org>,
Lionel Gauthier <Lionel.Gauthier@eurecom.fr>,
openbsc@lists.osmocom.org
Subject: [PATCH 04/17] gtp: return error ptr in find pdp helpers
Date: Mon, 23 Jan 2017 12:56:53 +0100 [thread overview]
Message-ID: <20170123115706.4354-5-aschultz@tpip.net> (raw)
In-Reply-To: <20170123115706.4354-1-aschultz@tpip.net>
Signed-off-by: Andreas Schultz <aschultz@tpip.net>
---
drivers/net/gtp.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index 60946b7..e95c856 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
@@ -114,7 +114,7 @@ static struct pdp_ctx *gtp0_pdp_find(struct gtp_dev *gtp, u64 tid)
pdp->u.v0.tid == tid)
return pdp;
}
- return NULL;
+ return ERR_PTR(-ENOENT);
}
/* Resolve a PDP context structure based on the 32bit TEI. */
@@ -130,7 +130,7 @@ static struct pdp_ctx *gtp1_pdp_find(struct gtp_dev *gtp, u32 tid)
pdp->u.v1.i_tei == tid)
return pdp;
}
- return NULL;
+ return ERR_PTR(-ENOENT);
}
/* Resolve a PDP context based on IPv4 address of MS. */
@@ -147,7 +147,7 @@ static struct pdp_ctx *ipv4_pdp_find(struct gtp_dev *gtp, __be32 ms_addr)
return pdp;
}
- return NULL;
+ return ERR_PTR(-ENOENT);
}
static bool gtp_check_src_ms_ipv4(struct sk_buff *skb, struct pdp_ctx *pctx,
@@ -199,7 +199,7 @@ static int gtp0_udp_encap_recv(struct gtp_dev *gtp, struct sk_buff *skb,
rcu_read_lock();
pctx = gtp0_pdp_find(gtp, be64_to_cpu(gtp0->tid));
- if (!pctx) {
+ if (IS_ERR(pctx)) {
netdev_dbg(gtp->dev, "No PDP ctx to decap skb=%p\n", skb);
ret = -1;
goto out_rcu;
@@ -256,7 +256,7 @@ static int gtp1u_udp_encap_recv(struct gtp_dev *gtp, struct sk_buff *skb,
rcu_read_lock();
pctx = gtp1_pdp_find(gtp, ntohl(gtp1->tid));
- if (!pctx) {
+ if (IS_ERR(pctx)) {
netdev_dbg(gtp->dev, "No PDP ctx to decap skb=%p\n", skb);
ret = -1;
goto out_rcu;
@@ -476,10 +476,10 @@ static int gtp_build_skb_ip4(struct sk_buff *skb, struct net_device *dev,
*/
iph = ip_hdr(skb);
pctx = ipv4_pdp_find(gtp, iph->daddr);
- if (!pctx) {
+ if (IS_ERR(pctx)) {
netdev_dbg(dev, "no PDP ctx found for %pI4, skip\n",
&iph->daddr);
- return -ENOENT;
+ return PTR_ERR(pctx);
}
netdev_dbg(dev, "found PDP context %p\n", pctx);
@@ -1085,8 +1085,8 @@ static int gtp_genl_del_pdp(struct sk_buff *skb, struct genl_info *info)
return -EINVAL;
}
- if (pctx == NULL)
- return -ENOENT;
+ if (IS_ERR(pctx))
+ return PTR_ERR(pctx);
if (pctx->gtp_version == GTP_V0)
netdev_dbg(dev, "GTPv0-U: deleting tunnel id = %llx (pdp %p)\n",
@@ -1194,8 +1194,8 @@ static int gtp_genl_get_pdp(struct sk_buff *skb, struct genl_info *info)
pctx = ipv4_pdp_find(gtp, ip);
}
- if (pctx == NULL) {
- err = -ENOENT;
+ if (IS_ERR(pctx)) {
+ err = PTR_ERR(pctx);
goto err_unlock;
}
--
2.10.2
next prev parent reply other threads:[~2017-01-23 12:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 11:56 [PATCH 00/17] gtp: fixes and support multiple VRF's per GTP socket Andreas Schultz
2017-01-23 11:56 ` [PATCH 01/17] gtp: add genl family modules alias Andreas Schultz
2017-01-23 11:56 ` [PATCH 02/17] gtp: clear DF bit on GTP packet tx Andreas Schultz
2017-01-23 11:56 ` [PATCH 03/17] gtp: make GTP sockets in gtp_newlink optional Andreas Schultz
2017-01-23 11:56 ` Andreas Schultz [this message]
2017-01-23 11:56 ` [PATCH 05/17] gtp: unify genl_find_pdp and prepare for per socket lookup Andreas Schultz
2017-01-23 11:56 ` [PATCH 06/17] gtp: fix cross netns recv on gtp socket Andreas Schultz
2017-01-23 11:56 ` [PATCH 07/17] gtp: remove unnecessary rcu_read_lock Andreas Schultz
2017-01-23 11:56 ` [PATCH 08/17] gtp: consolidate pdp context destruction into helper Andreas Schultz
2017-01-23 11:56 ` [PATCH 09/17] gtp: use addr_hash when traversing pdp contexts Andreas Schultz
2017-01-23 11:56 ` [PATCH 10/17] gtp: add socket to pdp context Andreas Schultz
2017-01-23 11:57 ` [PATCH 11/17] gtp: consolidate gtp socket rx path Andreas Schultz
2017-01-23 11:57 ` [PATCH 12/17] gtp: let userspace handle packets for invalid tunnels Andreas Schultz
2017-01-23 11:57 ` [PATCH 13/17] gtp: replace netdev_dbg and KERN_DEBUG printk with pr_debug Andreas Schultz
2017-01-23 11:57 ` [PATCH 14/17] gtp: move TEID hash to per socket structure Andreas Schultz
2017-01-23 11:57 ` [PATCH 15/17] gtp: rename gtp hashtable helpers Andreas Schultz
2017-01-23 11:57 ` [PATCH 16/17] gtp: add genl cmd to enable GTP encapsulation on UDP socket Andreas Schultz
2017-01-23 11:57 ` [PATCH 17/17] gtp: add support to select a GTP socket during PDP context creation Andreas Schultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123115706.4354-5-aschultz@tpip.net \
--to=aschultz@tpip.net \
--cc=Lionel.Gauthier@eurecom.fr \
--cc=laforge@gnumonks.org \
--cc=netdev@vger.kernel.org \
--cc=openbsc@lists.osmocom.org \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).