[FIX] Us_manager: slot manager deallocation 73/22473/7
authorAlexander Aksenov <a.aksenov@samsung.com>
Wed, 4 Jun 2014 11:57:49 +0000 (15:57 +0400)
committerAlexander Aksenov <a.aksenov@samsung.com>
Fri, 6 Jun 2014 07:03:39 +0000 (11:03 +0400)
Change-Id: I8957514cbc6d595931a602088876d07c27fa2e58
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
us_manager/sspt/sspt_proc.c
us_manager/us_slot_manager.c

index efb6bd9..48ac617 100644 (file)
@@ -130,6 +130,7 @@ void sspt_proc_free(struct sspt_proc *proc)
        sspt_destroy_feature(proc->feature);
 
        terminate_msg(proc->task);
+       free_sm_us(proc->sm);
        kfree(proc);
 }
 
index 002a052..d600cea 100644 (file)
@@ -80,5 +80,14 @@ struct slot_manager *create_sm_us(struct task_struct *task)
 
 void free_sm_us(struct slot_manager *sm)
 {
-       /* FIXME: free */
+       if (sm == NULL)
+               return;
+
+       if (!hlist_empty(&sm->page_list)) {
+               printk(KERN_WARNING "SWAP US_MANAGER: Error! Slot manager is "
+                                   "not empty!\n");
+               return;
+       }
+
+       kfree(sm);
 }