On Sat, 21 Apr 2012, Dan Carpenter wrote:
On Fri, Apr 20, 2012 at 09:14:44PM +0300, Kalle Valo wrote:
Dan Carpenter <dan.carpenter@xxxxxxxxxx> writes:
On Fri, Apr 20, 2012 at 06:57:00PM +1000, Julian Calaby wrote:
- struct mib_local *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL);
+ struct mib_local *m = kmalloc(sizeof(struct mib_local), GFP_KERNEL);
Would it be better practice to use sizeof(*m)?
That was my temptation as well... But I decided to make it match
with the surrounding code. I'm happy to resend if people want.
IMHO sizeof(*m) is better and I tend to use it.
Related to this: I have a bad habit of sometimes dropping '*' from
sizeof()? Is there a tool which could spot that?
That's what I was working on for Smatch when I sent this patch.
The odd thing is that I can't find any bugs like this in the kernel.
If sizeof(foo) is less than sizeof(*foo), which is probably the
normal case, then these get caught early on in testing.
Still I think people must have done manual audits as well... It
feels too clean to be natural.
I sent some patches with respect to this. But that was probably around a
year ago.
julia