Commit afaa0a47 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'edac_urgent_for_v7.1_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras

Pull EDAC fix from Borislav Petkov:

 - Fix a string leak in the versalnet driver

* tag 'edac_urgent_for_v7.1_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
  EDAC/versalnet: Fix device name memory leak
parents aa54b1d2 8cf5dd23
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -777,9 +777,9 @@ static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i
	u32 num_chans, rank, dwidth, config;
	struct edac_mc_layer layers[2];
	struct mem_ctl_info *mci;
	char name[MC_NAME_LEN];
	struct device *dev;
	enum dev_type dt;
	char *name;
	int rc;

	config = priv->adec[CONF + i * ADEC_NUM];
@@ -813,13 +813,9 @@ static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i
	layers[1].is_virt_csrow = false;

	rc = -ENOMEM;
	name = kzalloc(MC_NAME_LEN, GFP_KERNEL);
	if (!name)
		return rc;

	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
	if (!dev)
		goto err_name_free;
		return rc;

	mci = edac_mc_alloc(i, ARRAY_SIZE(layers), layers, sizeof(struct mc_priv));
	if (!mci) {
@@ -858,8 +854,6 @@ static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i
	edac_mc_free(mci);
err_dev_free:
	kfree(dev);
err_name_free:
	kfree(name);

	return rc;
}