Fix to return a negative error code -EMSGSIZE from the error handling
case, otherwise 0 or uninitialized value may be returned.

Fixes: cb5ccfbe73b3 ("devlink: Add health buffer support")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 net/core/devlink.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index 60248a5..0d4c774 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -4008,8 +4008,10 @@ void devlink_health_buffer_nest_cancel(struct 
devlink_health_buffer *buffer)
                case DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE:
                case DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE_ARRAY:
                        buffer_nlattr[i] = nla_nest_start(skb, desc->attrtype);
-                       if (!buffer_nlattr[i])
+                       if (!buffer_nlattr[i]) {
+                               err = -EMSGSIZE;
                                goto nla_put_failure;
+                       }
                        i++;
                        break;
                case DEVLINK_ATTR_HEALTH_BUFFER_OBJECT_VALUE_DATA:



Reply via email to