lkml.org 
[lkml]   [2014]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Revert "staging: dgap: remove unneeded kfree() in dgap_tty_register_ports()"
This reverts commit 0ade4a34fd439d62df46937e8f3e584eb0879579.

This patch removes kfree for serial_ports in dgap_tty_register_ports()
if the "brd->printer_ports" allocation fails and serial_ports may be
freed by calling dgap_tty_uninit() within other patch.
That patch has an error handling but incomplete cleanup
so it need to call kfree() for brd->serial_ports in
dgap_tty_register_ports().

Conflicts:

drivers/staging/dgap/dgap.c
---
drivers/staging/dgap/dgap.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c
index 48c13c9..f0556ee 100644
--- a/drivers/staging/dgap/dgap.c
+++ b/drivers/staging/dgap/dgap.c
@@ -4145,8 +4145,10 @@ static int dgap_tty_register_ports(struct board_t *brd)

brd->printer_ports = kcalloc(brd->nasync, sizeof(*brd->printer_ports),
GFP_KERNEL);
- if (!brd->printer_ports)
+ if (brd->printer_ports == NULL) {
+ kfree(brd->serial_ports);
return -ENOMEM;
+ }

for (i = 0; i < brd->nasync; i++) {
tty_port_init(&brd->serial_ports[i]);
--
1.7.1


\
 
 \ /
  Last update: 2014-05-29 09:41    [W:0.043 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site