diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index a028d37ba2e0a8769b289b36d86c9fcc47be8cf9..1bc0e85f04a5112afbfa5be6140d59ba4f38f2b0 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c @@ -570,7 +570,7 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname, res = -EINVAL; break; } - ax25->rtt = (opt * HZ) / 2; + ax25->rtt = (opt * HZ) >> 1; ax25->t1 = opt * HZ; break; @@ -1863,6 +1863,7 @@ static int ax25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) #ifdef CONFIG_PROC_FS static void *ax25_info_start(struct seq_file *seq, loff_t *pos) + __acquires(ax25_list_lock) { struct ax25_cb *ax25; struct hlist_node *node; @@ -1886,6 +1887,7 @@ static void *ax25_info_next(struct seq_file *seq, void *v, loff_t *pos) } static void ax25_info_stop(struct seq_file *seq, void *v) + __releases(ax25_list_lock) { spin_unlock_bh(&ax25_list_lock); } diff --git a/net/ax25/ax25_ds_timer.c b/net/ax25/ax25_ds_timer.c index 4f44185955c790403435227d598d7c575d4880ea..c4e3b025d21c20c824d6b0b6b5fb42105e713360 100644 --- a/net/ax25/ax25_ds_timer.c +++ b/net/ax25/ax25_ds_timer.c @@ -130,7 +130,7 @@ void ax25_ds_heartbeat_expiry(ax25_cb *ax25) */ if (sk != NULL) { if (atomic_read(&sk->sk_rmem_alloc) < - (sk->sk_rcvbuf / 2) && + (sk->sk_rcvbuf >> 1) && (ax25->condition & AX25_COND_OWN_RX_BUSY)) { ax25->condition &= ~AX25_COND_OWN_RX_BUSY; ax25->condition &= ~AX25_COND_ACK_PENDING; diff --git a/net/ax25/ax25_route.c b/net/ax25/ax25_route.c index 9ecf6f1df863078c3a238a079787123a1df5f437..38c7f3087ec3d17c1fc8a5ff48be10cb9dedda60 100644 --- a/net/ax25/ax25_route.c +++ b/net/ax25/ax25_route.c @@ -249,6 +249,7 @@ int ax25_rt_ioctl(unsigned int cmd, void __user *arg) #ifdef CONFIG_PROC_FS static void *ax25_rt_seq_start(struct seq_file *seq, loff_t *pos) + __acquires(ax25_route_lock) { struct ax25_route *ax25_rt; int i = 1; @@ -274,6 +275,7 @@ static void *ax25_rt_seq_next(struct seq_file *seq, void *v, loff_t *pos) } static void ax25_rt_seq_stop(struct seq_file *seq, void *v) + __releases(ax25_route_lock) { read_unlock(&ax25_route_lock); } diff --git a/net/ax25/ax25_std_timer.c b/net/ax25/ax25_std_timer.c index f2f6918ac9bb69cae0c93f084b5955aed97f460c..96e4b9273250918b4a60fdcc9ccce00b79090827 100644 --- a/net/ax25/ax25_std_timer.c +++ b/net/ax25/ax25_std_timer.c @@ -32,7 +32,7 @@ void ax25_std_heartbeat_expiry(ax25_cb *ax25) { - struct sock *sk=ax25->sk; + struct sock *sk = ax25->sk; if (sk) bh_lock_sock(sk); @@ -62,7 +62,7 @@ void ax25_std_heartbeat_expiry(ax25_cb *ax25) */ if (sk != NULL) { if (atomic_read(&sk->sk_rmem_alloc) < - (sk->sk_rcvbuf / 2) && + (sk->sk_rcvbuf >> 1) && (ax25->condition & AX25_COND_OWN_RX_BUSY)) { ax25->condition &= ~AX25_COND_OWN_RX_BUSY; ax25->condition &= ~AX25_COND_ACK_PENDING; diff --git a/net/ax25/ax25_uid.c b/net/ax25/ax25_uid.c index ce0b13d44385fad3c588a0ee7087ee58d6189a2e..5f4eb73fb9d344f35fc338857444cd1d01abbb1e 100644 --- a/net/ax25/ax25_uid.c +++ b/net/ax25/ax25_uid.c @@ -43,10 +43,10 @@ * Callsign/UID mapper. This is in kernel space for security on multi-amateur machines. */ -HLIST_HEAD(ax25_uid_list); +static HLIST_HEAD(ax25_uid_list); static DEFINE_RWLOCK(ax25_uid_lock); -int ax25_uid_policy = 0; +int ax25_uid_policy; EXPORT_SYMBOL(ax25_uid_policy); @@ -144,6 +144,7 @@ int ax25_uid_ioctl(int cmd, struct sockaddr_ax25 *sax) #ifdef CONFIG_PROC_FS static void *ax25_uid_seq_start(struct seq_file *seq, loff_t *pos) + __acquires(ax25_uid_lock) { struct ax25_uid_assoc *pt; struct hlist_node *node; @@ -167,6 +168,7 @@ static void *ax25_uid_seq_next(struct seq_file *seq, void *v, loff_t *pos) } static void ax25_uid_seq_stop(struct seq_file *seq, void *v) + __releases(ax25_uid_lock) { read_unlock(&ax25_uid_lock); }