tree a97e83e9638dd7cea7e236592c4e664caaa8ce99
parent d1d9cfc330e2622f4b4e0b82d3b41a34619614d4
parent 62183dcac539a14ed0a820b8392db353d72a7d7e
author Linus Torvalds <torvalds@linux-foundation.org> 1396672063 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1396672063 -0700
mergetag object 62183dcac539a14ed0a820b8392db353d72a7d7e
 type commit
 tag ktest-v3.15
 tagger Steven Rostedt <rostedt@rostedt.homelinux.com> 1396368393 -0400
 
 This just contains a single update by Satoru Takeuchi, which adds
 CLOSE_CONSOLE_SIGNAL to the kvm.conf file, as the kvm guest requires
 a different signal than a normal console uses.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJTOuRXAAoJEKQekfcNnQGuukQH/3x8/rCkDSfn44zdA0srumm6
 1yKfn3QBgspoxi78zypPLiCmSKLMVWpKOfFwyN3jaQSy7/UfoSTLEEPKcKIEdaUe
 2HWMIO2OxToghRfo1WSA899p0MPtw44J7gy6bvLv9qMl8yyNE9KBotEQTT2vJ+ya
 ODMXNhy4lmRvz3jHFLu4Z62PsJ/YQvHzehgb1N62EkwvBwtaCu8CAt1qvN5B9EnO
 wWCYJ+DfdnXwNhA+e7w4hOTxc8thO4bRXFKVs50ST7zMHWNtTxs+WODlmJKQGUUS
 SNeZcwkh/BBdM9MYIQQUpqUQ16lEh7/6fVdFMHpCK2IL32T0wNwpFf3A+ZTnRoo=
 =b4GL
 -----END PGP SIGNATURE-----

Merge tag 'ktest-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest

Pull single ktest fix from Steven Rostedt:
 "This just contains a single update by Satoru Takeuchi, which adds
  CLOSE_CONSOLE_SIGNAL to the kvm.conf file, as the kvm guest requires a
  different signal than a normal console uses"

* tag 'ktest-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
  ktest: Set CLOSE_CONSOLE_SIGNAL in the kvm.conf
