This is a note to let you know that I've just added the patch titled

    tipc: fix bug in bundled buffer reception

to the 3.17-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tipc-fix-bug-in-bundled-buffer-reception.patch
and it can be found in the queue-3.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From foo@baz Fri Nov  7 11:36:50 PST 2014
From: Jon Paul Maloy <[email protected]>
Date: Fri, 17 Oct 2014 15:25:28 -0400
Subject: tipc: fix bug in bundled buffer reception

From: Jon Paul Maloy <[email protected]>

[ Upstream commit 643566d4b47e2956110e79c0e6f65db9b9ea42c6 ]

In commit ec8a2e5621db2da24badb3969eda7fd359e1869f ("tipc: same receive
code path for connection protocol and data messages") we omitted the
the possiblilty that an arriving message extracted from a bundle buffer
may be a multicast message. Such messages need to be to be delivered to
the socket via a separate function, tipc_sk_mcast_rcv(). As a result,
small multicast messages arriving as members of a bundle buffer will be
silently dropped.

This commit corrects the error by considering this case in the function
tipc_link_bundle_rcv().

Signed-off-by: Jon Maloy <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 net/tipc/link.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1936,7 +1936,12 @@ void tipc_link_bundle_rcv(struct sk_buff
                }
                omsg = buf_msg(obuf);
                pos += align(msg_size(omsg));
-               if (msg_isdata(omsg) || (msg_user(omsg) == CONN_MANAGER)) {
+               if (msg_isdata(omsg)) {
+                       if (unlikely(msg_type(omsg) == TIPC_MCAST_MSG))
+                               tipc_sk_mcast_rcv(obuf);
+                       else
+                               tipc_sk_rcv(obuf);
+               } else if (msg_user(omsg) == CONN_MANAGER) {
                        tipc_sk_rcv(obuf);
                } else if (msg_user(omsg) == NAME_DISTRIBUTOR) {
                        tipc_named_rcv(obuf);


Patches currently in stable-queue which might be from [email protected] are

queue-3.17/tipc-fix-bug-in-bundled-buffer-reception.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to