Version: 1
-Previous: 3c65cb44a65d5c78b1b1104ab690988bf196f3aa
-Head: 8704386e55ea3b38fffcf28e90da4d753c785f62
+Previous: 3ff6f4977dca08ce1c2c8e4d1ae1834226bc6ed7
+Head: 47eb0c419687c2690292c1910acae83a46e5388c
Applied:
- seterr: d5241e70cdc99093a932a43dfceb6a52b94ce5c0
- refresh-temp: 8704386e55ea3b38fffcf28e90da4d753c785f62
+ seterr: 47eb0c419687c2690292c1910acae83a46e5388c
Unapplied:
rs_wrid: 0d6ca1300d88377ae7f9162457e64c541a4630eb
rs-iwarp: 21a157ca83b54ae7a61861c8eb87c39d3f31dd3e
+++ /dev/null
-Bottom: 03e0d857be2abeca4aaf50a1c372dc983b1332dc
-Top: 4f3a388da1a77b8f0e2ff2459b2b2b48f8c3aa0e
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2013-04-13 13:21:03 -0700
-
-Refresh of seterr
-
----
-
-diff --git a/include/rdma/rdma_verbs.h b/include/rdma/rdma_verbs.h
-index 198c6a5..8314fe7 100644
---- a/include/rdma/rdma_verbs.h
-+++ b/include/rdma/rdma_verbs.h
-@@ -44,7 +44,7 @@ extern "C" {
-
- static inline int rdma_seterrno(int ret)
- {
-- if (ret) {
-+ if (ret > 0) {
- errno = ret;
- ret = -1;
- }
Bottom: 03e0d857be2abeca4aaf50a1c372dc983b1332dc
-Top: 03e0d857be2abeca4aaf50a1c372dc983b1332dc
+Top: 4f3a388da1a77b8f0e2ff2459b2b2b48f8c3aa0e
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2013-04-13 13:18:07 -0700
rdma_cm: Detect recursive calls to rdma_seterrno()
If rdma_seterrno() is called in a recursive fashion, the
-result is that errno ends up set to -1. Fix the original
-occurrence of where this occurs and update rdma_seterrno()
-to avoid it modifying errno incorrectly.
+result is that errno ends up set to -1. We can avoid this
+by only setting errno if the return value is > 0.
Problem reported by hookenz@gmail.com.
---
-
+diff --git a/include/rdma/rdma_verbs.h b/include/rdma/rdma_verbs.h
+index 198c6a5..8314fe7 100644
+--- a/include/rdma/rdma_verbs.h
++++ b/include/rdma/rdma_verbs.h
+@@ -44,7 +44,7 @@ extern "C" {
+
+ static inline int rdma_seterrno(int ret)
+ {
+- if (ret) {
++ if (ret > 0) {
+ errno = ret;
+ ret = -1;
+ }