Even though it has "bool" in the name, you have pass a u32 pointer to debugfs_create_bool(). Otherwise you get memory corruption in write_file_bool(). Fortunately in this case the corruption happens in an alignment hole between variables so it doesn't cause any problems. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- This was sent on Fri, 2 Mar 2012. It's probably my fault the bug is still there. I submitted the patch but the feed back was that debugfs_create_bool() has a stupid API and should take a pointer to a bool. I said that yes, probably that is true but only two places use the current API incorrectly and I fixed the other place as well. I assumed that both my patches would be merged and the person who cared about API would fix the API but neither of my fixes were applied. diff --git a/lib/dma-debug.c b/lib/dma-debug.c index 518aea7..66ce414 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c @@ -78,7 +78,7 @@ static LIST_HEAD(free_entries); static DEFINE_SPINLOCK(free_entries_lock); /* Global disable flag - will be set in case of an error */ -static bool global_disable __read_mostly; +static u32 global_disable __read_mostly; /* Global error count */ static u32 error_count; @@ -657,7 +657,7 @@ static int dma_debug_fs_init(void) global_disable_dent = debugfs_create_bool("disabled", 0444, dma_debug_dent, - (u32 *)&global_disable); + &global_disable); if (!global_disable_dent) goto out_err; -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html