Re: fix stgt crash in conn_close
FUJITA Tomonori <[email protected]> Tue, 02 Aug 2016 12:32:52 +0900 (JST)
| Newsgroups | org.kernel.vger.stgt |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 26 Jul 2016 17:46:19 +0800 fx chen <[email protected]> wrote: > From c0d3f1498122430a166aa304e4e58139efec788a Mon Sep 17 00:00:00 2001 > From: Chen Fangxian <[email protected]> > Date: Tue, 26 Jul 2016 11:33:39 +0800 > Subject: [PATCH v2] iscsi: fix segfault at conn_close > > Remove some iscsi task from conn->session->cmd_list before free it, > otherwise it may cause tgtd process crash. Below is a backtrace info: > > Program terminated with signal 11, Segmentation fault. > #0 0x000000000040a259 in __list_del (prev=0x7cd38c0, next=0x5aff340) at ./list.h:83 > 83 prev->next = next; > (gdb) bt > #0 0x000000000040a259 in __list_del (prev=0x7cd38c0, next=0x5aff340) at ./list.h:83 > #1 0x000000000040a296 in list_del (entry=0x623d080) at ./list.h:88 > #2 0x000000000040edd6 in iscsi_free_cmd_task (task=0x623d010) at iscsi/iscsid.c:1254 > #3 0x000000000040ee6a in iscsi_scsi_cmd_done (nid=3356, result=0, scmd=0x623d0e0) at iscsi/iscsid.c:1269 > #4 0x0000000000432dc0 in target_cmd_io_done (cmd=0x623d0e0, result=0) at target.c:1236 > #5 0x000000000045be39 in bs_sig_request_done (fd=10, events=1, data=0x0) at bs.c:210 > #6 0x0000000000428ff2 in event_loop () at tgtd.c:432 > #7 0x0000000000429fca in main (argc=3, argv=0x7ffffcec25f8) at tgtd.c:624 > > Signed-off-by: Meng Lingkun <[email protected]> > Signed-off-by: Wang Zhengyong <[email protected]> > Reviewed-by: Wang Dongxu <[email protected]> > Signed-off-by: Chen Fangxian <[email protected]> > --- > usr/iscsi/iscsid.c | 4 +++- > usr/iscsi/iscsid.h | 2 ++ > 2 files changed, 5 insertions(+), 1 deletion(-) Looks good to me. Thanks you so much, guys!