浏览代码

serial: avoid double free after call ioc4_serial_remove_one

  before goto out5,  soft, control, serial are all assigned to idd
  after finish call ioc4_serial_remove_one, all resources are released
  we need return instead of go on, or double free

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chen Gang 12 年之前
父节点
当前提交
6d8df4b6a3
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/tty/serial/ioc4_serial.c

+ 1 - 0
drivers/tty/serial/ioc4_serial.c

@@ -2883,6 +2883,7 @@ ioc4_serial_attach_one(struct ioc4_driver_data *idd)
 	/* error exits that give back resources */
 	/* error exits that give back resources */
 out5:
 out5:
 	ioc4_serial_remove_one(idd);
 	ioc4_serial_remove_one(idd);
+	return ret;
 out4:
 out4:
 	kfree(soft);
 	kfree(soft);
 out3:
 out3: