From 7b63c5772fd6eea71b1332570812297e45403126 Mon Sep 17 00:00:00 2001 From: Devendra Naga Date: Tue, 22 Jan 2013 03:38:17 -0500 Subject: [PATCH] staging: dgrp: check for a valid proc dir entry pointer while proc_create fails, the register_proc_table can do a derefernce of the null pointer causing to oops the system, instead check for a valid pointer at register and unregister Signed-off-by: Devendra Naga Signed-off-by: Greg Kroah-Hartman --- drivers/staging/dgrp/dgrp_specproc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/dgrp/dgrp_specproc.c b/drivers/staging/dgrp/dgrp_specproc.c index c214078a89e9..e09fc9cf318b 100644 --- a/drivers/staging/dgrp/dgrp_specproc.c +++ b/drivers/staging/dgrp/dgrp_specproc.c @@ -181,13 +181,13 @@ static struct dgrp_proc_entry dgrp_dpa_table[] = { void dgrp_unregister_proc(void) { - unregister_proc_table(dgrp_table, dgrp_proc_dir_entry); net_entry_pointer = NULL; mon_entry_pointer = NULL; dpa_entry_pointer = NULL; ports_entry_pointer = NULL; if (dgrp_proc_dir_entry) { + unregister_proc_table(dgrp_table, dgrp_proc_dir_entry); remove_proc_entry(dgrp_proc_dir_entry->name, dgrp_proc_dir_entry->parent); dgrp_proc_dir_entry = NULL; @@ -231,6 +231,8 @@ static void register_proc_table(struct dgrp_proc_entry *table, if (table == NULL) return; + if (root == NULL) + return; for (; table->id; table++) { /* Can't do anything without a proc name. */ -- 2.30.2