[v1] Bug fix for issue found by kernel test robot

Message ID 20231010213549.3662003-1-anjali.k.kulkarni@oracle.com
State New
Headers
Series [v1] Bug fix for issue found by kernel test robot |

Commit Message

Anjali Kulkarni Oct. 10, 2023, 9:35 p.m. UTC
  cn_netlink_send_mult() should be called with filter & filter_data only
for EXIT case. For all other events, filter & filter_data should be
NULL.

Signed-off-by: Anjali Kulkarni <anjali.k.kulkarni@oracle.com>
---
 drivers/connector/cn_proc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Jakub Kicinski Oct. 11, 2023, 12:53 a.m. UTC | #1
Thanks for the fix! Let's start with some basic process feedback :)

On Tue, 10 Oct 2023 14:35:49 -0700 Anjali Kulkarni wrote:
> Subject: [PATCH v1] Bug fix for issue found by kernel test robot

Subject needs to describe the issue (e.g. fix null-deref due to $xyz)

> cn_netlink_send_mult() should be called with filter & filter_data only
> for EXIT case. For all other events, filter & filter_data should be
> NULL.

We need (1) a Fixes tag pointing to the commit which added the bug
(2) appropriate Reported-by tag (see the syzbot report)

> Signed-off-by: Anjali Kulkarni <anjali.k.kulkarni@oracle.com>
  
Anjali Kulkarni Oct. 11, 2023, 5:13 a.m. UTC | #2
> On Oct 10, 2023, at 5:53 PM, Jakub Kicinski <kuba@kernel.org> wrote:
> 
> Thanks for the fix! Let's start with some basic process feedback :)
> 
> On Tue, 10 Oct 2023 14:35:49 -0700 Anjali Kulkarni wrote:
>> Subject: [PATCH v1] Bug fix for issue found by kernel test robot
> 
> Subject needs to describe the issue (e.g. fix null-deref due to $xyz)
Done.
> 
>> cn_netlink_send_mult() should be called with filter & filter_data only
>> for EXIT case. For all other events, filter & filter_data should be
>> NULL.
> 
> We need (1) a Fixes tag pointing to the commit which added the bug
> (2) appropriate Reported-by tag (see the syzbot report)
Done and sent out v2.

> 
>> Signed-off-by: Anjali Kulkarni <anjali.k.kulkarni@oracle.com>
> -- 
> pw-bot: cr
  

Patch

diff --git a/drivers/connector/cn_proc.c b/drivers/connector/cn_proc.c
index 05d562e9c8b1..01e17f18d187 100644
--- a/drivers/connector/cn_proc.c
+++ b/drivers/connector/cn_proc.c
@@ -104,13 +104,13 @@  static inline void send_msg(struct cn_msg *msg)
 	if (filter_data[0] == PROC_EVENT_EXIT) {
 		filter_data[1] =
 		((struct proc_event *)msg->data)->event_data.exit.exit_code;
+		cn_netlink_send_mult(msg, msg->len, 0, CN_IDX_PROC, GFP_NOWAIT,
+				     cn_filter, (void *)filter_data);
 	} else {
-		filter_data[1] = 0;
+		cn_netlink_send_mult(msg, msg->len, 0, CN_IDX_PROC, GFP_NOWAIT,
+				     NULL, NULL);
 	}
 
-	cn_netlink_send_mult(msg, msg->len, 0, CN_IDX_PROC, GFP_NOWAIT,
-			     cn_filter, (void *)filter_data);
-
 	local_unlock(&local_event.lock);
 }