On Wed, Jun 27, 2012 at 12:08:55PM +0300, Dan Carpenter wrote: > 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> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> > --- > 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