Re: [PATCH 4 2/4] NET ethernet introduce mac_platform helper

From: Joe Perches
Date: Wed Jul 04 2012 - 23:12:40 EST


On Thu, 2012-07-05 at 10:44 +0800, Andy Green wrote:
> From: Andy Green <andy@xxxxxxxxxxx>
>
> This introduces a small helper in net/ethernet, which registers a network
> notifier at core_initcall time, and accepts registrations mapping expected
> asynchronously-probed network device paths (like, "usb1/1-1/1-1.1/1-1.1:1.0")
> and the MAC that is needed to be assigned to the device when it appears.

The mac prefix is poor. I think eth_mac is better.

[]

> diff --git a/net/ethernet/mac-platform.c b/net/ethernet/mac-platform.c
[]
> +static int mac_platform_netdev_event(struct notifier_block *this,
> + unsigned long event, void *ptr)

alignment to parenthesis please.

[]

> +int mac_platform_register_device_macs(const struct mac_platform *macs)
> +{
[]
> + next = kmalloc(sizeof(struct mac_platform), GFP_KERNEL);
> + if (!next) {
> + ret = -ENOMEM;
> + goto bail;
> + }
> +
> + next->device_path = kmalloc(strlen(macs->device_path) + 1,
> + GFP_KERNEL);
> + if (!next->device_path) {
> + ret = -ENOMEM;
> + goto bail;
> + }
> +
> + strcpy(next->device_path, macs->device_path);
> + memcpy(next->mac, macs->mac, sizeof macs->mac);

kmemdup and kstrdup()

> + list_add(&next->list, &mac_platform_list);
> +
> + macs++;
> + }
> +
> +bail:
> + mutex_unlock(&mac_platform_mutex);
> +
> + return ret;
> +}

leaking memory on failures.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/