ANDROID: Incremental fs: Fix crash polling 0 size read_log
When read log is 0 sized, we still need to init the wait queue to avoid
kernel panics if someone does decide to poll on the read log.
Test: Added test for this condition, incfs_test crashes
With fix, incfs_test doesn't crash
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Bug: 152909243
Change-Id: Ic3250523bb7ddb1839f8e95852c17103e5ffb782
Git-commit: 759d52ee9e
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
This commit is contained in:
committed by
Blagovest Kolenichev
parent
cbad8026de
commit
0bc5d8c16e
@@ -34,13 +34,13 @@ struct mount_info *incfs_alloc_mount_info(struct super_block *sb,
|
||||
mutex_init(&mi->mi_dir_struct_mutex);
|
||||
mutex_init(&mi->mi_pending_reads_mutex);
|
||||
init_waitqueue_head(&mi->mi_pending_reads_notif_wq);
|
||||
init_waitqueue_head(&mi->mi_log.ml_notif_wq);
|
||||
INIT_LIST_HEAD(&mi->mi_reads_list_head);
|
||||
|
||||
if (options->read_log_pages != 0) {
|
||||
size_t buf_size = PAGE_SIZE * options->read_log_pages;
|
||||
|
||||
spin_lock_init(&mi->mi_log.rl_writer_lock);
|
||||
init_waitqueue_head(&mi->mi_log.ml_notif_wq);
|
||||
|
||||
mi->mi_log.rl_size = buf_size / sizeof(*mi->mi_log.rl_ring_buf);
|
||||
mi->mi_log.rl_ring_buf = kzalloc(buf_size, GFP_NOFS);
|
||||
|
||||
Reference in New Issue
Block a user