From 237b028186dd2523fbb81d47463ea8ce4e9a202d Mon Sep 17 00:00:00 2001 From: Ajaykumar Hotchandani Date: Tue, 15 Jan 2013 22:00:57 -0800 Subject: [PATCH] RDS: Fixes warning while rds-info. spin_lock_irqsave() is changed to spin_lock_bh(). Signed-off-by: Venkat Venkatsubra Reviewd-by: Bang Nguyen --- net/rds/af_rds.c | 31 +++++++++++++------------------ net/rds/ib.c | 2 +- net/rds/send.c | 2 -- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index 01af7ddfe917..aa7a6f687dd6 100644 --- a/net/rds/af_rds.c +++ b/net/rds/af_rds.c @@ -80,7 +80,6 @@ static int rds_release(struct socket *sock) { struct sock *sk = sock->sk; struct rds_sock *rs; - unsigned long flags; if (!sk) goto out; @@ -100,10 +99,10 @@ static int rds_release(struct socket *sock) rds_rdma_drop_keys(rs); rds_notify_queue_get(rs, NULL); - spin_lock_irqsave(&rds_sock_lock, flags); + spin_lock_bh(&rds_sock_lock); list_del_init(&rs->rs_item); rds_sock_count--; - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); rds_trans_put(rs->rs_transport); @@ -218,7 +217,6 @@ static int rds_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) { struct rds_sock *rs = rds_sk_to_rs(sock->sk); rds_tos_t tos; - unsigned long flags; switch (cmd) { case SIOCRDSSETTOS: @@ -228,13 +226,13 @@ static int rds_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) if (get_user(tos, (rds_tos_t __user *)arg)) return -EFAULT; - spin_lock_irqsave(&rds_sock_lock, flags); + spin_lock_bh(&rds_sock_lock); if (rs->rs_tos || rs->rs_conn) { - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); return -EINVAL; } rs->rs_tos = tos; - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); break; default: return -ENOIOCTLCMD; @@ -476,7 +474,6 @@ static void rds_sock_destruct(struct sock *sk) static int __rds_create(struct socket *sock, struct sock *sk, int protocol) { - unsigned long flags; struct rds_sock *rs; sock_init_data(sock, sk); @@ -500,10 +497,10 @@ static int __rds_create(struct socket *sock, struct sock *sk, int protocol) if (rs->rs_bound_addr) printk(KERN_CRIT "bound addr %x at create\n", rs->rs_bound_addr); - spin_lock_irqsave(&rds_sock_lock, flags); + spin_lock_bh(&rds_sock_lock); list_add_tail(&rs->rs_item, &rds_sock_list); rds_sock_count++; - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); return 0; } @@ -578,12 +575,11 @@ static void rds_sock_inc_info(struct socket *sock, unsigned int len, struct rds_sock *rs; struct sock *sk; struct rds_incoming *inc; - unsigned long flags; unsigned int total = 0; len /= sizeof(struct rds_info_message); - spin_lock_irqsave(&rds_sock_lock, flags); + spin_lock_bh(&rds_sock_lock); list_for_each_entry(rs, &rds_sock_list, rs_item) { sk = rds_rs_to_sk(rs); @@ -600,7 +596,7 @@ static void rds_sock_inc_info(struct socket *sock, unsigned int len, read_unlock(&rs->rs_recv_lock); } - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); lens->nr = total; lens->each = sizeof(struct rds_info_message); @@ -612,11 +608,10 @@ static void rds_sock_info(struct socket *sock, unsigned int len, { struct rds_info_socket sinfo; struct rds_sock *rs; - unsigned long flags; len /= sizeof(struct rds_info_socket); - spin_lock_irqsave(&rds_sock_lock, flags); + spin_lock_bh(&rds_sock_lock); if (len < rds_sock_count) goto out; @@ -637,7 +632,7 @@ out: lens->nr = rds_sock_count; lens->each = sizeof(struct rds_info_socket); - spin_unlock_irqrestore(&rds_sock_lock, flags); + spin_unlock_bh(&rds_sock_lock); } static unsigned long parse_ul(char *ptr, unsigned long max) @@ -718,10 +713,10 @@ static void rds_qos_threshold_init(void) qos = simple_strtol(qos_str, &end, 0); if (*end) { printk(KERN_WARNING "RDS: Warning: QoS " - "%s is improperly formatted\n", qos); + "%s is improperly formatted\n", qos_str); } else if (qos > 255) { printk(KERN_WARNING "RDS: Warning: QoS " - "%s out of range\n", qos); + "%s out of range\n", qos_str); } threshold = parse_ul(threshold_str, (u32)~0); rds_qos_threshold_tbl[qos] = threshold; diff --git a/net/rds/ib.c b/net/rds/ib.c index 402dec75dbf7..3e64c03ea0ac 100644 --- a/net/rds/ib.c +++ b/net/rds/ib.c @@ -982,7 +982,7 @@ out: void rds_ib_ip_failover_groups_init(void) { - char *tok, *grp, *nxt_tok, *nxt_grp, *end; + char *tok, *grp, *nxt_tok, *nxt_grp; char str[1024]; unsigned int grp_id = 1; int i; diff --git a/net/rds/send.c b/net/rds/send.c index 8d454bd0576e..fa0d3c7396c8 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -1232,8 +1232,6 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, /* Attach data to the rm */ if (payload_len) { - struct user_hdr *uhdr = msg->msg_iov->iov_base; - rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); if (ret) -- 2.50.1