Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

platform/surface: aggregator_cdev: Add lockdep support

Mark functions with locking requirements via the corresponding lockdep
calls for debugging and documentary purposes.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210604134755.535590-7-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>

authored by

Maximilian Luz and committed by
Hans de Goede
cbd224e0 e8e298a6

+16
+16
drivers/platform/surface/surface_aggregator_cdev.c
··· 139 139 struct ssam_cdev_notifier *nf; 140 140 int status; 141 141 142 + lockdep_assert_held_read(&client->cdev->lock); 143 + 142 144 /* Validate notifier target category. */ 143 145 if (!ssh_rqid_is_event(rqid)) 144 146 return -EINVAL; ··· 189 187 const u16 rqid = ssh_tc_to_rqid(tc); 190 188 const u16 event = ssh_rqid_to_event(rqid); 191 189 int status; 190 + 191 + lockdep_assert_held_read(&client->cdev->lock); 192 192 193 193 /* Validate notifier target category. */ 194 194 if (!ssh_rqid_is_event(rqid)) ··· 260 256 const void __user *plddata; 261 257 void __user *rspdata; 262 258 int status = 0, ret = 0, tmp; 259 + 260 + lockdep_assert_held_read(&client->cdev->lock); 263 261 264 262 ret = copy_struct_from_user(&rqst, sizeof(rqst), r, sizeof(*r)); 265 263 if (ret) ··· 373 367 struct ssam_cdev_notifier_desc desc; 374 368 long ret; 375 369 370 + lockdep_assert_held_read(&client->cdev->lock); 371 + 376 372 ret = copy_struct_from_user(&desc, sizeof(desc), d, sizeof(*d)); 377 373 if (ret) 378 374 return ret; ··· 387 379 { 388 380 struct ssam_cdev_notifier_desc desc; 389 381 long ret; 382 + 383 + lockdep_assert_held_read(&client->cdev->lock); 390 384 391 385 ret = copy_struct_from_user(&desc, sizeof(desc), d, sizeof(*d)); 392 386 if (ret) ··· 404 394 struct ssam_event_registry reg; 405 395 struct ssam_event_id id; 406 396 long ret; 397 + 398 + lockdep_assert_held_read(&client->cdev->lock); 407 399 408 400 /* Read descriptor from user-space. */ 409 401 ret = copy_struct_from_user(&desc, sizeof(desc), d, sizeof(*d)); ··· 432 420 struct ssam_event_registry reg; 433 421 struct ssam_event_id id; 434 422 long ret; 423 + 424 + lockdep_assert_held_read(&client->cdev->lock); 435 425 436 426 /* Read descriptor from user-space. */ 437 427 ret = copy_struct_from_user(&desc, sizeof(desc), d, sizeof(*d)); ··· 527 513 static long __ssam_cdev_device_ioctl(struct ssam_cdev_client *client, unsigned int cmd, 528 514 unsigned long arg) 529 515 { 516 + lockdep_assert_held_read(&client->cdev->lock); 517 + 530 518 switch (cmd) { 531 519 case SSAM_CDEV_REQUEST: 532 520 return ssam_cdev_request(client, (struct ssam_cdev_request __user *)arg);