All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
To: "dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "andrew.boyer-8PEkshWhKlo@public.gmane.org"
	<andrew.boyer-8PEkshWhKlo@public.gmane.org>,
	"monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
	<monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: [PATCH 06/15] IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments
Date: Mon, 2 Jan 2017 10:40:49 +0000	[thread overview]
Message-ID: <1483353555.3592.24.camel@sandisk.com> (raw)
In-Reply-To: <1483353316.3592.14.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>

Let the compiler check the type of the arguments passed to SKB_TO_PKT()
and PKT_TO_SKB().

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Moni Shoua <monis@mellanox.com>
Cc: Andrew Boyer <andrew.boyer@dell.com>
---
 drivers/infiniband/sw/rxe/rxe_hdr.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/sw/rxe/rxe_hdr.h b/drivers/infiniband/sw/rxe/rxe_hdr.h
index d57b5e956ceb..6cb18406f5b8 100644
--- a/drivers/infiniband/sw/rxe/rxe_hdr.h
+++ b/drivers/infiniband/sw/rxe/rxe_hdr.h
@@ -53,8 +53,16 @@ struct rxe_pkt_info {
 };
 
 /* Macros should be used only for received skb */
-#define SKB_TO_PKT(skb) ((struct rxe_pkt_info *)(skb)->cb)
-#define PKT_TO_SKB(pkt) container_of((void *)(pkt), struct sk_buff, cb)
+static inline struct rxe_pkt_info *SKB_TO_PKT(struct sk_buff *skb)
+{
+	BUILD_BUG_ON(sizeof(struct rxe_pkt_info) > sizeof(skb->cb));
+	return (void *)skb->cb;
+}
+
+static inline struct sk_buff *PKT_TO_SKB(struct rxe_pkt_info *pkt)
+{
+	return container_of((void *)pkt, struct sk_buff, cb);
+}
 
 /*
  * IBA header types and methods
-- 
2.11.0

  parent reply	other threads:[~2017-01-02 10:40 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-02 10:35 [PATCH 00/15] IB/rxe patches for kernel v4.11 Bart Van Assche
     [not found] ` <1483353316.3592.14.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-02 10:39   ` [PATCH 01/15] IB/rxe: Suppress sparse warnings Bart Van Assche
     [not found]     ` <1483353409.3592.15.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-05 12:59       ` Leon Romanovsky
     [not found]         ` <20170105125955.GB15685-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-09 12:42           ` Bart Van Assche
     [not found]             ` <1483965701.2923.0.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 13:13               ` Leon Romanovsky
2017-01-09 14:27       ` Boyer, Andrew
2017-01-02 10:39   ` [PATCH 02/15] IB/rxe: Constify the pool name Bart Van Assche
     [not found]     ` <1483353445.3592.17.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-08  9:40       ` Leon Romanovsky
2017-01-09 14:27       ` Boyer, Andrew
2017-01-02 10:39   ` [PATCH 03/15] IB/rxe: Remove an unused function Bart Van Assche
     [not found]     ` <1483353474.3592.18.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-08  9:39       ` Leon Romanovsky
2017-01-09 14:28       ` Boyer, Andrew
2017-01-02 10:40   ` [PATCH 04/15] IB/rxe: Remove an unused variable Bart Van Assche
     [not found]     ` <1483353498.3592.20.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-02 18:24       ` Leon Romanovsky
2017-01-03 18:39       ` Parav Pandit
     [not found]         ` <CAG53R5WnJy1cLdEZOpzk03aAE2L6v86n_-qEBpoaG+arymCxPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-04 10:37           ` Bart Van Assche
     [not found]             ` <1483526210.3048.6.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-04 12:29               ` Leon Romanovsky
2017-01-09 14:29       ` Boyer, Andrew
2017-01-02 10:40   ` [PATCH 05/15] IB/rxe: Remove superfluous casts Bart Van Assche
     [not found]     ` <1483353522.3592.22.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-05  6:48       ` Leon Romanovsky
2017-01-09 14:29       ` Boyer, Andrew
2017-01-02 10:40   ` Bart Van Assche [this message]
     [not found]     ` <1483353555.3592.24.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-08  9:44       ` [PATCH 06/15] IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments Leon Romanovsky
2017-01-09 14:31       ` Boyer, Andrew
2017-01-02 10:41   ` [PATCH 07/15] IB/rxe: Let the compiler check the type of the cleanup functions Bart Van Assche
     [not found]     ` <1483353591.3592.26.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-08 14:22       ` Leon Romanovsky
2017-01-09 14:33       ` Boyer, Andrew
2017-01-02 10:41   ` [PATCH 08/15] IB/rxe: Issue warnings once Bart Van Assche
     [not found]     ` <1483353613.3592.28.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-04 14:18       ` Leon Romanovsky
2017-01-02 10:41   ` [PATCH 09/15] IB/rxe: Add a runtime check in alloc_index() Bart Van Assche
     [not found]     ` <1483353638.3592.30.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-04 17:27       ` Leon Romanovsky
     [not found]         ` <20170104172704.GU12077-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-04 18:38           ` Bart Van Assche
     [not found]             ` <1483555108.3101.1.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-05  6:43               ` Leon Romanovsky
2017-01-09 14:35       ` Boyer, Andrew
2017-01-02 10:42   ` [PATCH 10/15] IB/rxe: Introduce functions for queue draining Bart Van Assche
     [not found]     ` <1483353661.3592.32.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 15:06       ` Boyer, Andrew
     [not found]         ` <D49910D0.9088%Andrew.Boyer-mb1K0bWo544@public.gmane.org>
2017-01-09 15:11           ` Boyer, Andrew
2017-01-02 10:42   ` [PATCH 11/15] IB/rxe: Generate a completion for all failed work requests Bart Van Assche
     [not found]     ` <1483353685.3592.34.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 15:15       ` Boyer, Andrew
2017-01-02 10:43   ` [PATCH 12/15] IB/rxe: Fix a MR reference leak in check_rkey() Bart Van Assche
     [not found]     ` <1483353706.3592.35.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 14:42       ` Boyer, Andrew
2017-01-02 10:43   ` [PATCH 13/15] IB/rxe: Fix reference leaks in memory key invalidation code Bart Van Assche
     [not found]     ` <1483353732.3592.38.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 14:52       ` Boyer, Andrew
2017-01-02 10:43   ` [PATCH 14/15] IB/rxe: Remove a pointless indirection layer Bart Van Assche
     [not found]     ` <1483353755.3592.40.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-09 12:35       ` Leon Romanovsky
2017-01-09 15:09       ` Boyer, Andrew
2017-01-02 10:44   ` [PATCH 15/15] IB/rxe: Fix an skb leak Bart Van Assche
     [not found]     ` <1483353777.3592.42.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-01-08 13:37       ` Leon Romanovsky
2017-01-09 14:59       ` Boyer, Andrew
2017-01-10 18:06   ` [PATCH 00/15] IB/rxe patches for kernel v4.11 Doug Ledford

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=1483353555.3592.24.camel@sandisk.com \
    --to=bart.vanassche-xdaiopvojttbdgjk7y7tuq@public.gmane.org \
    --cc=andrew.boyer-8PEkshWhKlo@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.