net: hsr: Convert timers to use timer_setup()
Subsystems (3)
PATCH 1/1 net: hsr: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.
Cc Arvid Brodin <[email protected]>
Cc "David S. Miller" <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- net/hsr/hsr_device.c | 9 ++++----- net/hsr/hsr_framereg.c | 6 ++---- net/hsr/hsr_framereg.h | 2 +- 3 files changed, 7 insertions(+), 10 deletions(-)
net/hsr/hsr_device.c +4 -5
@@ -328,12 +328,12 @@ static void send_hsr_supervision_frame(struct hsr_port *master,/* Announce (supervision frame) timer function */ -static void hsr_announce (unsigned long data) +static void hsr_announce (struct timer_list *t) {struct hsr_priv *hsr;struct hsr_port *master; - hsr = (struct hsr_priv *) data; + hsr =from_timer (hsr, t, announce_timer);rcu_read_lock (); master =hsr_port_get_hsr (hsr,HSR_PT_MASTER );
@@ -463,9 +463,8 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2], hsr->sequence_nr =HSR_SEQNR_START ; hsr->sup_sequence_nr =HSR_SUP_SEQNR_START ; -setup_timer (&hsr->announce_timer, hsr_announce, (unsigned long )hsr); - -setup_timer (&hsr->prune_timer, hsr_prune_nodes, (unsigned long )hsr); +timer_setup (&hsr->announce_timer, hsr_announce,0 ); +timer_setup (&hsr->prune_timer, hsr_prune_nodes,0 );ether_addr_copy (hsr->sup_multicast_addr, def_multicast_addr); hsr->sup_multicast_addr[ETH_ALEN -1 ] = multicast_spec;
net/hsr/hsr_framereg.c +2 -4
@@ -365,16 +365,14 @@ static struct hsr_port *get_late_port(struct hsr_priv *hsr,/* Remove stale sequence_nr records. Called by timer every * HSR_LIFE_CHECK_INTERVAL (two seconds or so). */ -void hsr_prune_nodes (unsigned long data) +void hsr_prune_nodes (struct timer_list *t) { -struct hsr_priv *hsr; +struct hsr_priv *hsr =from_timer (hsr, t, prune_timer);struct hsr_node *node;struct hsr_port *port;unsigned long timestamp;unsigned long time_a, time_b; - hsr = (struct hsr_priv *) data; -rcu_read_lock ();list_for_each_entry_rcu (node, &hsr->node_db, mac_list) {/* Shorthand */
net/hsr/hsr_framereg.h +1 -1
@@ -33,7 +33,7 @@ void hsr_register_frame_in(struct hsr_node *node, struct hsr_port *port,int hsr_register_frame_out (struct hsr_port *port,struct hsr_node *node,u16 sequence_nr); -void hsr_prune_nodes (unsigned long data); +void hsr_prune_nodes (struct timer_list *t); int hsr_create_self_node(struct list_head *self_node_db, unsigned char addr_a[ETH_ALEN],
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
From: Kees Cook <[email protected]>
Date: Tue, 24 Oct 2017 01:46:16 -0700
Quoted 8 lines
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.Cc Arvid Brodin <[email protected]>Cc "David S. Miller" <[email protected]>Signed-off-by Kees Cook <[email protected]>
Applied.