From: Bob Peterson Date: Mon, 18 Jan 2016 17:29:15 +0000 (-0500) Subject: DLM: Replace nodeid_to_addr with kernel_getpeername X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1a31833d085a339cf42573de0717209e8b2172e8;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git DLM: Replace nodeid_to_addr with kernel_getpeername This patch replaces the call to nodeid_to_addr with a call to kernel_getpeername. This avoids taking a spinlock because it may potentially be called from a softirq context. Signed-off-by: Bob Peterson Signed-off-by: David Teigland --- diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 3a37bd3f9637..dc9ae6d670dc 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c @@ -469,8 +469,10 @@ static void lowcomms_error_report(struct sock *sk) { struct connection *con = sock2con(sk); struct sockaddr_storage saddr; + int buflen; - if (nodeid_to_addr(con->nodeid, &saddr, NULL, false)) { + if (con->sock == NULL || + kernel_getpeername(con->sock, (struct sockaddr *)&saddr, &buflen)) { printk_ratelimited(KERN_ERR "dlm: node %d: socket error " "sending to node %d, port %d, " "sk_err=%d/%d\n", dlm_our_nodeid(),