diff options
Diffstat (limited to 'ipc/util.c')
| -rw-r--r-- | ipc/util.c | 16 | 
1 files changed, 1 insertions, 15 deletions
diff --git a/ipc/util.c b/ipc/util.c index 5c0d28921ba8..75261a31d48d 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -579,19 +579,6 @@ static void ipc_schedule_free(struct rcu_head *head)  	schedule_work(&sched->work);  } -/** - * ipc_immediate_free - free ipc + rcu space - * @head: RCU callback structure that contains pointer to be freed - * - * Free from the RCU callback context. - */ -static void ipc_immediate_free(struct rcu_head *head) -{ -	struct ipc_rcu_grace *free = -		container_of(head, struct ipc_rcu_grace, rcu); -	kfree(free); -} -  void ipc_rcu_putref(void *ptr)  {  	if (--container_of(ptr, struct ipc_rcu_hdr, data)->refcount > 0) @@ -601,8 +588,7 @@ void ipc_rcu_putref(void *ptr)  		call_rcu(&container_of(ptr, struct ipc_rcu_grace, data)->rcu,  				ipc_schedule_free);  	} else { -		call_rcu(&container_of(ptr, struct ipc_rcu_grace, data)->rcu, -				ipc_immediate_free); +		kfree_rcu(container_of(ptr, struct ipc_rcu_grace, data), rcu);  	}  }  |