diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2017-09-16 16:31:30 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2017-09-16 16:31:30 +0000 |
commit | c4b28ce0b9b3412597812a28311edac9909cd94e (patch) | |
tree | 7efb740752336eba33d99a2640964554ec59537b /sys/ofed | |
parent | 526f59617907792efd70ac1805ffdd3c60b4e05a (diff) | |
download | src-c4b28ce0b9b3412597812a28311edac9909cd94e.tar.gz src-c4b28ce0b9b3412597812a28311edac9909cd94e.zip |
Remove no longer needed linux_poll_wakeup() calls. This is now handled by
"wake_up()" in the LinuxKPI. Accessing the file pointer directly might cause
use after free issues.
Sponsored by: Mellanox Technologies
Notes
Notes:
svn path=/projects/bsd_rdma_4_9/; revision=323651
Diffstat (limited to 'sys/ofed')
-rw-r--r-- | sys/ofed/drivers/infiniband/core/ib_ucm.c | 1 | ||||
-rw-r--r-- | sys/ofed/drivers/infiniband/core/ib_ucma.c | 1 | ||||
-rw-r--r-- | sys/ofed/drivers/infiniband/core/ib_user_mad.c | 3 | ||||
-rw-r--r-- | sys/ofed/drivers/infiniband/core/ib_uverbs_main.c | 4 | ||||
-rw-r--r-- | sys/ofed/drivers/infiniband/core/uverbs.h | 1 |
5 files changed, 0 insertions, 10 deletions
diff --git a/sys/ofed/drivers/infiniband/core/ib_ucm.c b/sys/ofed/drivers/infiniband/core/ib_ucm.c index b6490427a7bc..edc1099c9cfd 100644 --- a/sys/ofed/drivers/infiniband/core/ib_ucm.c +++ b/sys/ofed/drivers/infiniband/core/ib_ucm.c @@ -370,7 +370,6 @@ static int ib_ucm_event_handler(struct ib_cm_id *cm_id, list_add_tail(&uevent->file_list, &ctx->file->events); list_add_tail(&uevent->ctx_list, &ctx->events); wake_up_interruptible(&ctx->file->poll_wait); - linux_poll_wakeup(ctx->file->filp); mutex_unlock(&ctx->file->file_mutex); return 0; diff --git a/sys/ofed/drivers/infiniband/core/ib_ucma.c b/sys/ofed/drivers/infiniband/core/ib_ucma.c index 864636512238..081b1cf2d225 100644 --- a/sys/ofed/drivers/infiniband/core/ib_ucma.c +++ b/sys/ofed/drivers/infiniband/core/ib_ucma.c @@ -353,7 +353,6 @@ static int ucma_event_handler(struct rdma_cm_id *cm_id, list_add_tail(&uevent->list, &ctx->file->event_list); wake_up_interruptible(&ctx->file->poll_wait); - linux_poll_wakeup(ctx->file->filp); if (event->event == RDMA_CM_EVENT_DEVICE_REMOVAL) ucma_removal_event_handler(cm_id); out: diff --git a/sys/ofed/drivers/infiniband/core/ib_user_mad.c b/sys/ofed/drivers/infiniband/core/ib_user_mad.c index 4e579b131f57..2fb032b797c8 100644 --- a/sys/ofed/drivers/infiniband/core/ib_user_mad.c +++ b/sys/ofed/drivers/infiniband/core/ib_user_mad.c @@ -105,7 +105,6 @@ struct ib_umad_device { struct ib_umad_file { struct mutex mutex; struct ib_umad_port *port; - struct file *filp; struct list_head recv_list; struct list_head send_list; struct list_head port_list; @@ -173,7 +172,6 @@ static int queue_packet(struct ib_umad_file *file, if (agent == __get_agent(file, packet->mad.hdr.id)) { list_add_tail(&packet->list, &file->recv_list); wake_up_interruptible(&file->recv_wait); - linux_poll_wakeup(file->filp); ret = 0; break; } @@ -952,7 +950,6 @@ static int ib_umad_open(struct inode *inode, struct file *filp) init_waitqueue_head(&file->recv_wait); file->port = port; - file->filp = filp; filp->private_data = file; list_add_tail(&file->port_list, &port->file_list); diff --git a/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c b/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c index 49221ba15c7b..331a3c946a37 100644 --- a/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c +++ b/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c @@ -529,7 +529,6 @@ void ib_uverbs_comp_handler(struct ib_cq *cq, void *cq_context) spin_unlock_irqrestore(&file->lock, flags); wake_up_interruptible(&file->poll_wait); - linux_poll_wakeup(file->filp); kill_fasync(&file->async_queue, SIGIO, POLL_IN); } @@ -564,7 +563,6 @@ static void ib_uverbs_async_handler(struct ib_uverbs_file *file, spin_unlock_irqrestore(&file->async_file->lock, flags); wake_up_interruptible(&file->async_file->poll_wait); - linux_poll_wakeup(file->async_file->filp); kill_fasync(&file->async_file->async_queue, SIGIO, POLL_IN); } @@ -662,7 +660,6 @@ struct file *ib_uverbs_alloc_event_file(struct ib_uverbs_file *uverbs_file, if (IS_ERR(filp)) goto err_put_refs; filp->private_data = ev_file; - ev_file->filp = filp; mutex_lock(&uverbs_file->device->lists_mutex); list_add_tail(&ev_file->list, @@ -1315,7 +1312,6 @@ static void ib_uverbs_free_hw_resources(struct ib_uverbs_device *uverbs_dev, } wake_up_interruptible(&event_file->poll_wait); - linux_poll_wakeup(event_file->filp); kill_fasync(&event_file->async_queue, SIGIO, POLL_IN); } mutex_unlock(&uverbs_dev->lists_mutex); diff --git a/sys/ofed/drivers/infiniband/core/uverbs.h b/sys/ofed/drivers/infiniband/core/uverbs.h index f905a17b6741..436047e69062 100644 --- a/sys/ofed/drivers/infiniband/core/uverbs.h +++ b/sys/ofed/drivers/infiniband/core/uverbs.h @@ -106,7 +106,6 @@ struct ib_uverbs_device { struct ib_uverbs_event_file { struct kref ref; - struct file *filp; int is_async; struct ib_uverbs_file *uverbs_file; spinlock_t lock; |