summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2011-05-23 13:57:25 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-06-24 16:18:15 -0400
commit76d12527f74ad1b42b068252fdd2056c8ae48a99 (patch)
tree3aa529ef9d83f7e28ea03c4912d73b5a8b3ce453 /net
parentacc631bf6f597b36f3f014e12e69c710da610027 (diff)
downloadlinux-3.10-76d12527f74ad1b42b068252fdd2056c8ae48a99.tar.gz
linux-3.10-76d12527f74ad1b42b068252fdd2056c8ae48a99.tar.bz2
linux-3.10-76d12527f74ad1b42b068252fdd2056c8ae48a99.zip
tipc: Add sanity check to detect rejection of non-payload messages
Introduces an internal sanity check to ensure that the only undeliverable messages TIPC attempts to return to their origin are application payload messages. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/tipc/port.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index 3946b5b10c7..756e64cbff9 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -367,6 +367,12 @@ int tipc_reject_msg(struct sk_buff *buf, u32 err)
imp++;
/* discard rejected message if it shouldn't be returned to sender */
+
+ if (WARN(!msg_isdata(msg),
+ "attempt to reject message with user=%u", msg_user(msg))) {
+ dump_stack();
+ goto exit;
+ }
if (msg_errcode(msg) || msg_dest_droppable(msg))
goto exit;