netdev
[Top] [All Lists]

[PATCH] ax25 & netrom fixes for 2.6

To: linux-hams@xxxxxxxxxxxxxxx
Subject: [PATCH] ax25 & netrom fixes for 2.6
From: Jeroen Vreeken <pe1rxq@xxxxxxxxx>
Date: Tue, 12 Aug 2003 19:46:53 +0200
Cc: ralf@xxxxxxxxxxxxxx, davem@xxxxxxxxxx, netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
Hi,

These are the same changes I send earlier in two parts against 2.6.0-test1.
I remade the diff against 2.6.0-test3 as Stephen Hemminger's patch clashed
with mine (My patch already had the fix....)

Jeroen

changes:

        -fix waitqueue oops on interrupted socket call
        -add refcounting like struct sock for ax25_cb
        -skb allocation uses dev->hard_header_len instead off 
         predicted worst case.
        -ax25_cb list uses hlists like struct sock
        -lock sk in ax25_find_listener
        -ax25_destroy_timer set from 10*HZ to 2*HZ (Tihomir Heidelberg)
        -lock sock when calling ax25_destroy_socket() (Tihomir Heidelberg)
        -Set ax25->sk to NULL when destroying sk (Tihomir Heidelberg)
        -Empty write_queue in ax25_destroy_socket() (Tihomir Heidelberg)
        -ax25_destroy_timer() doesn't share its timer with the heartbeat
         timer
        -lock sock in ax25_destroy_timer()
        -return when destroying ax25 route (Ralf Baechle)

        -Add ax25_cb_put() calls to netrom
        -Initialize ax25_iface lists to NULL
        -unlock linkfail_lock in ax25_linkfail_release()
        -unlock listen_lock in ax25_listen_release()
        -unlock_listen_lock in ax25_listen_mine()
        -remove module_owner from nr_init()
        -Only release/register listener in nr_set_mac_address() if
         interface is up.
        -Call nr_destroy_socket() with socket locked
        -Free write queue in nr_destroy_socket()
        -Add missing sock_[unlock/release] calls in netrom code
        -nr_destroy_tmer set from 10*HZ to 2*HZ
        -Fixed net_device refcounting to nr_dev_first() and nr_dev_get()
        -Added nr_node & nr_neigh refcounting
        -Use hlists for nr_node_list and nr_neigh_list
        -Added nr_node locking
        -Prevent race between freeing dev.priv and freeing dev
        -Don't free dev.name on module exit
        -Fix error return value from ax25_connect()
        -Missing unlock in ax25_register_sysctl()
        -nr_route_frame() makes a private copy of skb's instead of using
         the one given, it also reserves head room using hard_header_len
         from the device the packet goes out removing the need for
         AX25_BPQ_HEADER_LEN
        -Make ax25_cb refcounting inlined or macro.
        -Additional locking in ax25

Attachment: linux-2.6.0-test3.rxq3.diff
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>