mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
wait: using uninitialized member of wait queue
The "flags" member of "struct wait_queue_t" is used in several places in the kernel code without beeing initialized by init_wait(). "flags" is used in bitwise operations. If "flags" not initialized then unexpected behaviour may take place. Incorrect flags might used later in code. Added initialization of "wait_queue_t.flags" with zero value into "init_wait". Signed-off-by: Evgeny Kuznetsov <[email protected]> [ The bit we care about does end up being initialized by both prepare_to_wait() and add_to_wait_queue(), so this doesn't seem to cause actual bugs, but is definitely the right thing to do -Linus ] Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
5336377d62
commit
231d0aefd8
1 file changed
+1
@@ -614,6 +614,7 @@ int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
(wait)->private = current; \
|
||||
(wait)->func = autoremove_wake_function; \
|
||||
INIT_LIST_HEAD(&(wait)->task_list); \
|
||||
(wait)->flags = 0; \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user