[PATCH] checks for return value during the initcall

Vikram Narayanan vikram186 at gmail.com
Sun Aug 7 07:17:04 EDT 2011


On Mon, 2011-07-18 at 06:46 +0200, Jean-Christophe PLAGNIOL-VILLARD
wrote:
> On 13:32 Sat 16 Jul     , Vikram Narayanan wrote:
> > Hi,
> > 
> > This patch checks for the return value, if there is no memory allocated in the getc_buffer_flush initcall.
> > 
> > Signed-off-by: Vikram Narayanan<vikram186 at gmail.com>
> > ---
> > diff --git a/common/console.c b/common/console.c
> > index d60e57f..c502638 100644
> > --- a/common/console.c
> > +++ b/common/console.c
> > @@ -37,6 +37,7 @@
> >  #include <poller.h>
> >  #include <linux/list.h>
> >  #include <linux/stringify.h>
> > +#include <errno.h>
> >  
> >  LIST_HEAD(console_list);
> >  EXPORT_SYMBOL(console_list);
> > @@ -118,6 +119,8 @@ static int getc_buffer_flush(void)
> >  {
> >  	console_input_buffer = kfifo_alloc(1024);
> >  	console_output_buffer = kfifo_alloc(1024);
> > +	if(!console_input_buffer || !console_output_buffer)
> > +		return ENOMEM;
> return -ENOMEM;
> 
> and a DEBUG_LL message is important here for debug
Please see if this is ok. 

Signed-off-by: Vikram Narayanan <vikram186 at gmail.com>
---
 common/console.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/common/console.c b/common/console.c
index d60e57f..3a76320 100644
--- a/common/console.c
+++ b/common/console.c
@@ -118,6 +118,11 @@ static int getc_buffer_flush(void)
 {
 	console_input_buffer = kfifo_alloc(1024);
 	console_output_buffer = kfifo_alloc(1024);
+	if(!console_input_buffer || !console_output_buffer)
+	{
+		PUTS_LL("Memory allocation failed in getc_buffer_flush\n");
+		return -ENOMEM;
+	}
 	return 0;
 }
 
-- 
1.7.2.3





More information about the barebox mailing list