Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4137445pxj; Mon, 21 Jun 2021 14:34:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzp8LI4B1rafFemTZ5PoaCbebS0g5fjbqmABoLJe1Z9W3z7U0SmQBDHcHNZOYQilC6YbpTS X-Received: by 2002:a05:6402:54c:: with SMTP id i12mr581232edx.64.1624311241332; Mon, 21 Jun 2021 14:34:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624311241; cv=none; d=google.com; s=arc-20160816; b=LNPn6szLESIknqlG264iruPOw1LgDsdHoXcXp5qd7e5nINOTaU5QkzGZBjSTBFm+aH 909Qfalqi5lE+9+adtvtvWUe19BF8fD5jfA62bVWswyYKudWyQvsg1Y5+0FTlDYoACDL 4WLU4R4ghHH66rM7Puf/MG/54le5jd6mp2QvpE/9vtLjAC+9ovaXkKpRZMZBhHVYSBR9 XVz5mNJxyUyeMqF5pqVejEdVwLt/FptuLKgv1gfC+26kV4iSkSKIofHUQ2IIuUOTunKR imKzkFIKBYugwVt3AAa7BNqRav5id9V/tLTfW50u+E0J51ZBWC5ydbbK/KrqybzIaXzD A32g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:mime-version :dkim-signature; bh=XttW2DB5Vb9m+WTM2zdPl5AyA493GBkpUm0PN3ByhPM=; b=niz5ccC2mGBHiOSi9vIJaGw7Tkb4+9LQgr8cMfrZ5c3MRlDnvgKgDd2GevZb6eMNRE 0x7SWz3jaR9clmN58QgPVFfHpUPVPXWC1CyxSJMHNwIOTg4yH+bQf63xk1CDgxrocZSI azi/vAikTbqAoL6vTwgSvbifF1r9J7kgwSFTYKTnuANvacQ6jUzVl8e3zAi9Gm1FZPNc UHSDWiqrk9E3d/3g0HNZgs6WchFvZYyy/8/Ev7bEuMRl0q0YQwSeaNj3cbxebtquvJzt euhMWhe5S1oXps2wgq+uSBKLH4K0J9OFNBg20nAj0EMP2J//VjnF+yv0Mgql6CivMz4K t5yQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=rUfqdcYZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y20si13710027edd.118.2021.06.21.14.33.39; Mon, 21 Jun 2021 14:34:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=rUfqdcYZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231217AbhFUVe2 (ORCPT + 99 others); Mon, 21 Jun 2021 17:34:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230006AbhFUVe1 (ORCPT ); Mon, 21 Jun 2021 17:34:27 -0400 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08CDEC061574; Mon, 21 Jun 2021 14:32:13 -0700 (PDT) Received: by mail-lj1-x233.google.com with SMTP id f13so72590ljp.10; Mon, 21 Jun 2021 14:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=XttW2DB5Vb9m+WTM2zdPl5AyA493GBkpUm0PN3ByhPM=; b=rUfqdcYZammBUrDpi4PoGjfb31cugOE7LvirnXnv+GIxcaUnG3w9zOJ604Ixzfs2SG y399ErsivItDWV57S32AzLmX6zCzi7EasoNbN0Fe8pKy5JIwSGuOXhsY6XIfIPQ6woSl ReKQa4oQ+2eo0epISX/RoA3y0QlXIPk//drUdgAnbgKxq2fKNO+eBZSZgiebDe1TkrKI vccM4wy515ts297PVue+3KEjhO/21oPCudUKI5WL4OPHXBO5nlpViyh+opnwQR3S5mSC ETWkid5bbudJ9Ak1TzgsOy6AFN2+LkkZptm0OahiILvNM4O/3THH2LjL1NgJm2bf0wod 7/qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=XttW2DB5Vb9m+WTM2zdPl5AyA493GBkpUm0PN3ByhPM=; b=NqLfWpzGZK7VLqgL90FGQVqEZWyUgu8YJ8n6ORKmaondeBeZ9BJlQlIyHYQTNElX0L ER4XV3ra8lIU49SIreA3yP0cUBN8NlWkcLbvAv0LieCv6gpA8DCGf7qaoKA4c6cIlmv7 W5Vpjbn9MXr8nUIwszTDo77/VoPk6vmcdm1kt2mfQvvHWdN6XBiRvAGoJNEsb8KRLoi1 efNUNVy62k6SJ39OOrbppIxvjx2RX8mS1hkfLBTwqY5qzPDji4xhfutgidZrSit4+Bvl MTyS+Vnu9VthepYNIBa/IuELdtNqJ2f0XWjp8q2GphHDTHJY7xfFOmoOq8nB68vIHfn+ Q46Q== X-Gm-Message-State: AOAM533Hl6eYfhzWilu7TZYvhgU0vHQ1XwV5hGv7tsDzibFfX/NNh9k4 27PUf56ffdyZygRI0FzrnGp3mzpfDfYxMUNhsJg= X-Received: by 2002:a05:651c:10b9:: with SMTP id k25mr227755ljn.256.1624311131260; Mon, 21 Jun 2021 14:32:11 -0700 (PDT) MIME-Version: 1.0 From: Steve French Date: Mon, 21 Jun 2021 16:32:00 -0500 Message-ID: Subject: [SMBDIRECT][PATCH] missing rc checks while waiting for SMB3 over RDMA events To: Long Li Cc: CIFS , LKML Content-Type: multipart/mixed; boundary="000000000000fbdd3d05c54d677d" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --000000000000fbdd3d05c54d677d Content-Type: text/plain; charset="UTF-8" There were two places where we weren't checking for error (e.g. ERESTARTSYS) while waiting for rdma resolution. Addresses-Coverity: 1462165 ("Unchecked return value") Signed-off-by: Steve French diff --git a/fs/cifs/smbdirect.c b/fs/cifs/smbdirect.c index 10dfe5006792..ae07732f750f 100644 --- a/fs/cifs/smbdirect.c +++ b/fs/cifs/smbdirect.c @@ -572,8 +572,11 @@ static struct rdma_cm_id *smbd_create_id( log_rdma_event(ERR, "rdma_resolve_addr() failed %i\n", rc); goto out; } - wait_for_completion_interruptible_timeout( + rc = wait_for_completion_interruptible_timeout( &info->ri_done, msecs_to_jiffies(RDMA_RESOLVE_TIMEOUT)); + /* -ERESTARTSYS, returned when interrupted, is the only rc mentioned */ + if (rc < 0) + goto out; rc = info->ri_rc; if (rc) { log_rdma_event(ERR, "rdma_resolve_addr() completed %i\n", rc); @@ -586,8 +589,10 @@ static struct rdma_cm_id *smbd_create_id( log_rdma_event(ERR, "rdma_resolve_route() failed %i\n", rc); goto out; } - wait_for_completion_interruptible_timeout( + rc = wait_for_completion_interruptible_timeout( &info->ri_done, msecs_to_jiffies(RDMA_RESOLVE_TIMEOUT)); + if (rc < 0) /* e.g. if interrupted and returns -ERESTARTSYS */ + goto out rc = info->ri_rc; if (rc) { log_rdma_event(ERR, "rdma_resolve_route() completed %i\n", rc); -- Thanks, Steve --000000000000fbdd3d05c54d677d Content-Type: text/x-patch; charset="US-ASCII"; name="0001-smbdirect-missing-rc-checks-while-waiting-for-rdma-e.patch" Content-Disposition: attachment; filename="0001-smbdirect-missing-rc-checks-while-waiting-for-rdma-e.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kq74wddw0 RnJvbSA5YmY0MmNhZWI5NWQ4YTViZjY3MjM0OGU1ZGViYTU4M2Y4MjMzNzEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGV2ZSBGcmVuY2ggPHN0ZnJlbmNoQG1pY3Jvc29mdC5jb20+ CkRhdGU6IE1vbiwgMjEgSnVuIDIwMjEgMTY6MjU6MjAgLTA1MDAKU3ViamVjdDogW1BBVENIXSBz bWJkaXJlY3Q6IG1pc3NpbmcgcmMgY2hlY2tzIHdoaWxlIHdhaXRpbmcgZm9yIHJkbWEgZXZlbnRz CgpUaGVyZSB3ZXJlIHR3byBwbGFjZXMgd2hlcmUgd2Ugd2VyZW4ndCBjaGVja2luZyBmb3IgZXJy b3IKKGUuZy4gRVJFU1RBUlRTWVMpIHdoaWxlIHdhaXRpbmcgZm9yIHJkbWEgcmVzb2x1dGlvbi4K CkFkZHJlc3Nlcy1Db3Zlcml0eTogMTQ2MjE2NSAoIlVuY2hlY2tlZCByZXR1cm4gdmFsdWUiKQpT aWduZWQtb2ZmLWJ5OiBTdGV2ZSBGcmVuY2ggPHN0ZnJlbmNoQG1pY3Jvc29mdC5jb20+Ci0tLQog ZnMvY2lmcy9zbWJkaXJlY3QuYyB8IDkgKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvc21iZGlyZWN0 LmMgYi9mcy9jaWZzL3NtYmRpcmVjdC5jCmluZGV4IDEwZGZlNTAwNjc5Mi4uYWUwNzczMmY3NTBm IDEwMDY0NAotLS0gYS9mcy9jaWZzL3NtYmRpcmVjdC5jCisrKyBiL2ZzL2NpZnMvc21iZGlyZWN0 LmMKQEAgLTU3Miw4ICs1NzIsMTEgQEAgc3RhdGljIHN0cnVjdCByZG1hX2NtX2lkICpzbWJkX2Ny ZWF0ZV9pZCgKIAkJbG9nX3JkbWFfZXZlbnQoRVJSLCAicmRtYV9yZXNvbHZlX2FkZHIoKSBmYWls ZWQgJWlcbiIsIHJjKTsKIAkJZ290byBvdXQ7CiAJfQotCXdhaXRfZm9yX2NvbXBsZXRpb25faW50 ZXJydXB0aWJsZV90aW1lb3V0KAorCXJjID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRp YmxlX3RpbWVvdXQoCiAJCSZpbmZvLT5yaV9kb25lLCBtc2Vjc190b19qaWZmaWVzKFJETUFfUkVT T0xWRV9USU1FT1VUKSk7CisJLyogLUVSRVNUQVJUU1lTLCByZXR1cm5lZCB3aGVuIGludGVycnVw dGVkLCBpcyB0aGUgb25seSByYyBtZW50aW9uZWQgKi8KKwlpZiAocmMgPCAwKQorCQlnb3RvIG91 dDsKIAlyYyA9IGluZm8tPnJpX3JjOwogCWlmIChyYykgewogCQlsb2dfcmRtYV9ldmVudChFUlIs ICJyZG1hX3Jlc29sdmVfYWRkcigpIGNvbXBsZXRlZCAlaVxuIiwgcmMpOwpAQCAtNTg2LDggKzU4 OSwxMCBAQCBzdGF0aWMgc3RydWN0IHJkbWFfY21faWQgKnNtYmRfY3JlYXRlX2lkKAogCQlsb2df cmRtYV9ldmVudChFUlIsICJyZG1hX3Jlc29sdmVfcm91dGUoKSBmYWlsZWQgJWlcbiIsIHJjKTsK IAkJZ290byBvdXQ7CiAJfQotCXdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZV90aW1l b3V0KAorCXJjID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoCiAJ CSZpbmZvLT5yaV9kb25lLCBtc2Vjc190b19qaWZmaWVzKFJETUFfUkVTT0xWRV9USU1FT1VUKSk7 CisJaWYgKHJjIDwgMCkgIC8qIGUuZy4gaWYgaW50ZXJydXB0ZWQgYW5kIHJldHVybnMgLUVSRVNU QVJUU1lTICovCisJCWdvdG8gb3V0CiAJcmMgPSBpbmZvLT5yaV9yYzsKIAlpZiAocmMpIHsKIAkJ bG9nX3JkbWFfZXZlbnQoRVJSLCAicmRtYV9yZXNvbHZlX3JvdXRlKCkgY29tcGxldGVkICVpXG4i LCByYyk7Ci0tIAoyLjMwLjIKCg== --000000000000fbdd3d05c54d677d--