diff options
Diffstat (limited to 'drivers/infiniband/core/uverbs_main.c')
-rw-r--r-- | drivers/infiniband/core/uverbs_main.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index ff59a795e840..4fa2e6516441 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c | |||
@@ -484,11 +484,10 @@ void ib_uverbs_event_handler(struct ib_event_handler *handler, | |||
484 | } | 484 | } |
485 | 485 | ||
486 | struct file *ib_uverbs_alloc_event_file(struct ib_uverbs_file *uverbs_file, | 486 | struct file *ib_uverbs_alloc_event_file(struct ib_uverbs_file *uverbs_file, |
487 | int is_async, int *fd) | 487 | int is_async) |
488 | { | 488 | { |
489 | struct ib_uverbs_event_file *ev_file; | 489 | struct ib_uverbs_event_file *ev_file; |
490 | struct file *filp; | 490 | struct file *filp; |
491 | int ret; | ||
492 | 491 | ||
493 | ev_file = kmalloc(sizeof *ev_file, GFP_KERNEL); | 492 | ev_file = kmalloc(sizeof *ev_file, GFP_KERNEL); |
494 | if (!ev_file) | 493 | if (!ev_file) |
@@ -503,27 +502,12 @@ struct file *ib_uverbs_alloc_event_file(struct ib_uverbs_file *uverbs_file, | |||
503 | ev_file->is_async = is_async; | 502 | ev_file->is_async = is_async; |
504 | ev_file->is_closed = 0; | 503 | ev_file->is_closed = 0; |
505 | 504 | ||
506 | *fd = get_unused_fd(); | 505 | filp = anon_inode_getfile("[infinibandevent]", &uverbs_event_fops, |
507 | if (*fd < 0) { | ||
508 | ret = *fd; | ||
509 | goto err; | ||
510 | } | ||
511 | |||
512 | filp = anon_inode_getfile("[uverbs-event]", &uverbs_event_fops, | ||
513 | ev_file, O_RDONLY); | 506 | ev_file, O_RDONLY); |
514 | if (!filp) { | 507 | if (IS_ERR(filp)) |
515 | ret = -ENFILE; | 508 | kfree(ev_file); |
516 | goto err_fd; | ||
517 | } | ||
518 | 509 | ||
519 | return filp; | 510 | return filp; |
520 | |||
521 | err_fd: | ||
522 | put_unused_fd(*fd); | ||
523 | |||
524 | err: | ||
525 | kfree(ev_file); | ||
526 | return ERR_PTR(ret); | ||
527 | } | 511 | } |
528 | 512 | ||
529 | /* | 513 | /* |