)]}'
{
  "log": [
    {
      "commit": "4f2a8d3cf5e0486fd547633fa86c5d130ae98cad",
      "tree": "4f60a635565fd63473e5c23f45745b3b502a1d52",
      "parents": [
        "0b5e1c5255e7ee8670e077e8224e5c2281229a5b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jun 22 11:20:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 22 11:39:34 2011 +0200"
      },
      "message": "printk: Fix console_sem vs logbuf_lock unlock race\n\nFix up the fallout from commit 0b5e1c5255 (\"printk: Release\nconsole_sem after logbuf_lock\").\n\nThe reason for unlocking the console_sem under the logbuf_lock\nis that a concurrent printk() might fill up the buffer but fail\nto acquire the console sem, resulting in a missed write to the\nconsole until a subsequent console_sem acquire/release cycle.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: efault@gmx.de\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1308734409.1022.14.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b5e1c5255e7ee8670e077e8224e5c2281229a5b",
      "tree": "eb6f967b14d69553e380ab2f13a2dcd8789e865e",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 07 11:15:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 07 12:50:02 2011 +0200"
      },
      "message": "printk: Release console_sem after logbuf_lock\n\nRelease console_sem after unlocking the logbuf_lock so that we don\u0027t\ngenerate wakeups while holding logbuf_lock. This avoids some lock\ninversion troubles once we remove the lockdep_off bits between\nlogbuf_lock and rq-\u003elock (prints while holding rq-\u003elock vs doing\nwakeups while holding logbuf_lock).\n\nThere\u0027s of course still an actual deadlock where the printk()s under\nrq-\u003elock will issue a wakeup from the up() call, but lockdep won\u0027t\nwarn about that since semaphores are not tracked.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-j8swthl12u73h4znbvitljzd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "162a7e7500f9664636e649ba59defe541b7c2c60",
      "tree": "f44d4e480975d7f2c4bd4fd8625dbdb81eb04ade",
      "parents": [
        "95dde501907b06e7203c74f8435acfdab9eb2659"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue May 24 17:13:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:48 2011 -0700"
      },
      "message": "printk: allocate kernel log buffer earlier\n\nOn larger systems, because of the numerous ACPI, Bootmem and EFI messages,\nthe static log buffer overflows before the larger one specified by the\nlog_buf_len param is allocated.  Minimize the overflow by allocating the\nnew log buffer as soon as possible.\n\nOn kernels without memblock, a later call to setup_log_buf from\nkernel/init.c is the fallback.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_PRINTK\u003dn build]\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af5bcb8d37f99ba415a1adc6da71051b84f93a5",
      "tree": "58ae14d126ef40cbc5a91538cfe04433d26510ae",
      "parents": [
        "9f36e2c448007b54851e7e4fa48da97d1477a175"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Mar 22 16:34:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:13 2011 -0700"
      },
      "message": "printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig\n\nWe\u0027ve been burned by regressions/bugs which we later realized could have\nbeen triaged quicker if only we\u0027d paid closer attention to dmesg.  To make\nit easier to audit dmesg, we\u0027d like to make DEFAULT_MESSAGE_LEVEL\nKconfig-settable.  That way we can set it to KERN_NOTICE and audit any\nmessages \u003c\u003d KERN_WARNING.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe3d8ad31cf51b062bbb8a9609eeb1d0c41a7f30",
      "tree": "f0e0f85582a695d0da7bae97897835ee51a0ab09",
      "parents": [
        "7bf693951a8e5f7e600a45b74d91d962a453146e"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Mar 22 16:34:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "console: prevent registered consoles from dumping old kernel message over again\n\nFor a platform with many consoles like:\n \"console\u003dtty1 console\u003dttyMFD2 console\u003dttyS0 earlyprintk\u003dmrst\"\n\nEach time when the non \"selected_console\" (tty1 and ttyMFD2 here) get\nregistered, the existing kernel message will be printed out on registered\nconsoles again, the \"mrst\" early console will get some same message for 3\ntimes, and \"tty1\" will get some for twice.\n\nAs suggested by Andrew Morton, every time a new console is registered, it\nwill be set as the \"exclusive\" console which will dump the already\nexisting kernel messages.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bf693951a8e5f7e600a45b74d91d962a453146e",
      "tree": "d322e17d0d6b445d8332e210e01d3cce7ddfe5ca",
      "parents": [
        "26297607e09ca6c7e6f2a6b86a8bee2f23503bb8"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fdinitto@redhat.com",
        "time": "Tue Mar 22 16:34:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "console: allow to retain boot console via boot option keep_bootcon\n\nOn some architectures, the boot process involves de-registering the boot\nconsole (early boot), initialize drivers and then re-register the console.\n\nThis mechanism introduces a window in which no printk can happen on the\nconsole and messages are buffered and then printed once the new console is\navailable.\n\nIf a kernel crashes during this window, all it\u0027s left on the boot console\nis \"console [foo] enabled, bootconsole disabled\" making debug of the crash\nrather \u0027interesting\u0027.\n\nBy adding \"keep_bootcon\" option, do not unregister the boot console, that\nwill allow to printk everything that is happening up to the crash.\n\nThe option is clearly meant only for debugging purposes as it introduces\nlots of duplicated info printed on console, but will make bug report from\nusers easier as it doesn\u0027t require a kernel build just to figure out where\nwe crash.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@fabbione.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
      "tree": "475bfb1163c59d1370fd77415255afba768f9520",
      "parents": [
        "971f115a50afbe409825c9f3399d5a3b9aca4381",
        "9d90c8d9cde929cbc575098e825d7c29d9f45054"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)\n  printk: do not mangle valid userspace syslog prefixes\n  efivars: Add Documentation\n  efivars: Expose efivars functionality to external drivers.\n  efivars: Parameterize operations.\n  efivars: Split out variable registration\n  efivars: parameterize efivars\n  efivars: Make efivars bin_attributes dynamic\n  efivars: move efivars globals into struct efivars\n  drivers:misc: ti-st: fix debugging code\n  kref: Fix typo in kref documentation\n  UIO: add PRUSS UIO driver support\n  Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches\n  firmware: Fix unaligned memory accesses in dmi-sysfs\n  firmware: Add documentation for /sys/firmware/dmi\n  firmware: Expose DMI type 15 System Event Log\n  firmware: Break out system_event_log in dmi-sysfs\n  firmware: Basic dmi-sysfs support\n  firmware: Add DMI entry types to the headers\n  Driver core: convert platform_{get,set}_drvdata to static inline functions\n  Translate linux-2.6/Documentation/magic-number.txt into Chinese\n  ...\n"
    },
    {
      "commit": "9d90c8d9cde929cbc575098e825d7c29d9f45054",
      "tree": "49cd83812a9cbbb40cb0c6b73b13455cad0029ea",
      "parents": [
        "54fad532b29aa9145f12a83f4f82820c2f23b4e2"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Mar 13 03:19:51 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 14 08:49:16 2011 -0700"
      },
      "message": "printk: do not mangle valid userspace syslog prefixes\n\nprintk: do not mangle valid userspace syslog prefixes with /dev/kmsg\n\nLog messages passed to the kernel log by using /dev/kmsg or /dev/ttyprintk\nmight contain a syslog prefix including the syslog facility value.\n\nThis makes printk to recognize these headers properly, extract the real log\nlevel from it to use, and add the prefix as a proper prefix to the\nlog buffer, instead of wrongly printing it as the log message text.\n\nBefore:\n  $ echo \u0027\u003c14\u003etext\u0027 \u003e /dev/kmsg\n  $ dmesg -r\n  \u003c4\u003e[135159.594810] \u003c14\u003etext\n\nAfter:\n  $ echo \u0027\u003c14\u003etext\u0027 \u003e /dev/kmsg\n  $ dmesg -r\n  \u003c14\u003e[   50.750654] text\n\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ee24aebffb75a7f940cf52c8cf6910947b3130c0",
      "tree": "ed1eafa8b1a30b078c9fa680aafbb49632921a0d",
      "parents": [
        "67d019528e5c2693145217cf18a507689980d2a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "message": "cap_syslog: accept CAP_SYS_ADMIN for now\n\nIn commit ce6ada35bdf7 (\"security: Define CAP_SYSLOG\") Serge Hallyn\nintroduced CAP_SYSLOG, but broke backwards compatibility by no longer\naccepting CAP_SYS_ADMIN as an override (it would cause a warning and\nthen reject the operation).\n\nRe-instate CAP_SYS_ADMIN - but keeping the warning - as an acceptable\ncapability until any legacy applications have been updated.  There are\napparently applications out there that drop all capabilities except for\nCAP_SYS_ADMIN in order to access the syslog.\n\n(This is a re-implementation of a patch by Serge, cleaning the logic up\nand making the code more readable)\n\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb842b00c5eab66ec361b31550aa8a922745ce9e",
      "tree": "cef7e6a0bd01849fcfc911f36293304f9ba7b3c2",
      "parents": [
        "f0f2c2b5b40b5e621a47a6a274117cce77841f1e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 16:59:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:09 2011 -0800"
      },
      "message": "printk: use RCU to prevent potential lock contention in kmsg_dump\n\ndump_list_lock is used to protect dump_list in kmsg_dumper implementation,\nkmsg_dump() uses it to traverse dump_list too.  But if there is contention\non the lock, kmsg_dump() will fail, and the valuable kernel message may be\nlost.\n\nThis patch solves this issue with RCU.  Because kmsg_dump() only read the\nlist, no lock is needed in kmsg_dump().  So that kmsg_dump() will never\nfail because of lock contention.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c6862c055fb687c90d9652f32c11a063df15cf",
      "tree": "b381c4c2005118f05ce8d2f3d363b73807c0eddf",
      "parents": [
        "fc2d557c74dc58294b9acc7231a2113ae59af97c"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Jan 12 16:59:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:07 2011 -0800"
      },
      "message": "kmsg_dump: add kmsg_dump() calls to the reboot, halt, poweroff and emergency_restart paths\n\nWe need to know the reason why system rebooted in support service.\nHowever, we can\u0027t inform our customers of the reason because final\nmessages are lost on current Linux kernel.\n\nThis patch improves the situation above because the final messages are\nsaved by adding kmsg_dump() to reboot, halt, poweroff and\nemergency_restart path.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nReviewed-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2e7ad19229f982fc1eb731827d82ceac90abfb3",
      "tree": "98a3741b4d4b27a48b3c7ea9babe331e539416a8",
      "parents": [
        "d03a5d888fb688c832d470b749acc5ed38e0bc1d",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/smack/smack_lsm.c\n\nVerified and added fix by Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nOk\u0027d by Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "fbc92a3455577ab17615cbcb91826399061bd789",
      "tree": "0f47703d9d3b40969e007a6d27a1b603cdff43da",
      "parents": [
        "35c64e5d13c3d7d8c4ad061ad5e20498b9160c24"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 01 18:51:05 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 16 16:15:34 2010 -0800"
      },
      "message": "tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\ntty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\nUserspace can query the actual virtual console, and the configured\nconsole devices behind /dev/tt0 and /dev/console.\n\nThe last entry in the list of devices is the active device, analog\nto the console\u003d kernel command line option.\n\nThe attribute supports poll(), which is raised when the virtual\nconsole is changed or /dev/console is reconfigured.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nindex 0000000..b138b66\n"
    },
    {
      "commit": "38ef4c2e437d11b5922723504b62824e96761459",
      "tree": "ccec1f38348af3c2776fc5bc0b589e14504f4b33",
      "parents": [
        "5c6d1125f8dbd1bfef39e38fbc2837003be78a59"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Dec 08 15:19:01 2010 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 09 09:48:48 2010 +1100"
      },
      "message": "syslog: check cap_syslog when dmesg_restrict\n\nEric Paris pointed out that it doesn\u0027t make sense to require\nboth CAP_SYS_ADMIN and CAP_SYSLOG for certain syslog actions.\nSo require CAP_SYSLOG, not CAP_SYS_ADMIN, when dmesg_restrict\nis set.\n\n(I\u0027m also consolidating the now common error path)\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
      "tree": "88ae143dab98b902b7ec94220160560463c063f9",
      "parents": [
        "806c09a7db457be3758e14b1f152761135d89af5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 26 17:22:16 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:01 2010 +0100"
      },
      "message": "printk: Use this_cpu_{read|write} api on printk_pending\n\n__get_cpu_var() is a bit inefficient, lets use __this_cpu_read() and\n__this_cpu_write() to manipulate printk_pending.\n\nprintk_needs_cpu(cpu) is called only for the current cpu :\nUse faster __this_cpu_read().\n\nRemove the redundant unlikely on (cpu_is_offline(cpu)) test:\n\n # size kernel/printk.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   9942\t    756\t 263488\t 274186\t  42f0a\tkernel/printk.o.new\n   9990\t    756\t 263488\t 274234\t  42f3a\tkernel/printk.o.old\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290788536.2855.237.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce6ada35bdf710d16582cc4869c26722547e6f11",
      "tree": "c2b5fd46c883f4b7285b191bac55940022662b43",
      "parents": [
        "1d6d75684d869406e5bb2ac5d3ed9454f52d0cab"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Thu Nov 25 17:11:32 2010 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Nov 29 08:35:12 2010 +1100"
      },
      "message": "security: Define CAP_SYSLOG\n\nPrivileged syslog operations currently require CAP_SYS_ADMIN.  Split\nthis off into a new CAP_SYSLOG privilege which we can sanely take away\nfrom a container through the capability bounding set.\n\nWith this patch, an lxc container can be prevented from messing with\nthe host\u0027s syslog (i.e. dmesg -c).\n\nChangelog: mar 12 2010: add selinux capability2:cap_syslog perm\nChangelog: nov 22 2010:\n\t. port to new kernel\n\t. add a WARN_ONCE if userspace isn\u0027t using CAP_SYSLOG\n\nSigned-off-by: Serge Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-By: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: \"Christopher J. PeBenito\" \u003ccpebenito@tresys.com\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "61ab25447ad6334a74e32f60efb135a3467223f8",
      "tree": "f0cda4931a7ba79609b3b1b4c2e0fda31851e14b",
      "parents": [
        "49f4138346b3cec2706adff02658fe27ceb1e46f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:00:59 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:12 2010 +0100"
      },
      "message": "nohz: Fix printk_needs_cpu() return value on offline cpus\n\nThis patch fixes a hang observed with 2.6.32 kernels where timers got enqueued\non offline cpus.\n\nprintk_needs_cpu() may return 1 if called on offline cpus. When a cpu gets\nofflined it schedules the idle process which, before killing its own cpu, will\ncall tick_nohz_stop_sched_tick(). That function in turn will call\nprintk_needs_cpu() in order to check if the local tick can be disabled. On\noffline cpus this function should naturally return 0 since regardless if the\ntick gets disabled or not the cpu will be dead short after. That is besides the\nfact that __cpu_disable() should already have made sure that no interrupts on\nthe offlined cpu will be delivered anyway.\n\nIn this case it prevents tick_nohz_stop_sched_tick() to call\nselect_nohz_load_balancer(). No idea if that really is a problem. However what\nmade me debug this is that on 2.6.32 the function get_nohz_load_balancer() is\nused within __mod_timer() to select a cpu on which a timer gets enqueued. If\nprintk_needs_cpu() returns 1 then the nohz_load_balancer cpu doesn\u0027t get\nupdated when a cpu gets offlined. It may contain the cpu number of an offline\ncpu. In turn timers get enqueued on an offline cpu and not very surprisingly\nthey never expire and cause system hangs.\n\nThis has been observed 2.6.32 kernels. On current kernels __mod_timer() uses\nget_nohz_timer_target() which doesn\u0027t have that problem. However there might be\nother problems because of the too early exit tick_nohz_stop_sched_tick() in\ncase a cpu goes offline.\n\nEasiest way to fix this is just to test if the current cpu is offline and call\nprintk_tick() directly which clears the condition.\n\nAlternatively I tried a cpu hotplug notifier which would clear the condition,\nhowever between calling the notifier function and printk_needs_cpu() something\ncould have called printk() again and the problem is back again. This seems to\nbe the safest fix.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20101126120235.406766476@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49f4138346b3cec2706adff02658fe27ceb1e46f",
      "tree": "20259bf8196685766e8b4d3ae761102a0f635913",
      "parents": [
        "d5ad140bc1505a98c0f040937125bfcbb508078f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:42:47 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:11 2010 +0100"
      },
      "message": "printk: Fix wake_up_klogd() vs cpu hotplug\n\nwake_up_klogd() may get called from preemptible context but uses\n__raw_get_cpu_var() to write to a per cpu variable. If it gets preempted\nbetween getting the address and writing to it, the cpu in question could be\noffline if the process gets scheduled back and hence writes to the per cpu data\nof an offline cpu.\n\nThis buggy behaviour was introduced with fa33507a \"printk: robustify\nprintk, fix #2\" which was supposed to fix a \"using smp_processor_id() in\npreemptible\" warning.\n\nLet\u0027s use this_cpu_write() instead which disables preemption and makes sure\nthat the outlined scenario cannot happen.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101126124247.GC7023@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a75d946f42ae1771424a9582129fc5182ff48a1b",
      "tree": "118c2d23427c507a29bd46b6a046035d62005ecb",
      "parents": [
        "2adc2917ce4bfb482a6e3c05ff543cef151c9830"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Nov 04 16:20:20 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 16 12:50:17 2010 -0800"
      },
      "message": "console: move for_each_console to linux/console.h\n\nMove it out of printk.c so that we can use it all over the code. There\nare some potential users which will be converted to that macro in next\npatches.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "12b3052c3ee8f508b2c7ee4ddd63ed03423409d8",
      "tree": "b97d0f209f363cfad94ce9d075312274e349da89",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 15 18:36:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 15:40:01 2010 -0800"
      },
      "message": "capabilities/syslog: open code cap_syslog logic to fix build failure\n\nThe addition of CONFIG_SECURITY_DMESG_RESTRICT resulted in a build\nfailure when CONFIG_PRINTK\u003dn.  This is because the capabilities code\nwhich used the new option was built even though the variable in question\ndidn\u0027t exist.\n\nThe patch here fixes this by moving the capabilities checks out of the\nLSM and into the caller.  All (known) LSMs should have been calling the\ncapabilities hook already so it actually makes the code organization\nbetter to eliminate the hook altogether.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaf06b241b091357e72b76863ba16e89610d31bd",
      "tree": "83bc8667309050b3538630707513574c14c51f37",
      "parents": [
        "203f40a5a030ed4048cd40e3bd9ab5df6c5df589"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Thu Nov 11 14:05:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "Restrict unprivileged access to kernel syslog\n\nThe kernel syslog contains debugging information that is often useful\nduring exploitation of other vulnerabilities, such as kernel heap\naddresses.  Rather than futilely attempt to sanitize hundreds (or\nthousands) of printk statements and simultaneously cripple useful\ndebugging functionality, it is far simpler to create an option that\nprevents unprivileged users from reading the syslog.\n\nThis patch, loosely based on grsecurity\u0027s GRKERNSEC_DMESG, creates the\ndmesg_restrict sysctl.  When set to \"0\", the default, no restrictions are\nenforced.  When set to \"1\", only users with CAP_SYS_ADMIN can read the\nkernel syslog via dmesg(8) or other mechanisms.\n\n[akpm@linux-foundation.org: explain the config option in kernel.txt]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "674dff6507d3f9b110219ea125cf5e1213c9acef",
      "tree": "ce1799340d42aa814e6b4d4311c6bcf6ff2c5f5c",
      "parents": [
        "8155c02a44a95562e1ae0999360eb31288d7195a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: change type of \u0027boot_delay\u0027 to int *\n\nget_option() takes its 2nd arg as int * so passing boot_delay to it\ncaused following warnings from sparse:\n\n kernel/printk.c:223:27: warning: incorrect type in argument 2 (different signedness)\n kernel/printk.c:223:27:    expected int *pint\n kernel/printk.c:223:27:    got unsigned int static [toplevel] *\u003cnoident\u003e\n\nSince boot_delay can\u0027t grow more than 10,000 changing it to \u0027int *\u0027\nwill not produce any problem.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8155c02a44a95562e1ae0999360eb31288d7195a",
      "tree": "65a5d03b8ce866b149d50f9a9d6b798fbeae715b",
      "parents": [
        "6c095efd82e8f6a98515426a733110f91cf0a709"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: add lock context annotation\n\nacquire_console_semaphore_for_printk() releases logbuf_lock but\nwas missing proper annotation. Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c095efd82e8f6a98515426a733110f91cf0a709",
      "tree": "32352a70fff2b51c6f948df514c80e2dd0cb053d",
      "parents": [
        "5f2365d8c24aec8dbedf49c69b7601c7cfaee2c1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: fixup declaration of kmsg_reasons\n\nMove redundant \u0027const\u0027 after \u0027*\u0027 to make pointer itself const\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b8c4f23c54edda640a4850bc9b81dee70acb525",
      "tree": "a09362e849e00625e2a37520e3f81a5ace00dee4",
      "parents": [
        "8192b1f6b1a46b33213b993471356495a93ffc70"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 07 14:33:43 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 17:36:10 2010 +0200"
      },
      "message": "printk: Make console_sem a semaphore not a pseudo mutex\n\nIt needs to be investigated whether it can be replaced by a real\nmutex, but that needs more thought.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nLKML-Reference: \u003c20100907125057.179587334@linutronix.de\u003e\n\n"
    },
    {
      "commit": "8c4af38e9b2c2a78369c4e2e5706fe539ac64eb2",
      "tree": "17671814cc7afb4e5eaafad32f0ed0c428764515",
      "parents": [
        "547415d5edf8660aee040dc81d8c71b081a59bda"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Aug 09 17:20:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:06 2010 -0700"
      },
      "message": "gcc-4.6: printk: use stable variable to dump kmsg buffer\n\nkmsg_dump takes care to sample the global variables\ninside a spinlock, but then goes on to use the same\nvariables outside the spinlock region too.\n\nUse the correct variable. This will make the race\nwindow smaller.\n\nFound by gcc 4.6\u0027s new warnings.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "034260d6779087431a8b2f67589c68b919299e5c",
      "tree": "9d9f1def96651ae098c87687a640079ddd2aafd4",
      "parents": [
        "d745866e4d8c0675bab90868b5e4a8fcd053eff2"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Thu Jun 03 22:11:25 2010 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Aug 05 13:25:59 2010 +0100"
      },
      "message": "printk: fix delayed messages from CPU hotplug events\n\nWhen a secondary CPU is being brought up, it is not uncommon for\nprintk() to be invoked when cpu_online(smp_processor_id()) \u003d\u003d 0.  The\ncase that I witnessed personally was on MIPS:\n\nhttp://lkml.org/lkml/2010/5/30/4\n\nIf (can_use_console() \u003d\u003d 0), printk() will spool its output to log_buf\nand it will be visible in \"dmesg\", but that output will NOT be echoed to\nthe console until somebody calls release_console_sem() from a CPU that\nis online.  Therefore, the boot time messages from the new CPU can get\nstuck in \"limbo\" for a long time, and might suddenly appear on the\nscreen when a completely unrelated event (e.g. \"eth0: link is down\")\noccurs.\n\nThis patch modifies the console code so that any pending messages are\nautomatically flushed out to the console whenever a CPU hotplug\noperation completes successfully or aborts.\n\nThe issue was seen on 2.6.34.\n\nOriginal patch by Kevin Cernekee with cleanups by akpm and additional fixes\nby Santosh Shilimkar.  This patch superseeds\nhttps://patchwork.linux-mips.org/patch/1357/.\n\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nTo: \u003cmingo@elte.hu\u003e\nTo: \u003cakpm@linux-foundation.org\u003e\nTo: \u003csimon.kagstrom@netinsight.net\u003e\nTo: \u003cDavid.Woodhouse@intel.com\u003e\nTo: \u003clethal@linux-sh.org\u003e\nCc: \u003clinux-kernel@vger.kernel.org\u003e\nCc: \u003clinux-mips@linux-mips.org\u003e\nReviewed-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/1534/\nLKML-Reference: \u003cede63b5a20af951c755736f035d1e787772d7c28@localhost\u003e\nLKML-Reference: \u003cEAF47CD23C76F840A9E7FCE10091EFAB02C5DB6D1F@dbde02.ent.ti.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d37d39ae3b4a8f9a21114921fb344fe7cadb1abd",
      "tree": "2c20219725a12c343429758ec378b5c9d08b04bd",
      "parents": [
        "efe2f29e324fd20e0449bcd6dc6dbe4734c2ba94"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:27 2010 -0500"
      },
      "message": "printk,kdb: capture printk() when in kdb shell\n\nCertain calls from the kdb shell will call out to printk(), and any of\nthese calls should get vectored back to the kdb_printf() so that the\nkdb pager and processing can be used, as well as to properly channel\nI/O to the polled I/O devices.\n\nCC: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67fc4e0cb931d6b4ccf21248e4199b154478ecea",
      "tree": "4cf49d00bc9ac03c3c77d91fadd13fcabc75e0c9",
      "parents": [
        "5d5314d6795f3c1c0f415348ff8c51f7de042b77"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu May 20 21:04:21 2010 -0500"
      },
      "message": "kdb: core for kgdb back end (2 of 2)\n\nThis patch contains the hooks and instrumentation into kernel which\nlive outside the kernel/debug directory, which the kdb core\nwill call to run commands like lsmod, dmesg, bt etc...\n\nCC: linux-arch@vger.kernel.org\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "cea83886dde49fd7524e9f4a246dd5dff4ad236a",
      "tree": "972db619ba8ae866a858744708a454f088182e75",
      "parents": [
        "5ef097dd7ba4eab8b4f0026d85fcef9fe23b821f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Mar 05 13:42:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "printk: avoid warning when CONFIG_PRINTK is disabled\n\nkernel/printk.c:72: warning: `saved_console_loglevel\u0027 defined but not used\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4ccebdd37ff70d349321a198f416ba737a5e833",
      "tree": "275d717070346722c3aacd8355fb4f743216e03b",
      "parents": [
        "30ff056c42c665b9ea535d8515890857ae382540",
        "ef57471a73b67a7b65fd8708fd55c77cb7c619af"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 01 09:36:31 2010 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 01 09:36:31 2010 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "d78ca3cd733d8a2c3dcd88471beb1a15d973eed8",
      "tree": "a27ccf86f5f7df3cc987d0203ed0bff2db46db57",
      "parents": [
        "002345925e6c45861f60db6f4fc6236713fd8847"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:37:13 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:41 2010 +1100"
      },
      "message": "syslog: use defined constants instead of raw numbers\n\nRight now the syslog \"type\" action are just raw numbers which makes\nthe source difficult to follow.  This patch replaces the raw numbers\nwith defined constants for some level of sanity.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "002345925e6c45861f60db6f4fc6236713fd8847",
      "tree": "d7849eafe1755116597166bbebf43e2bee86cb76",
      "parents": [
        "0719aaf5ead7555b7b7a4a080ebf2826a871384e"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:12 2010 +1100"
      },
      "message": "syslog: distinguish between /proc/kmsg and syscalls\n\nThis allows the LSM to distinguish between syslog functions originating\nfrom /proc/kmsg access and direct syscalls.  By default, the commoncaps\nwill now no longer require CAP_SYS_ADMIN to read an opened /proc/kmsg\nfile descriptor.  For example the kernel syslog reader can now drop\nprivileges after opening /proc/kmsg, instead of staying privileged with\nCAP_SYS_ADMIN.  MAC systems that implement security_syslog have unchanged\nbehavior.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b8be634e01b400fa2528848ad0cd6a5580a15bc4",
      "tree": "f36da264249540727a60e13a54d1d44c8821b48d",
      "parents": [
        "298a4c3a57fed38df365a6807728d1930a72c728",
        "f5e2bae0aad03164ffc7ce9dfeee6608e2c87dba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 24 10:31:34 2010 -0800"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/mtd-2.6.33\n\n* git://git.infradead.org/~dwmw2/mtd-2.6.33:\n  mtd: tests: fix read, speed and stress tests on NOR flash\n  mtd: Really add ARM pismo support\n  kmsg_dump: Dump on crash_kexec as well\n"
    },
    {
      "commit": "0f4bd46ec252887f44f1f065b41867cac8f70dfb",
      "tree": "daa176e9f9e1f5e9ba8c5476b5333142f31aa062",
      "parents": [
        "60d9aa758c00f20ade0cb1951f6a934f628dd2d7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Dec 22 03:15:43 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Dec 31 19:45:04 2009 +0000"
      },
      "message": "kmsg_dump: Dump on crash_kexec as well\n\ncrash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if\npanic_on_oops is set, so the kernel log buffer is not stored\nfor this case.\n\nThis patch adds a KMSG_DUMP_KEXEC dump type which gets called\nwhen crash_kexec() is invoked. To avoid getting double dumps,\nthe old KMSG_DUMP_PANIC is moved below crash_kexec(). The\nmtdoops driver is modified to handle KMSG_DUMP_KEXEC in the\nsame way as a panic.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6485536bcf499839a54dcda8a8d47ea0bd29b375",
      "tree": "86c94469801a264a964399ebbd4c57877eb18ff3",
      "parents": [
        "65a80b4c61f5b5f6eb0f5669c8fb120893bfb388"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Dec 17 15:27:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:32 2009 -0800"
      },
      "message": "printk: fix new kernel-doc warnings\n\nFix kernel-doc warnings in printk.c:\n\nWarning(kernel/printk.c:1422): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1422): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_register\u0027\nWarning(kernel/printk.c:1451): No description found for parameter \u0027dumper\u0027\nWarning(kernel/printk.c:1451): Excess function parameter \u0027dump\u0027 description in \u0027kmsg_dump_unregister\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60d9aa758c00f20ade0cb1951f6a934f628dd2d7",
      "tree": "e3bdfa4ec0d3f9a29a822810b8b9188c7d613cbd",
      "parents": [
        "b2adf0cbec4cf0934c63f48f893e0cebde380d0c",
        "2e16cfca6e17ae37ae21feca080a6f2eca9087dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (90 commits)\n  jffs2: Fix long-standing bug with symlink garbage collection.\n  mtd: OneNAND: Fix test of unsigned in onenand_otp_walk()\n  mtd: cfi_cmdset_0002, fix lock imbalance\n  Revert \"mtd: move mxcnd_remove to .exit.text\"\n  mtd: m25p80: add support for Macronix MX25L4005A\n  kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n  mtd: nandsim: add support for 4KiB pages\n  mtd: mtdoops: refactor as a kmsg_dumper\n  mtd: mtdoops: make record size configurable\n  mtd: mtdoops: limit the maximum mtd partition size\n  mtd: mtdoops: keep track of used/unused pages in an array\n  mtd: mtdoops: several minor cleanups\n  core: Add kernel message dumper to call on oopses and panics\n  mtd: add ARM pismo support\n  mtd: pxa3xx_nand: Fix PIO data transfer\n  mtd: nand: fix multi-chip suspend problem\n  mtd: add support for switching old SST chips into QRY mode\n  mtd: fix M29W800D dev_id and uaddr\n  mtd: don\u0027t use PF_MEMALLOC\n  mtd: Add bad block table overrides to Davinci NAND driver\n  ...\n\nFixed up conflicts (mostly trivial) in\n\tdrivers/mtd/devices/m25p80.c\n\tdrivers/mtd/maps/pcmciamtd.c\n\tdrivers/mtd/nand/pxa3xx_nand.c\n\tkernel/printk.c\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "595dd3d8bf953254d8d2f30f99c54fe09c470040",
      "tree": "f7a1d6c8ccb2e32f4fdf7e04a6a6ba8cfe0acc0c",
      "parents": [
        "75352662c54421b48ed58200565395b123952748"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Dec 01 10:52:02 2009 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Dec 02 08:44:33 2009 +0000"
      },
      "message": "kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n\nkmsg_dump() fails to build when CONFIG_PRINTK\u003dn; provide stubs\nfor the kmsg_dump*() functions when CONFIG_PRINTK\u003dn.\n\nkernel/printk.c: In function \u0027kmsg_dump\u0027:\nkernel/printk.c:1501: error: \u0027log_buf_len\u0027 undeclared (first use in this function)\nkernel/printk.c:1502: error: \u0027logged_chars\u0027 undeclared (first use in this function)\nkernel/printk.c:1506: error: \u0027log_buf\u0027 undeclared (first use in this function)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "456b565cc52fbcdaa2e19ffdf40d9dd3b726d603",
      "tree": "c73029f31756289ed54183e97e0613f87cef6ed5",
      "parents": [
        "7cb777a3d71f9d1f7eb149c7a504d21f24219ae8"
      ],
      "author": {
        "name": "Simon Kagstrom",
        "email": "simon.kagstrom@netinsight.net",
        "time": "Fri Oct 16 14:09:18 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 12:01:49 2009 +0000"
      },
      "message": "core: Add kernel message dumper to call on oopses and panics\n\nThe core functionality is implemented as per Linus suggestion from\n\n  http://lists.infradead.org/pipermail/linux-mtd/2009-October/027620.html\n\n(with the kmsg_dump implementation by Linus). A struct kmsg_dumper has\nbeen added which contains a callback to dump the kernel log buffers on\ncrashes. The kmsg_dump function gets called from oops_exit() and panic()\nand invokes this callbacks with the crash reason.\n\n[dwmw2: Fix log_end handling]\nSigned-off-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nReviewed-by: Anders Grafstrom \u003canders.grafstrom@netinsight.net\u003e\nReviewed-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5c828713358cb9df8aa174371edcbbb62203a490",
      "tree": "c8aeafba911cb428b5dc46a9e252c337b7c51d17",
      "parents": [
        "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Oct 23 14:58:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 17:26:37 2009 +0200"
      },
      "message": "ratelimit: Make suppressed output messages more useful\n\nToday I got:\n\n  [39648.224782] Registered led device: iwl-phy0::TX\n  [40676.545099] __ratelimit: 246 callbacks suppressed\n  [40676.545103] abcdef[23675]: segfault at 0 ...\n\nas you can see the ratelimit message contains a function prefix.\nSince this is always __ratelimit, this wont help much.\n\nThis patch changes __ratelimit and printk_ratelimit to print the\nfunction name that calls ratelimit.\n\nThis will pinpoint the responsible function, as long as not several\ndifferent places call ratelimit with the same ratelimit state at\nthe same time. In that case we catch only one random function that\ncalls ratelimit after the wait period.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c200910231458.11832.borntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af91322ef3f29ae4114e736e2a72e28b4d619cf9",
      "tree": "debba08531c7dd78b90b5d8f2c03f6bf7c9e7877",
      "parents": [
        "3a3b6ed2235f2f619889dd6096e24b6d93bf3339"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk: add printk_delay to make messages readable for some scenarios\n\nWhen syslog is not possible, at the same time there\u0027s no serial/net\nconsole available, it will be hard to read the printk messages.  For\nexample oops/panic/warning messages in shutdown phase.\n\nAdd a printk delay feature, we can make each printk message delay some\nmilliseconds.\n\nSetting the delay by proc/sysctl interface: /proc/sys/kernel/printk_delay\n\nThe value range from 0 - 10000, default value is 0\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a3b6ed2235f2f619889dd6096e24b6d93bf3339",
      "tree": "f187d60c22a00a5aeea9df9483ae0182d265704f",
      "parents": [
        "5ae87e79ecb5baa65e9cf48be874098fafad0668"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk boot_delay: rename printk_delay_msec to loops_per_msec\n\nRename `printk_delay_msec\u0027 to `loops_per_msec\u0027, because the patch \"printk:\nadd printk_delay to make messages readable for some scenarios\" wishes to\nmore appropriately use the `printk_delay_msec\u0027 identifier.\n\n[akpm@linux-foundation.org: add a comment]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5",
      "tree": "67c476b8aa52a2f5d17dc9b94da360e10d373bd5",
      "parents": [
        "edaac8e3167501cda336231d00611bf59c164346"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 16:18:09 2009 +0200"
      },
      "message": "printk: Remove ratelimit.h from kernel.h\n\nDecouple kernel.h from ratelimit.h: the global declaration of\nprintk\u0027s ratelimit_state is not needed, and it leads to messy\ncircular dependencies due to ratelimit.h\u0027s (new) adding of a\nspinlock_types.h include.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "353f6dd2dec992ddd34620a94b051b0f76227379",
      "tree": "38f48b57f8f0f1bb05983ec32205fac9b8bab14c",
      "parents": [
        "bb193c986a7104f718c1b92709e1e6e22ac3f864"
      ],
      "author": {
        "name": "Anirban Sinha",
        "email": "asinha@zeugmasystems.com",
        "time": "Mon Sep 14 11:13:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:41:42 2009 -0700"
      },
      "message": "cleanup console_print()\n\nconsole_print() is an old legacy interface mostly unused in the entire\nkernel tree. It\u0027s best to clean up its existing use and let developers\nuse their own implementation of it as they feel fit.\n\nSigned-off-by: Anirban Sinha \u003casinha@zeugmasystems.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42c2c8c854a716b05882a122632ddcd6dbe108f1",
      "tree": "982192ec05b5be92a33f52c6e145cfafcdb43395",
      "parents": [
        "1aaad49e856ce41adc07d8ae0c8ef35fc4483245"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "Sonic.Zhang@analog.com",
        "time": "Thu Aug 06 15:58:11 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 18:27:37 2009 +0200"
      },
      "message": "printk: Fix \"printk: Enable the use of more than one CON_BOOT (early console)\"\n\nDon\u0027t return when we find the first bootconsole - it can leave\nother bootconsoles still installed, and they can be used and\ncause problems later (if they are in the init section, and\neventually released), and cause problems.  Make sure we remove\nall of them.\n\nSigned-off-by: Sonic Zhang \u003cSonic.Zhang@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1aaad49e856ce41adc07d8ae0c8ef35fc4483245",
      "tree": "0f5b0ef305ad1b2c79132729d44ffbad72a84b84",
      "parents": [
        "8259cf4342029aad37660e524178c8858f48b0ab"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Mon Jul 06 13:31:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 16:02:23 2009 +0200"
      },
      "message": "printk: Restore previous console_loglevel when re-enabling logging\n\nWhen logging to console is disabled from userspace using klogctl()\nand later re-enabled, console_loglevel gets set to the default\nlog level instead to the previous value.\n\nThis means that if the kernel was booted with \u0027quiet\u0027, the boot is\nsuddenly no longer quiet after logging to console gets re-enabled.\n\nSave the current console_loglevel when logging is disabled and\nrestore to that value. If the log level is set to a specific value\nwhile disabled, this is interpreted as an implicit re-enabling of\nthe logging.\n\nThe problem that prompted this patch is described in:\n\n    http://lkml.org/lkml/2009/6/28/234\n\nThere are two variations possible on the patch below:\n\n 1) If klogctl(7) is called while logging is not disabled, then set level\n    to default (partially preserving current functionality):\n  \tcase 7:\t\t/* Enable logging to console */\n -\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d default_console_loglevel;\n +\t\telse {\n +\t\t\tconsole_loglevel \u003d saved_console_loglevel;\n +\t\t\tsaved_console_loglevel \u003d -1;\n +\t\t}\n\n 2) If klogctl(8) is called while logging is disabled, then don\u0027t enable\n    logging, but remember the requested value for when logging does get\n    enabled again:\n  \tcase 8:\t\t/* Set level of messages printed to console */\n [...]\n - \t\tconsole_loglevel \u003d len;\n +\t\tif (saved_console_loglevel \u003d\u003d -1)\n +\t\t\tconsole_loglevel \u003d len;\n +\t\telse\n +\t\t\tsaved_console_loglevel \u003d len;\n\nYet another option would be to ignore the request.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nCc: cryptsetup@packages.debian.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907061331.49930.elendil@planet.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8259cf4342029aad37660e524178c8858f48b0ab",
      "tree": "c0f7f931c6daca79a941dcab142cf49059a8722f",
      "parents": [
        "4d09161196c9a836eacea4b36e2f217bc34894cf"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Thu Jul 09 13:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 12:24:47 2009 +0200"
      },
      "message": "printk: Ensure that \"console enabled\" messages are printed on the console\n\nToday, when a console is registered without CON_PRINTBUFFER,\nend users never see the announcement of it being added, and\nnever know if they missed something, if the console is really\nat the start or not, and just leads to general confusion.\n\nThis re-orders existing code, to make sure the console is\nadded, before the \"console [%s%d] enabled\" is printed out -\nensuring that this message is _always_ seen.\n\nThis has the desired/intended side effect of making sure that\n\"console enabled:\" messages are printed on the bootconsole, and\nthe real console. This does cause the same line is printed\ntwice if the bootconsole and real console are the same device,\nbut if they are on different devices, the message is printed to\nboth consoles.\n\nSigned-off-by : Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c200907091308.37370.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d09161196c9a836eacea4b36e2f217bc34894cf",
      "tree": "d6ca11be7c741a4380f383bea4dc6c36a9587f77",
      "parents": [
        "7c5371c403abb29f01bc6cff6c5096abdf2dc524"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Wed Jul 01 21:08:37 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 10:10:43 2009 +0200"
      },
      "message": "printk: Enable the use of more than one CON_BOOT (early console)\n\nToday, register_console() assumes the following usage:\n\n  - The first console to register with a flag set to CON_BOOT\n    is the one and only bootconsole.\n\n  - If another register_console() is called with an additional\n    CON_BOOT, it is silently rejected.\n\n  - As soon as a console without the CON_BOOT set calls\n    registers the bootconsole is automatically unregistered.\n\n  - Once there is a \"real\" console - register_console() will\n    silently reject any consoles with it\u0027s CON_BOOT flag set.\n\nIn many systems (alpha, blackfin, microblaze, mips, powerpc,\nsh, \u0026 x86), there are early_printk implementations, which use\nthe CON_BOOT which come out serial ports, vga, usb, \u0026 memory\nbuffers.\n\nIn many embedded systems, it would be nice to have two\nbootconsoles - in case the primary fails, you always have\naccess to a backup memory buffer - but this requires at least\ntwo CON_BOOT consoles...\n\nThis patch enables that functionality.\n\nWith the change applied, on boot you get (if you try to\nre-enable a boot console after the \"real\" console has been\nregistered):\n\n  root:/\u003e dmesg | grep console\n  bootconsole [early_shadow0] enabled\n  bootconsole [early_BFuart0] enabled\n  Kernel command line: root\u003d/dev/mtdblock0 rw earlyprintk\u003dserial,uart0,57600 console\u003dttyBF0,57600 nmi_debug\u003dregs\n  console handover:boot [early_BFuart0] boot [early_shadow0]  -\u003e real [ttyBF0]\n  Too late to register bootconsole early_shadow0\n\nor:\n\n  root:/\u003e dmesg | grep console\n  Kernel command line: root\u003d/dev/mtdblock0 rw console\u003dttyBF0,57600\n  console [ttyBF0] enabled\n\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: \"Linus Torvalds\" \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Andrew Morton\" \u003cakpm@linux-foundation.org\u003e\nCc: \"Mike Frysinger\" \u003cvapier.adi@gmail.com\u003e\nCc: \"Paul Mundt\" \u003clethal@linux-sh.org\u003e\nLKML-Reference: \u003c200907012108.38030.rgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e28d713704117bca0820c732210df6075b09f13b",
      "tree": "c2c8b2a40cb5081e8b6368eecc21220ee59903bf",
      "parents": [
        "5fd29d6ccbc98884569d6f3105aeca70858b3e0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "message": "printk: Add KERN_DEFAULT printk log-level\n\nThis adds a KERN_DEFAULT loglevel marker, for when you cannot decide\nwhich loglevel you want, and just want to keep an existing printk\nwith the default loglevel.\n\nThe difference between having KERN_DEFAULT and having no log-level\nmarker at all is two-fold:\n\n - having the log-level marker will now force a new-line if the\n   previous printout had not added one (perhaps because it forgot,\n   but perhaps because it expected a continuation)\n\n - having a log-level marker is required if you are printing out a\n   message that otherwise itself could perhaps otherwise be mistaken\n   for a log-level.\n\nSigned-of-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fd29d6ccbc98884569d6f3105aeca70858b3e0f",
      "tree": "93ac507debc6b35e5863116086c57170618099cf",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "message": "printk: clean up handling of log-levels and newlines\n\nIt used to be that we would only look at the log-level in a printk()\nafter explicit newlines, which can cause annoying problems when the\nprevious printk() did not end with a \u0027\\n\u0027. In that case, the log-level\nmarker would be just printed out in the middle of the line, and be\nseen as just noise rather than change the logging level.\n\nThis changes things to always look at the log-level in the first\nbytes of the printout. If a log level marker is found, it is always\nused as the log-level. Additionally, if no newline existed, one is\nadded (unless the log-level is the explicit KERN_CONT marker, to\nexplicitly show that it\u0027s a continuation of a previous line).\n\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c393fd551654179c46b65e4a70ea20d831c783",
      "tree": "087c5c1f514a2ffeb75c925545e584fb269bea3a",
      "parents": [
        "0a053e8c71d666daf30da2d407147b1293923d8b",
        "38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "message": "Merge branch \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: correct the behavior of printk_timed_ratelimit()\n  vsprintf: unify the format decoding layer for its 3 users, cleanup\n  fix regression from \"vsprintf: unify the format decoding layer for its 3 users\"\n  vsprintf: fix bug in negative value printing\n  vsprintf: unify the format decoding layer for its 3 users\n  vsprintf: add binary printf\n  printk: introduce printk_once()\n\nFix trivial conflicts (printk_once vs log_buf_kexec_setup() added near\neach other) in include/linux/kernel.h.\n"
    },
    {
      "commit": "04d491ab2a53008a1aa98ac09561768c7f3adda3",
      "tree": "ab8fff6fb8674c8061b733ce64d6d6fba9d68ff3",
      "parents": [
        "23c36c1aec895fd52d7dd8cd3ce4bbce43c969fd"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Apr 02 16:58:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:04 2009 -0700"
      },
      "message": "kexec: add dmesg log symbols to /proc/vmcoreinfo lists\n\nIt would be nice to be able to extract the dmesg log from a vmcore file\nwithout needing to keep the debug symbols for the running kernel handy all\nthe time.  We have a facility to do this in /proc/vmcore.  This patch adds\nthe log_buf and log_end symbols to the vmcoreinfo area so that tools (like\nmakedumpfile) can easily extract the dmesg logs from a vmcore image.\n\n[akpm@linux-foundation.org: several fixes and cleanups]\n[akpm@linux-foundation.org: fix unused log_buf_kexec_setup()]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2d28a2ebcb525a6ec7e2152106ddb385ef52b73",
      "tree": "207920700ba3c7c7091d547184c883e7bd05a2a8",
      "parents": [
        "47239561e39bceefecc3cd67f71fcf86a198a8ff"
      ],
      "author": {
        "name": "Guillaume Knispel",
        "email": "gknispel@proformatique.com",
        "time": "Tue Mar 17 16:18:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 16:25:28 2009 +0100"
      },
      "message": "printk: correct the behavior of printk_timed_ratelimit()\n\nImpact: fix jiffies-comparison sign-wrap behavior\n\nThe behavior provided by printk_timed_ratelimit() is, in some\nsituations, probably not what a caller would reasonably expect:\n\nbool printk_timed_ratelimit(unsigned long *caller_jiffies,\n\t\t\tunsigned int interval_msecs)\n{\n\tif (*caller_jiffies \u003d\u003d 0 || time_after(jiffies, *caller_jiffies)) {\n\t\t*caller_jiffies \u003d jiffies + msecs_to_jiffies(interval_msecs);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nOn a 32 bit computer, if printk_timed_ratelimit() is initially called at\ntime jiffies \u003d\u003d Ja, *caller_jiffies is set to\nJa + msecs_to_jiffies(interval_msecs): let\u0027s say Ja + 42 for this\nexample.\n\nIf this caller then doesn\u0027t call printk_timed_ratelimit() until\njiffies \u003d\u003d Ja + (1 \u003c\u003c 31) + 42 (which can happen as soon as ~ 25 days\nlater on a 1000 HZ system), printk_timed_ratelimit() will then always\nreturn false to this caller until jiffies loops completely (1 \u003c\u003c 31 more\nticks).\n\nThs change makes it only return false if jiffies is in the small\ntime window starting at the previous call when true was returned and\nending interval_msecs later.  Note that if jiffies loops completely\nbetween two calls to printk_timed_ratelimit(), it will obviously still\nwrongly return false, but this is something with a low probability.\n\nIf something completely reliable is needed I guess jiffies_64 must be\nused (which this change does not do).\n\nSigned-off-by: Guillaume Knispel \u003cgknispel@proformatique.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20090317161842.0059096b@xilun.lan.proformatique.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "403f307576396f3362fbb65af190885b6036c72c",
      "tree": "d3737ebe960d65152b7ee119b8b5a7ad2d59e09b",
      "parents": [
        "b090f9fa53d51c8a33370071de9e391919ee1fa7"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:18 2009 -0800"
      },
      "message": "PM: Fix suspend_console and resume_console to use only one semaphore\n\nThis fixes a race where a thread acquires the console while the\nconsole is suspended, and the console is resumed before this\nthread releases it. In this case, the secondary console\nsemaphore would be left locked, and the primary semaphore would\nbe released twice. This in turn would cause the console switch\non suspend or resume to hang forever.\n\nNote that suspend_console does not actually lock the console\nfor clients that use acquire_console_sem, it only locks it for\nclients that use try_acquire_console_sem. If we change\nsuspend_console to fully lock the console, then the kernel\nmay deadlock on suspend. One client of try_acquire_console_sem\nis acquire_console_semaphore_for_printk, which uses it to\nprevent printk from using the console while it is suspended.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c",
      "tree": "99c676262e696754dcbfb2d6f59499972cd0c38c",
      "parents": [
        "c4ea37c26a691ad0b7e86aa5884aab27830e95c9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:29 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 27\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "f627a741d24f12955fa2d9f8831c3b12860635bd",
      "tree": "2b96ea5be1df1978fd08544929c2ab3d4fbad8ba",
      "parents": [
        "c9da9f2129d6a421c32e334a83770a9e67f7feac"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:58 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:16 2009 +0100"
      },
      "message": "[CVE-2009-0029] Make sys_syslog a conditional system call\n\nRemove the -ENOSYS implementation for !CONFIG_PRINTK and use\nthe cond_syscall infrastructure instead.\n\nAcked-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "edb123e16c6092bd08b67d1130ff03efeada0c89",
      "tree": "092b92af4af4c31719d7ad0a23b932650992f95c",
      "parents": [
        "277835adca10a696ac3e2a103ea537658c141a3c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 04 12:39:49 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: printk: fix indentation of new_text_line declaration\n\nRemove bogus indentation of new_text_line declaration introduced in\ncommit ac60ad741.\n\nAcked-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "26cc271db798cf211d35967cbfbb53e997126b84",
      "tree": "c4131ca7cdf2cfbc90c421b82e2b3b88b8927e6a",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Fri Dec 19 10:23:03 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 22:52:47 2008 +0100"
      },
      "message": "printk: fix discarding message when recursion_bug\n\nImpact: fix truncated recursion bug message printout\n\nWhen recursion_bug is true, kernel discards original message because printk_buf\ncontains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg)\nmakes this, use strlen() to get correct length without NULL terminator.\n\nReported-by: Toshikazu Nakayama \u003cnakayama.ts@ncos.nec.co.jp\u003e\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acff181d3574244e651913df77332e897b88bff4",
      "tree": "ff3ccaeb76856d7b6e14a6bf35f3d356be34adb9",
      "parents": [
        "d2441183dc222d12961ff2201f5086c846505d93"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Oct 21 19:49:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:29 2008 +0200"
      },
      "message": "printk: remove unused code from kernel/printk.c\n\nboth log_buf_copy() and log_buf_len are unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "20036fdcaf05fac0a84ed81a56906493a7d822e2",
      "tree": "df06d92ffa8190dfafa59cbb7528564f8d0a055a",
      "parents": [
        "9536727ef696861b205834dd2e01456b91088cb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:02:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Add kerneldoc documentation for new printk format extensions\n\nAdd documentation in kerneldoc for new printk format extensions\n\nThis patch documents the new %pS/%pF options in printk in kernel doc.\n\nHope I didn\u0027t miss any other extension.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f8e87449147ffe5ea3de64a46af7de450ce279",
      "tree": "304e90a6747f5a7586a67305b7225ed4b4dbb53a",
      "parents": [
        "8033fe65a6d6c0e47ba9e3cb2e4e6902f9dfb8dd"
      ],
      "author": {
        "name": "Francois Cami",
        "email": "francois.cami@free.fr",
        "time": "Wed Oct 15 22:01:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Remove Andrew Morton\u0027s old email accounts\n\nPeople can use the real name an an index into MAINTAINERS to find the\ncurrent email address.\n\nSigned-off-by: Francois Cami \u003cfrancois.cami@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "commit": "95f9bfc6b76e862265a2d70ae061eec18fe14140",
      "tree": "88e72e0d31b9f368d5c9dcb3e0d92994effe5edc",
      "parents": [
        "452a00d2ee288f2cbc36f676edd06cb14d2878c1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: Move tty_write_message out of kernel/printk\n\nThis is pure tty code so put it in the tty layer where it can be with the\nlocking relevant material it uses\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
      "tree": "32da7727193eeb85cb71e8b347afce76997abe89",
      "parents": [
        "fa33507a22623b3bd543b15a21c362cf364b6cff"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 20 14:40:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 15:39:59 2008 +0200"
      },
      "message": "printk: robustify printk, update comment\n\nRemove the comment describing the possibility of printk() deadlocking on\nrunqueue lock.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa33507a22623b3bd543b15a21c362cf364b6cff",
      "tree": "8d77dfaad0336c5591383df1029567d7e6c17bbd",
      "parents": [
        "ced9cd40ac14111befd6b0c73ec90106c22a3fd7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 20 09:31:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 12:22:37 2008 +0200"
      },
      "message": "printk: robustify printk, fix #2\n\nDmitry Adamushko reported:\n\n\u003e [*] btw., with DEBUG being enabled, pr_debug() generates [1] when\n\u003e debug_smp_processor_id() is used (CONFIG_DEBUG_PREEMPT).\n\u003e\n\u003e the problem seems to be caused by the following commit:\n\u003e commit b845b517b5e3706a3729f6ea83b88ab85f0725b0\n\u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\u003e Date:   Fri Aug 8 21:47:09 2008 +0200\n\u003e\n\u003e     printk: robustify printk\n\u003e\n\u003e\n\u003e wake_up_klogd() -\u003e __get_cpu_var() -\u003e smp_processor_id()\n\u003e\n\u003e and that\u0027s being called from release_console_sem() which is, in turn,\n\u003e said to be \"may be called from any context\" [2]\n\u003e\n\u003e and in this case, it seems to be called from some non-preemptible\n\u003e context (although, it can\u0027t be printk()...\n\u003e although, I haven\u0027t looked carefully yet).\n\u003e\n\u003e Provided [2], __get_cpu_var() is perhaps not the right solution there.\n\u003e\n\u003e\n\u003e [1]\n\u003e\n\u003e [ 7697.942005] BUG: using smp_processor_id() in preemptible [00000000] code: syslogd/3542\n\u003e [ 7697.942005] caller is wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005] Pid: 3542, comm: syslogd Not tainted 2.6.27-rc3-tip-git #2\n\u003e [ 7697.942005] Call Trace:\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c0f17\u003e] do_con_write+0xb7/0x1f30\n\u003e [ 7697.942005]  [\u003cffffffff8020d920\u003e] ? show_trace+0x10/0x20\n\u003e [ 7697.942005]  [\u003cffffffff8020dc42\u003e] ? dump_stack+0x72/0x80\n\u003e [ 7697.942005]  [\u003cffffffff8036392d\u003e] ? __ratelimit+0xbd/0xe0\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] ? debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] ? wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] ? release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c2de9\u003e] con_write+0x19/0x30\n\u003e [ 7697.942005]  [\u003cffffffff803b37b6\u003e] write_chan+0x276/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff80232b20\u003e] ? default_wake_function+0x0/0x10\n\u003e [ 7697.942005]  [\u003cffffffff804cb872\u003e] ? _spin_lock_irqsave+0x22/0x50\n\u003e [ 7697.942005]  [\u003cffffffff803b1334\u003e] tty_write+0x194/0x260\n\u003e [ 7697.942005]  [\u003cffffffff803b3540\u003e] ? write_chan+0x0/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff803b14a4\u003e] redirected_tty_write+0xa4/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff803b1400\u003e] ? redirected_tty_write+0x0/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff802a88c2\u003e] do_loop_readv_writev+0x52/0x80\n\u003e [ 7697.942005]  [\u003cffffffff802a939d\u003e] do_readv_writev+0x1bd/0x1d0\n\u003e [ 7697.942005]  [\u003cffffffff802a93e9\u003e] vfs_writev+0x39/0x60\n\u003e [ 7697.942005]  [\u003cffffffff802a9870\u003e] sys_writev+0x50/0x90\n\u003e [ 7697.942005]  [\u003cffffffff8020bb3b\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b845b517b5e3706a3729f6ea83b88ab85f0725b0",
      "tree": "4311e4c2e6c3fdbdbe89149d1501944294186455",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 08 21:47:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:46:53 2008 +0200"
      },
      "message": "printk: robustify printk\n\nAvoid deadlocks against rq-\u003elock and xtime_lock by deferring the klogd\nwakeup by polling from the timer tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "641de9d8f505db055d451b50e6e38117f84e79bb",
      "tree": "af9cbd5390321a7f5a6b245215c79289930f41bd",
      "parents": [
        "8f3d137e0d6cd470a4e404cbc67480a0febdb0b1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Tue Jul 29 22:33:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "printk: fix comment for printk ratelimiting\n\nThe comment assumed the burst to be one and the ratelimit used to be named\nprintk_ratelimit_jiffies.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d63081d418c73cc187c893069e0f24c4c6eecd3",
      "tree": "2ee2d001d47dd38173820efbd915ed9120817575",
      "parents": [
        "fb9ba4e95921f71d874beee2d0964fc2322b47a2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Wed Jul 23 21:28:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "swsusp: provide users with a hint about the no_console_suspend option\n\nTell the user about the no_console_suspend option, so that we don\u0027t have to\ntell each bug reporter personally.\n\n[akpm@linux-foundation.org: clarify the text a little]\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bb0057f996b1491f93a64879f4c53c83bc0f0c7",
      "tree": "f216e244a6f88ede277a3687499dbb1762a3c37a",
      "parents": [
        "116a9fb3ed98c19d1ee0c6c55971f5b753949393",
        "9e4144abf8a30ae221311368bbb10690ebdb4b76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:27:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:27:43 2008 -0700"
      },
      "message": "Merge branch \u0027core/printk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/printk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, generic: mark early_printk as asmlinkage\n  printk: export console_drivers\n  printk: remember the message level for multi-line output\n  printk: refactor processing of line severity tokens\n  printk: don\u0027t prefer unsuited consoles on registration\n  printk: clean up recursion check related static variables\n  namespacecheck: more kernel/printk.c fixes\n  namespacecheck: fix kernel printk.c\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae94b8075a2ed58d2318ef03827b25bc844f844e",
      "tree": "7211f558d841cb40e1015d0b7527643ad55cb8e7",
      "parents": [
        "eca91e7838ec92e8c12122849ec7539c4765b689",
        "a26929fb489188ff959b1715ee67f0c9f84405b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/core\n\nConflicts:\n\n\tarch/x86/mm/ioremap.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bac0c9103b31c3dd83ad9d731dd9834e2ba75e4f",
      "tree": "702dd6a7ce06d224d594c2293af546b11ac9f51b",
      "parents": [
        "6329d3021bcfa9038621e6e917d98929421d8ec8",
        "98a05ed4bd7774f533ab185fe0bf2fdc58292d7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 11:43:00 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 into auto-ftrace-next\n"
    },
    {
      "commit": "7683c57c489bd17795945f4ae1c1d73e7c7b38e3",
      "tree": "38866c5e3320e74150757b186f226475bd0b83c9",
      "parents": [
        "48948a3e237ff47823d414704aeb8604a4c61ad0"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Tue Jul 08 15:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 08 18:10:34 2008 -0700"
      },
      "message": "kernel/printk.c: Made printk_recursion_bug_msg static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nAcked-by: Josh Triplett \u003cjosh@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a29d1cfe9e9337aedeed505afddc8465ac709b87",
      "tree": "8cfd0edb899ee29d8bf3ef8777076d9ce5dff875",
      "parents": [
        "5a654ba7a88d90483d0f0586297ea9075d755fc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:19:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 14:11:27 2008 +0200"
      },
      "message": "printk: export console_drivers\n\nthis symbol is needed by drivers/video/xen-fbfront.ko.\n\n[ cherry-picked from tip/core/printk ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e17ba73b0ee6c0f24393c48b455e0d8db761782c",
      "tree": "4a5b1668d8b1251d546412f0285d11402f4d409c",
      "parents": [
        "87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon May 12 15:44:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 18 13:11:01 2008 +0200"
      },
      "message": "x86, generic: mark early_printk as asmlinkage\n\nIt\u0027s not explicitly marked as asmlinkage, but invoked from x86_32\nstartup code with parameters on stack.\n\nNo other architectures define early_printk and none of them are affected\nby this change, since defines asmlinkage as empty token.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca",
      "tree": "b6acb2c904314632c37748767cbb68c01b9bad83",
      "parents": [
        "091593080533a752ce66d12858d8c4105c8e1793"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:19:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 09:15:58 2008 +0200"
      },
      "message": "printk: export console_drivers\n\nthis symbol is needed by drivers/video/xen-fbfront.ko.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e124fe16ff24746d6de5a2ad685266d7bce0e08",
      "tree": "6be2bf0edd3799170c74f3fff15f1adf14e0380b",
      "parents": [
        "a15af1c9ea2750a9ff01e51615c45950bad8221b"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Mon May 26 23:31:07 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen: Enable console tty by default in domU if it\u0027s not a dummy\n\nWithout console\u003d arguments on the kernel command line, the first\nconsole to register becomes enabled and the preferred console (the one\nbehind /dev/console).  This is normally tty (assuming\nCONFIG_VT_CONSOLE is enabled, which it commonly is).\n\nThis is okay as long tty is a useful console.  But unless we have the\nPV framebuffer, and it is enabled for this domain, tty0 in domU is\nmerely a dummy.  In that case, we want the preferred console to be the\nXen console hvc0, and we want it without having to fiddle with the\nkernel command line.  Commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7\ndid that for us.\n\nSince we now have the PV framebuffer, we want to enable and prefer tty\nagain, but only when PVFB is enabled.  But even then we still want to\nenable the Xen console as well.\n\nProblem: when tty registers, we can\u0027t yet know whether the PVFB is\nenabled.  By the time we can know (xenstore is up), the console setup\ngame is over.\n\nSolution: enable console tty by default, but keep hvc as the preferred\nconsole.  Change the preferred console to tty when PVFB probes\nsuccessfully, unless we\u0027ve been given console kernel parameters.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "091593080533a752ce66d12858d8c4105c8e1793",
      "tree": "de8793133104a9a19bbba971d3bfb84408e4cdbb",
      "parents": [
        "ac60ad7413ca8208094609a3b88ed9b1ed012fbc"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:19 2008 +0200"
      },
      "message": "printk: remember the message level for multi-line output\n\nprintk(KERN_ALERT \"Danger Will Robinson!\\nAlien Approaching!\\n\");\n\nAt present this will result in one message at ALERT level and one\nat the current default message loglevel (e.g. WARNING). This is\nnon-intuitive.\n\nModify vprintk() to remember the message loglevel each time it\nis specified and use it for subsequent lines of output which do\nnot specify one, within the same call to printk.\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ac60ad7413ca8208094609a3b88ed9b1ed012fbc",
      "tree": "addd789d3839619b97bb36886ef7f597d1a49ea2",
      "parents": [
        "cd3a1b8562d28490b334a61d5eb05df3d722d91e"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:12 2008 +0200"
      },
      "message": "printk: refactor processing of line severity tokens\n\nRestructure the logic of vprintk() so the processing of the leading\n3 characters of each input line is in one place, regardless whether\nprintk_time is enabled. This makes the code smaller and easier to\nunderstand.\n\nsize reduction in kernel/printk.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   6157\t    397\t1049804\t1056358\t 101e66\tprintk.o.before\n   6117\t    397\t1049804\t1056318\t 101e3e\tprintk.o.after\n\nand some style uncleanlinesses removed as well as a side-effect:\n\n Before:\n    total: 19 errors, 22 warnings, 1340 lines checked\n After:\n    total: 17 errors, 22 warnings, 1333 lines checked\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd3a1b8562d28490b334a61d5eb05df3d722d91e",
      "tree": "a0143f57cdc9e22fe8c0498e48a029c3fd7177ef",
      "parents": [
        "3b8945e8d40645eecdb7d2357ca531f9b4dd9f71"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:07 2008 +0200"
      },
      "message": "printk: don\u0027t prefer unsuited consoles on registration\n\nconsole election: If some console happens to be registered first which does\nnot provide a tty binding (!console-\u003edevice), it prevents that more suited\nconsoles which are registered later on can enter the candidate pool for\nconsole_device().  This is observable with KGDB\u0027s console which may already\nbe registered (and exploited!) during early debugger connections, that is\nbefore any regular console registration.\n\nThis patch fixes the issue by postponing the final, automated\npreferred_console selection until someone with a non-NULL device handler\ncomes around.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b8945e8d40645eecdb7d2357ca531f9b4dd9f71",
      "tree": "7338d48670e07713b0f5d5236ee6f94644d6a9c8",
      "parents": [
        "42fdfa238a23643226910acf922ea930b3286032"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:15:02 2008 +0200"
      },
      "message": "printk: clean up recursion check related static variables\n\nMake printk_recursion_bug_msg static and drop printk prefix from recursion\nvariables.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42fdfa238a23643226910acf922ea930b3286032",
      "tree": "12df3576d50e001bdfcddffe90912ee2a194936a",
      "parents": [
        "7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:14:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:14:51 2008 +0200"
      },
      "message": "namespacecheck: more kernel/printk.c fixes\n\n[ Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: build fix ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4",
      "tree": "13e80c7459f521a9d7dc412fc60a9b4f18919824",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:12:18 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 24 23:12:18 2008 +0200"
      },
      "message": "namespacecheck: fix kernel printk.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f735295b14ae073a8302d7b1da894bc597724557",
      "tree": "844555a3a768ad6eef3d6884b6b114cebefa0ec4",
      "parents": [
        "f7511d5f66f01fc451747b24e79f3ada7a3af9af"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Wed Apr 30 00:54:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "printk: don\u0027t read beyond string arguments\u0027 terminating zero\n\nFix update_console_cmdline() not to to read beyond the terminating zero of its\nname argument.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7511d5f66f01fc451747b24e79f3ada7a3af9af",
      "tree": "934196c15e43077641e35286078a6753700a3e3d",
      "parents": [
        "730f412c08c13858f7681bac0a2770fbc9159fed"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 30 00:54:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "Basic braille screen reader support\n\nThis adds a minimalistic braille screen reader support.  This is meant to\nbe used by blind people e.g.  on boot failures or when / cannot be mounted\netc and thus the userland screen readers can not work.\n\n[akpm@linux-foundation.org: fix exports]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Jiri Kosina \u003cjikos@jikos.cz\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05",
      "tree": "03f0a35e50e9a765603fc9249e601b52e043fd0d",
      "parents": [
        "762873c251b056c6c1b29e83a4dabafb064e5421"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 29 00:59:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "isolate ratelimit from printk.c for other use\n\nDue to the rcupreempt.h WARN_ON trigged, I got 2G syslog file.  For some\nserious complaining of kernel, we need repeat the warnings, so here I isolate\nthe ratelimit part of printk.c to a standalone file.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "093a07e2fdfaddab7fc7d4adc76cc569c86603d7",
      "tree": "baaa4d86680347a0687ebfbe133d7b253b88102c",
      "parents": [
        "0de19a456cb59106420864927fdec152310f70b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "message": "Fix locking bug in \"acquire_console_semaphore_for_printk()\"\n\nWhen I cleaned up printk() and split up the printk locking logic in\ncommit 266c2e0abeca649fa6667a1a427ad1da507c6375 (\"Make printk() console\nsemaphore accesses sensible\") I had incorrectly moved the call to\nhave_callable_console() outside of the console semaphore.\n\nThat was buggy.  The console semaphore protects the console_drivers list\nthat is used by have_callable_console().\n\nThanks go to Bongani Hlope who saw this as a hang on shutdown and reboot\nand bisected the bug to the right commit, and tested this patch. See\n\n\thttp://lkml.org/lkml/2008/4/11/315\n\nBisected-and-tested-by: Bongani Hlope \u003cbonganilinux@mweb.co.za\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "266c2e0abeca649fa6667a1a427ad1da507c6375",
      "tree": "9eb832b4c5de234cc789eae00a36a1337cefe451",
      "parents": [
        "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "message": "Make printk() console semaphore accesses sensible\n\nThe printk() logic on when/how to get the console semaphore was\nunreadable, this splits the code up into a few helper functions and\nmakes it easier to follow what is going on.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf3680b90c7842cf91ed857ac4528f4e057da366",
      "tree": "f73af36b208fab34620808f0075cc54f51cfdfb0",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 14 10:32:07 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:42:37 2008 -0800"
      },
      "message": "printk: fix possible printk overrun\n\nprintk recursion detection prepends message to printk_buf and offsets\nprintk_buf when actual message is printed but it forgets to trim buffer\nlength accordingly. This can result in overrun in extreme cases. Fix it.\n\n[ mingo@elte.hu:\n\n  bug was introduced by me via:\n\n   commit 32a76006683f7b28ae3cc491da37716e002f198e\n   Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n   Date:   Fri Jan 25 21:07:58 2008 +0100\n\n       printk: make printk more robust by not allowing recursion\n]\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ef3d2fd17c377ef64a2aa19677d17576606c3b4",
      "tree": "036c2fe4a87bda412908bc82602ce29f4d431dbe",
      "parents": [
        "36e789144267105e0b3f2b9bca7db3184fce50dc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Feb 08 04:21:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "printk_ratelimit() functions should use CONFIG_PRINTK\n\nMakes an embedded image a bit smaller.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a36219ac93b3fd029f5e800642226c57796c152f",
      "tree": "f630c97be9d4f792e662db1510cef244c1c8d637",
      "parents": [
        "3287629eff75c7323e875b942be82f7ac6ca18da"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Feb 08 04:20:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:36 2008 -0800"
      },
      "message": "The scheduled \u0027time\u0027 option removal\n\nThe scheduled removal of the \u0027time\u0027 option.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2dc9c913154b64efa8346e81cf298012f090c1b1",
      "tree": "7dcf383c27ef73ce1725468aa33bed4bd0300e31",
      "parents": [
        "18914b1884ebdbcd4d4454100502a23d1d2dba43"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Feb 08 04:20:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:34 2008 -0800"
      },
      "message": "Nuke duplicate include from printk.c\n\nRemove the duplicate inclusion of linux/jiffies.h from kernel/printk.c\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eed4a2aba7ff6d8c40d3d55b81f80352765ffcee",
      "tree": "8cfeca1d26aa56ca83210cf3628399333e98c90e",
      "parents": [
        "b3242151906372f30f57feaa43b4cac96a23edb1"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Wed Feb 06 01:37:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "printk.c: use unsigned ints instead of longs for logbuf index\n\nStop using unsigned _longs_ for printk buffer indexes.  Log buffer is way\nsmaller than 2 gigabytes and unsigned ints will work too .  Indeed, they do\nwork nicely on all 32-bit platforms where longs and ints are the same.\n\nWith this patch, we have following size savings on amd64:\n\n   text    data     bss     dec     hex filename\n   5997     313   17736   24046    5dee 2.6.23.1.t64/kernel/printk.o\n   5858     313   17700   23871    5d3f 2.6.23.1.printk.t64/kernel/printk.o\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c4772d99300a9fc13c86aaa370e630c5973664f6"
}
