On Sat, 28 Jun 2014, Antonio Quartulli wrote:
Hi all,
On 28/06/14 21:13, Joe Perches wrote:
diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c index f40cb04..d6fba94 100644 --- a/net/batman-adv/sysfs.c +++ b/net/batman-adv/sysfs.c @@ -896,7 +896,7 @@ int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type, { int ret = -ENOMEM; struct kobject *bat_kobj;
- char *uevent_env[4] = { NULL, NULL, NULL, NULL };
- char *uevent_env[3];
Joe, why are you shortening this? kobject_uevent_env() expect a NULL-terminating array (that is the forth cell).
...
ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env);
And how is this change reducing the code space?
For what concerns the labels, we use this pattern mostly all over the code: one single label/exit-point with the related NULL checks. Do you think that we can improve something by changing this? (I am not talking about the fastpath here).
Most of the kernel uses specific labels for each possible failure.
From my selfish point of view, it makes the code easier to analyze and
understand, because what is done at the exit label is only what needs to be done.
julia