trace: introduce missing mutex_unlock()			        
		
			    
    
				
				
							
										
						
Author: Vegard Nossum <vegard.nossum@gmail.com>
Impact: fix tracing buffer mutex leak in case of allocation failure
This error was spotted by this semantic patch:
  http://www.emn.fr/x-info/coccinelle/mut.html
It looks correct as far as I can tell. Please review.
Signed-off-by: Vegard Nossum 
Signed-off-by: Steven Rostedt 
Signed-off-by: Ingo Molnar 
| ---
 kernel/trace/ring_buffer.c | 1 +
 1 file changed, 1 insertion(+)
 
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 036456c..f780e95 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -617,6 +617,7 @@ int ring_buffer_resize(struct ring_buffer *buffer, unsigned long size)
 		list_del_init(&page->list);
 		free_buffer_page(page);
 	}
+	mutex_unlock(&buffer->mutex);
 	return -ENOMEM;
 } | 
---
 kernel/trace/ring_buffer.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 036456c..f780e95 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -617,6 +617,7 @@ int ring_buffer_resize(struct ring_buffer *buffer, unsigned long size)
 		list_del_init(&page->list);
 		free_buffer_page(page);
 	}
+	mutex_unlock(&buffer->mutex);
 	return -ENOMEM;
 }