doit_reply_value() directly returns on get counter failure, which results
in stale sk_buff and genetlink header that aren't cleaned up. Fix it.
Fixes: c36218dc49f5 ("drm/ras: Introduce the DRM RAS infrastructure over
generic netlink")
Signed-off-by: Raag Jadav <[email protected]>
---
drivers/gpu/drm/drm_ras.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_ras.c b/drivers/gpu/drm/drm_ras.c
index d6eab29a1394..262a75f0c493 100644
--- a/drivers/gpu/drm/drm_ras.c
+++ b/drivers/gpu/drm/drm_ras.c
@@ -207,8 +207,11 @@ static int doit_reply_value(struct genl_info *info, u32
node_id,
ret = get_node_error_counter(node_id, error_id,
&error_name, &value);
- if (ret)
+ if (ret) {
+ genlmsg_cancel(msg, hdr);
+ nlmsg_free(msg);
return ret;
+ }
ret = msg_reply_value(msg, error_id, error_name, value);
if (ret) {
--
2.43.0