Use list_for_each_entry_safe() instead of list_for_each_safe() to simplify the code.
Signed-off-by: Geliang Tang geliangtang@163.com --- net/batman-adv/icmp_socket.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/net/batman-adv/icmp_socket.c b/net/batman-adv/icmp_socket.c index bcabb5e..841239c 100644 --- a/net/batman-adv/icmp_socket.c +++ b/net/batman-adv/icmp_socket.c @@ -104,25 +104,21 @@ static int batadv_socket_open(struct inode *inode, struct file *file)
static int batadv_socket_release(struct inode *inode, struct file *file) { - struct batadv_socket_client *socket_client = file->private_data; - struct batadv_socket_packet *socket_packet; - struct list_head *list_pos, *list_pos_tmp; + struct batadv_socket_client *client = file->private_data; + struct batadv_socket_packet *packet, *tmp;
- spin_lock_bh(&socket_client->lock); + spin_lock_bh(&client->lock);
/* for all packets in the queue ... */ - list_for_each_safe(list_pos, list_pos_tmp, &socket_client->queue_list) { - socket_packet = list_entry(list_pos, - struct batadv_socket_packet, list); - - list_del(list_pos); - kfree(socket_packet); + list_for_each_entry_safe(packet, tmp, &client->queue_list, list) { + list_del(&packet->list); + kfree(packet); }
- batadv_socket_client_hash[socket_client->index] = NULL; - spin_unlock_bh(&socket_client->lock); + batadv_socket_client_hash[client->index] = NULL; + spin_unlock_bh(&client->lock);
- kfree(socket_client); + kfree(client); module_put(THIS_MODULE);
return 0;
Hi Geliang,
static int batadv_socket_release(struct inode *inode, struct file *file) {
- struct batadv_socket_client *socket_client = file->private_data;
- struct batadv_socket_packet *socket_packet;
- struct list_head *list_pos, *list_pos_tmp;
- struct batadv_socket_client *client = file->private_data;
- struct batadv_socket_packet *packet, *tmp;
[...]
- list_for_each_entry_safe(packet, tmp, &client->queue_list, list) {
I guess you renamed those variables to make sure that the statement above would fit in 80 chars.. in that case the patch looks good.
Acked-by: Antonio Quartulli a@unstable.cc
On Friday 18 December 2015 23:33:31 Geliang Tang wrote:
Use list_for_each_entry_safe() instead of list_for_each_safe() to simplify the code.
Signed-off-by: Geliang Tang geliangtang@163.com
net/batman-adv/icmp_socket.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
Reviewed-by: Sven Eckelmann sven@narfation.org
Kind regards, Sven
diff --git a/net/batman-adv/icmp_socket.c b/net/batman-adv/icmp_socket.c index bcabb5e..841239c 100644 --- a/net/batman-adv/icmp_socket.c +++ b/net/batman-adv/icmp_socket.c @@ -104,25 +104,21 @@ static int batadv_socket_open(struct inode *inode, struct file *file)
static int batadv_socket_release(struct inode *inode, struct file *file) {
- struct batadv_socket_client *socket_client = file->private_data;
- struct batadv_socket_packet *socket_packet;
- struct list_head *list_pos, *list_pos_tmp;
- struct batadv_socket_client *client = file->private_data;
- struct batadv_socket_packet *packet, *tmp;
- spin_lock_bh(&socket_client->lock);
spin_lock_bh(&client->lock);
/* for all packets in the queue ... */
- list_for_each_safe(list_pos, list_pos_tmp, &socket_client->queue_list) {
socket_packet = list_entry(list_pos,
struct batadv_socket_packet, list);
list_del(list_pos);
kfree(socket_packet);
- list_for_each_entry_safe(packet, tmp, &client->queue_list, list) {
list_del(&packet->list);
}kfree(packet);
- batadv_socket_client_hash[socket_client->index] = NULL;
- spin_unlock_bh(&socket_client->lock);
- batadv_socket_client_hash[client->index] = NULL;
- spin_unlock_bh(&client->lock);
- kfree(socket_client);
kfree(client); module_put(THIS_MODULE);
return 0;
On Friday, December 18, 2015 23:33:31 Geliang Tang wrote:
Use list_for_each_entry_safe() instead of list_for_each_safe() to simplify the code.
Signed-off-by: Geliang Tang geliangtang@163.com
net/batman-adv/icmp_socket.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
Applied in the batman tree (revision 1557404).
Thanks, Marek
b.a.t.m.a.n@lists.open-mesh.org