diff options
Diffstat (limited to 'net/batman-adv/sysfs.c')
-rw-r--r-- | net/batman-adv/sysfs.c | 24 |
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); |