#include #include "screen.h" WINDOW *screen_init(bool israw) { WINDOW *screen = initscr(); if (israw) raw(); noecho(); cbreak(); nodelay(screen, TRUE); keypad(stdscr, TRUE); refresh(); wrefresh(screen); return screen; } void screen_end(void) { endwin(); } ternate' title='Atom feed' href='https://git.distanz.ch/cgit.cgi/linux/net-next.git/atom/Documentation/men-chameleon-bus.txt?h=nds-private-remove' type='application/atom+xml'/>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-10-24 11:41:56 +0200
committerThomas Gleixner <tglx@linutronix.de>2016-10-25 16:27:39 +0200
commitb831275a3553c32091222ac619cfddd73a5553fb (patch)
tree83869391da1625c235e75b4584dfcff9b0b189ca /Documentation/men-chameleon-bus.txt
parent07d9a380680d1c0eb51ef87ff2eab5c994949e69 (diff)
timers: Plug locking race vs. timer migration
Linus noticed that lock_timer_base() lacks a READ_ONCE() for accessing the timer flags. As a consequence the compiler is allowed to reload the flags between the initial check for TIMER_MIGRATION and the following timer base computation and the spin lock of the base. While this has not been observed (yet), we need to make sure that it never happens. Fixes: 0eeda71bc30d ("timer: Replace timer base by a cpu index") Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1610241711220.4983@nanos Cc: stable@vger.kernel.org Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'Documentation/men-chameleon-bus.txt')