lkml.org 
[lkml]   [2016]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.5 031/124] ax25: add link layer header validation function
    Date
    4.5-stable review patch.  If anyone has any objections, please let me know.

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

    From: Willem de Bruijn <willemb@google.com>

    [ Upstream commit ea47781c26510e5d97f80f9aceafe9065bd5e3aa ]

    As variable length protocol, AX25 fails link layer header validation
    tests based on a minimum length. header_ops.validate allows protocols
    to validate headers that are shorter than hard_header_len. Implement
    this callback for AX25.

    See also http://comments.gmane.org/gmane.linux.network/401064

    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ax25/ax25_ip.c | 15 +++++++++++++++
    1 file changed, 15 insertions(+)

    --- a/net/ax25/ax25_ip.c
    +++ b/net/ax25/ax25_ip.c
    @@ -228,8 +228,23 @@ netdev_tx_t ax25_ip_xmit(struct sk_buff
    }
    #endif

    +static bool ax25_validate_header(const char *header, unsigned int len)
    +{
    + ax25_digi digi;
    +
    + if (!len)
    + return false;
    +
    + if (header[0])
    + return true;
    +
    + return ax25_addr_parse(header + 1, len - 1, NULL, NULL, &digi, NULL,
    + NULL);
    +}
    +
    const struct header_ops ax25_header_ops = {
    .create = ax25_hard_header,
    + .validate = ax25_validate_header,
    };

    EXPORT_SYMBOL(ax25_header_ops);

    \
     
     \ /
      Last update: 2016-04-18 05:41    [W:5.827 / U:0.772 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site