lkml.org 
[lkml]   [2014]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16 11/55] tipc: fix message importance range check
    Date
    3.16-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Erik Hugne <erik.hugne@ericsson.com>

    [ Upstream commit ac32c7f705692b92fe12dcbe88fe87136fdfff6f ]

    Commit 3b4f302d8578 ("tipc: eliminate
    redundant locking") introduced a bug by removing the sanity check
    for message importance, allowing programs to assign any value to
    the msg_user field. This will mess up the packet reception logic
    and may cause random link resets.

    Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/tipc/port.h | 5 ++++-
    net/tipc/socket.c | 2 +-
    2 files changed, 5 insertions(+), 2 deletions(-)

    --- a/net/tipc/port.h
    +++ b/net/tipc/port.h
    @@ -229,9 +229,12 @@ static inline int tipc_port_importance(s
    return msg_importance(&port->phdr);
    }

    -static inline void tipc_port_set_importance(struct tipc_port *port, int imp)
    +static inline int tipc_port_set_importance(struct tipc_port *port, int imp)
    {
    + if (imp > TIPC_CRITICAL_IMPORTANCE)
    + return -EINVAL;
    msg_set_importance(&port->phdr, (u32)imp);
    + return 0;
    }

    #endif
    --- a/net/tipc/socket.c
    +++ b/net/tipc/socket.c
    @@ -1841,7 +1841,7 @@ static int tipc_setsockopt(struct socket

    switch (opt) {
    case TIPC_IMPORTANCE:
    - tipc_port_set_importance(port, value);
    + res = tipc_port_set_importance(port, value);
    break;
    case TIPC_SRC_DROPPABLE:
    if (sock->type != SOCK_STREAM)



    \
     
     \ /
      Last update: 2014-10-13 05:21    [W:2.658 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site