aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv
diff options
context:
space:
mode:
authorHimangi Saraogi <himangi774@gmail.com>2014-06-28 14:36:29 -0400
committerDavid S. Miller <davem@davemloft.net>2014-07-07 20:00:31 -0400
commitb98fe24ca7d0effdd4c47a9f681d9e4f10442827 (patch)
treea4f2123ff4fbed0c83aad92b862cfefca1d8c584 /net/batman-adv
parent0a7fdbde691118b0717058b272284e5f4b81f1bb (diff)
batman-adv: Use kasprintf
kasprintf combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: // <smpl> @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf(flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); // </smpl> Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv')
-rw-r--r--net/batman-adv/sysfs.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
index fc47baa888c5..f40cb0436eba 100644
--- a/net/batman-adv/sysfs.c
+++ b/net/batman-adv/sysfs.c
@@ -900,32 +900,24 @@ int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type,
900 900
901 bat_kobj = &bat_priv->soft_iface->dev.kobj; 901 bat_kobj = &bat_priv->soft_iface->dev.kobj;
902 902
903 uevent_env[0] = kmalloc(strlen(BATADV_UEV_TYPE_VAR) + 903 uevent_env[0] = kasprintf(GFP_ATOMIC,
904 strlen(batadv_uev_type_str[type]) + 1, 904 "%s%s", BATADV_UEV_TYPE_VAR,
905 GFP_ATOMIC); 905 batadv_uev_type_str[type]);
906 if (!uevent_env[0]) 906 if (!uevent_env[0])
907 goto out; 907 goto out;
908 908
909 sprintf(uevent_env[0], "%s%s", BATADV_UEV_TYPE_VAR, 909 uevent_env[1] = kasprintf(GFP_ATOMIC,
910 batadv_uev_type_str[type]); 910 "%s%s", BATADV_UEV_ACTION_VAR,
911 911 batadv_uev_action_str[action]);
912 uevent_env[1] = kmalloc(strlen(BATADV_UEV_ACTION_VAR) +
913 strlen(batadv_uev_action_str[action]) + 1,
914 GFP_ATOMIC);
915 if (!uevent_env[1]) 912 if (!uevent_env[1])
916 goto out; 913 goto out;
917 914
918 sprintf(uevent_env[1], "%s%s", BATADV_UEV_ACTION_VAR,
919 batadv_uev_action_str[action]);
920
921 /* If the event is DEL, ignore the data field */ 915 /* If the event is DEL, ignore the data field */
922 if (action != BATADV_UEV_DEL) { 916 if (action != BATADV_UEV_DEL) {
923 uevent_env[2] = kmalloc(strlen(BATADV_UEV_DATA_VAR) + 917 uevent_env[2] = kasprintf(GFP_ATOMIC,
924 strlen(data) + 1, GFP_ATOMIC); 918 "%s%s", BATADV_UEV_DATA_VAR, data);
925 if (!uevent_env[2]) 919 if (!uevent_env[2])
926 goto out; 920 goto out;
927
928 sprintf(uevent_env[2], "%s%s", BATADV_UEV_DATA_VAR, data);
929 } 921 }
930 922
931 ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env); 923 ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env);