diff options
author | Sachin Prabhu <sprabhu@redhat.com> | 2012-07-11 12:28:05 +0100 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-07-16 23:57:02 -0500 |
commit | ffc61ccbb96809df8d97ed609ac86b509eaf9056 (patch) | |
tree | 6f97d985c640d7881aeb6ae888359e1c73213a1a /fs/file_table.c | |
parent | 055c9fa8874fa7261eec7a268366565db84af474 (diff) | |
download | linux-ffc61ccbb96809df8d97ed609ac86b509eaf9056.tar.gz linux-ffc61ccbb96809df8d97ed609ac86b509eaf9056.tar.bz2 linux-ffc61ccbb96809df8d97ed609ac86b509eaf9056.zip |
Initialise mid_q_entry before putting it on the pending queue
A user reported a crash in cifs_demultiplex_thread() caused by an
incorrectly set mid_q_entry->callback() function. It appears that the
callback assignment made in cifs_call_async() was not flushed back to
memory suggesting that a memory barrier was required here. Changing the
code to make sure that the mid_q_entry structure was completely
initialised before it was added to the pending queue fixes the problem.
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/file_table.c')
0 files changed, 0 insertions, 0 deletions