diff options
author | Shirish Pargaonkar <shirishpargaonkar@gmail.com> | 2011-02-03 15:31:18 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2011-02-04 15:18:06 -0500 |
commit | 64474bdd07f673cc48509ea0375274422c8f73bf (patch) | |
tree | 406db93b0bae474281a13d83f8e621bafcca6af4 /fs/cifs | |
parent | 76429c148b939f5a6863c0a024eb8960ae91469a (diff) |
cifs: Possible slab memory corruption while updating extended stats (repost)
Updating extended statistics here can cause slab memory corruption
if a callback function frees slab memory (mid_entry).
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/connect.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 945b2202275f..1f32a2893b5f 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -633,11 +633,11 @@ incomplete_rcv: | |||
633 | mid_entry->largeBuf = isLargeBuf; | 633 | mid_entry->largeBuf = isLargeBuf; |
634 | multi_t2_fnd: | 634 | multi_t2_fnd: |
635 | mid_entry->midState = MID_RESPONSE_RECEIVED; | 635 | mid_entry->midState = MID_RESPONSE_RECEIVED; |
636 | list_del_init(&mid_entry->qhead); | ||
637 | mid_entry->callback(mid_entry); | ||
638 | #ifdef CONFIG_CIFS_STATS2 | 636 | #ifdef CONFIG_CIFS_STATS2 |
639 | mid_entry->when_received = jiffies; | 637 | mid_entry->when_received = jiffies; |
640 | #endif | 638 | #endif |
639 | list_del_init(&mid_entry->qhead); | ||
640 | mid_entry->callback(mid_entry); | ||
641 | break; | 641 | break; |
642 | } | 642 | } |
643 | mid_entry = NULL; | 643 | mid_entry = NULL; |