)]}'
{
  "log": [
    {
      "commit": "2108eba5c531c12f5ae2ed2ef4cee7bf4246897b",
      "tree": "2dc0507b8d9a88945c0737acf7b9a794186ee62b",
      "parents": [
        "7bcf97d1dd88135b58c7adb7c3bfebab55b21a20"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:43 2008 -0700"
      },
      "message": "Char: moxa, cleanup rx/tx\n\n- cleanup types\n- use tty_prepare_flip_string and io memcpys\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bcf97d1dd88135b58c7adb7c3bfebab55b21a20",
      "tree": "0b0001fb83cb512256944d47b62b9d3d3fcfd542",
      "parents": [
        "74d7d97b9e2a090a4b1812b5074ac6c539234ebb"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:43 2008 -0700"
      },
      "message": "Char: moxa, merge 2 poll functions\n\n- merge 2 timers into one -- one can handle the emptywait as good as the other\n- merge 2 separated poll functions into one, this allows handle the actions\n  directly and simplifies the code\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74d7d97b9e2a090a4b1812b5074ac6c539234ebb",
      "tree": "912c68a877a5004f1d2926934837dbb512ce606e",
      "parents": [
        "0bcc4caadc8f5396b52950ee03c67b76875602df"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, ioctl cleanup\n\n- allow stats only for sys_admin\n- move TCSBRK* processing to .break_ctl tty op\n- let TIOCGSOFTCAR and TIOCSSOFTCAR be processed by ldisc\n- remove MOXA_GET_MAJOR, MOXA_GET_CUMAJOR\n- fix jiffies subtraction by time_after\n- move moxa ioctl numbers into the header; still not exported to userspace,\n  needs _IOC and 32/64 compat cleanup anyways\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bcc4caadc8f5396b52950ee03c67b76875602df",
      "tree": "7d820dd1d4668cae11ad029695e9fa4b0410b10a",
      "parents": [
        "810ab09b2f3a4e9a6f553e3d1e84a27f4074de9c"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, timer cleanup\n\n- schedule timer even after some card is installed, not after insmod\n- cleanup timer functions\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "810ab09b2f3a4e9a6f553e3d1e84a27f4074de9c",
      "tree": "afc58bd870e9fc8a70b661e808565dbdede31f43",
      "parents": [
        "97506056bdf0f230854142ffa986c616a0a5536e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, centralize board readiness\n\nThe only relevant sign of port being ready is its board-\u003eready since now.\nRemove all other flags for this purpose which are set almost on the same\nplace.  Move ports inside the board to be sure that nobody will grab reference\nto the port without being sure that it exists.\n\n[jirislaby@gmail.com: fix unused var warning]\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "97506056bdf0f230854142ffa986c616a0a5536e",
      "tree": "ee3022586cd693be82277a49714e22ca468b845b",
      "parents": [
        "b4173f45758a5b5185acb302c507289e661d9419"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, remove unused port entries\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4173f45758a5b5185acb302c507289e661d9419",
      "tree": "b1aa5c97946790af7c39686bc16b394e8e76ebcd",
      "parents": [
        "5292bcd38e4bcd147905941b5e37b5b0da1a5577"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, remove port-\u003eport\n\nWe don\u0027t need to hold a reference to port index.  In most cases we need port\nstructure anyway and index is available in port-\u003etty-\u003eindex.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5292bcd38e4bcd147905941b5e37b5b0da1a5577",
      "tree": "32bcc251b1e048b55f0e5a15c6ad7d1cce1c8fec",
      "parents": [
        "037182346f0991683cc7320a257c3f6089432cee"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, merge c2xx and c320 firmware loading\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "037182346f0991683cc7320a257c3f6089432cee",
      "tree": "476546c5af156b9fd01a8f0bf2f5d2f206b961aa",
      "parents": [
        "9e9fc313ffa3cb92f7f81a8e076566bc9d582351"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, add firmware loading\n\nSubstitute ioctl load firmware interface by kernel firmware api.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e9fc313ffa3cb92f7f81a8e076566bc9d582351",
      "tree": "3bd92db9d6486357a3e3e0246c54290aef44cbc8",
      "parents": [
        "e46a5e3ff06b70690d567bdc81faf6c1c32e742f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, fix TIOC(G/S)SOFTCAR param\n\naccording to ioctl_list, both have int * as a param, not ulong *.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e46a5e3ff06b70690d567bdc81faf6c1c32e742f",
      "tree": "0b6f8f40d6af73b90ff6b989fc88a0998f6b407b",
      "parents": [
        "d353eca4e0480fddcb088c4692e1edba0a82eac9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:42 2008 -0700"
      },
      "message": "Char: moxa, pci io space fixup\n\n- request region before remapping pci io space\n- use ioremap, iounmap istead of iomap interface, because we use\n  readX/writeX for accessing this space because of isa support\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d353eca4e0480fddcb088c4692e1edba0a82eac9",
      "tree": "ed2015db790f7e75546fc63c37db20203b478062",
      "parents": [
        "37794952a685538f20ac9792e98f1c9b161dbdfe"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "Char: moxa, cleanup module-param passed isa init\n\nMake the code more readable, remap the base address directly.  Describe module\nparameters.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37794952a685538f20ac9792e98f1c9b161dbdfe",
      "tree": "20f15710819e3124e638788eae9896550dce832d",
      "parents": [
        "cbacdd9572285c86848dd323dc764abb3681ddbc"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Apr 30 00:53:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "Char: moxa, remove static isa support\n\nStatic ISA field is empty and probably will never be filled in, remove it.\nThe driver still supports ISA cards passed through module parameter.  This\nactually fixes one bug inside the initialization of module-param passed cards\ninitialization.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nTested-by: Oyvind Aabling \u003cOyvind.Aabling@uni-c.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbacdd9572285c86848dd323dc764abb3681ddbc",
      "tree": "d0568712f7371598cd5d7b43693b04f99f9265ef",
      "parents": [
        "d17468c73e138e1108b279acf892dd35937d43ed"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Wed Apr 30 00:53:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "SGI Altix mmtimer: allow larger number of timers per node\n\nThe purpose of this patch to the SGI Altix specific mmtimer (posix timer)\ndriver is to allow a virtually infinite number of timers to be set per\nnode.\n\nTimers will now be kept on a sorted per-node list and a single node-based\nhardware comparator is used to trigger the next timer.\n\n[akpm@linux-foundation.org: mark things static]\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "d17468c73e138e1108b279acf892dd35937d43ed",
      "tree": "a572b8d50de0146c60f15425de03e8af92832dd5",
      "parents": [
        "1c2630ccf922b7ea2c54c184243d4fb2bd2cf3c6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "tty: drop the BKL for driver/ldisc ioctl methods\n\nNow we have pushed the lock down we can stop wrapping the call with a lock in\nthe tty layer.\n\nSigned-off-by: Alan Cox \u003calan@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": "1c2630ccf922b7ea2c54c184243d4fb2bd2cf3c6",
      "tree": "205b3180561c253f5af49dfe261dbc539b6108d8",
      "parents": [
        "0ee9cbb3c705903db9c258047d9ce87096e6a1a1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "tty_ioctl: soft carrier handling\n\nFirst cut at moving the soft carrier handling knowledge entirely into the core\ncode.  One or two drivers still needed to snoop these functions to track\nCLOCAL internally.  Instead make TIOCSSOFTCAR generate the same driver calls\nas other termios ioctls changing the clocal flag.  This allows us to remove\nany driver knowledge and special casing.  Also while we are at it we can fix\nthe error handling.\n\nSigned-off-by: Alan Cox \u003calan@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": "0ee9cbb3c705903db9c258047d9ce87096e6a1a1",
      "tree": "ba3b3a4b85ef19cf8c4e3019e813603a160bb039",
      "parents": [
        "5d0fdf1e01899805b6c2c0b789a707dcb731b1ea"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:41 2008 -0700"
      },
      "message": "tty_ioctl: locking for tty_wait_until_sent\n\nThis function still depends on the big kernel lock in some cases.  Push\nlocking into the function ready for removal of the BKL from ioctl call paths.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0fdf1e01899805b6c2c0b789a707dcb731b1ea",
      "tree": "19827c7b3cf365c0b403741ead6c7bc317cad51b",
      "parents": [
        "575537b3248ee9b7578a3bb3df33fcdda2bfc4d5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty_io: fix remaining pid struct locking\n\nThis fixes the last couple of pid struct locking failures I know about.\n\n[oleg@tv-sign.ru: clean up do_task_stat()]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "575537b3248ee9b7578a3bb3df33fcdda2bfc4d5",
      "tree": "91a7f0c1afaf55772d2cfa20ecfd52f320a05a5a",
      "parents": [
        "47f86834bbd4193139d61d659bebf9ab9d691e37"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Wed Apr 30 00:53:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "Resume TTY on SUSP and fix CRNL order in N_TTY line discipline\n\nRefine these behaviors in the N_TTY line discipline:\n\n1) Handle the signal characters consistently when received in a stopped TTY\n   so that SUSP (typically ctrl-Z) behaves like INTR and QUIT in resuming a\n   stopped TTY.\n\n2) Adjust the order in which the IGNCR/ICRNL/INLCR processing is applied to\n   be more logical and consistent with the behavior of other Unix systems.\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47f86834bbd4193139d61d659bebf9ab9d691e37",
      "tree": "6724b07e24929eba5c6df31f07871d9d6b4aa296",
      "parents": [
        "04f378b198da233ca0aca341b113dc6579d46123"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "redo locking of tty-\u003epgrp\n\nHistorically tty-\u003epgrp and friends were pid_t and the code \"knew\" they were\nsafe.  The change to pid structs opened up a few races and the removal of the\nBKL in places made them quite hittable.  We put tty-\u003epgrp under the ctrl_lock\nfor the tty.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04f378b198da233ca0aca341b113dc6579d46123",
      "tree": "696e7bd401125cee71ecaa2047c4273f38732554",
      "parents": [
        "e52384426064bca0669a954736206adca7595d48"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty: BKL pushdown\n\n- Push the BKL down into the line disciplines\n- Switch the tty layer to unlocked_ioctl\n- Introduce a new ctrl_lock spin lock for the control bits\n- Eliminate much of the lock_kernel use in n_tty\n- Prepare to (but don\u0027t yet) call the drivers with the lock dropped\n  on the paths that historically held the lock\n\nBKL now primarily protects open/close/ldisc change in the tty layer\n\n[jirislaby@gmail.com: a couple of fixes]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "e52384426064bca0669a954736206adca7595d48",
      "tree": "d635f52999075e82b97842250a026d17582bd249",
      "parents": [
        "c0754c99a6bcfcba7e1d68b75e3f25cb367af0fa"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "serial_core: Prepare for BKL push down\n\nInstead of checking for the BKL in these methods, take it ourselves.  That\navoids propogating it into the serial drivers and we can then fix them later\non.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Russell King \u003crmk@arm.linux.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": "c0754c99a6bcfcba7e1d68b75e3f25cb367af0fa",
      "tree": "0c78590e52b490cd36c7f7baa71dc72d5527f03c",
      "parents": [
        "6e4d376c664ded7cb9cc1c7d0cae67c9672e46b1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "68360serial: Note that there isn\u0027t any info-\u003emcr locking\n\nNoticed while auditing the code for the BKL elimination project\n\nSigned-off-by: Alan Cox \u003calan@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": "6e4d376c664ded7cb9cc1c7d0cae67c9672e46b1",
      "tree": "671afcc8603e9df2f48d916ed815368761f6911f",
      "parents": [
        "9cc3c22bf017f33612748aeb466fdc3695fb1e1d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "isdn_tty: Prepare for BKL push down\n\nThree things here\n- Remove softcar handler\n- Correct termios change detection logic\n- Wrap break/ioctl in lock_kernel ready to drop it in the caller\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Karsten Keil \u003ckkeil@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": "9cc3c22bf017f33612748aeb466fdc3695fb1e1d",
      "tree": "1143ff2cc5794be68b761ae0e3ebf9747f7fc6c3",
      "parents": [
        "dd9a451aad4fd7d5f46d2300c0e4fb70d8914453"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "vt_ioctl: Prepare for BKL push down\n\nThis one could do with some eyeballs on it.  In theory it simply wraps the\nioctl handler in lock/unlock_kernel ready for the lock/unlocks to be pushed\ninto specific switch values.  To do that means changing the code to return via\na common exit path not all over the place as it does now, hence the big diff\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd9a451aad4fd7d5f46d2300c0e4fb70d8914453",
      "tree": "1340cdb2e4ae943af536957d418f5fd5424d0dae",
      "parents": [
        "1f8cabb7055b98300aa0798ee0f6513dfc130cc2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "viocons: BKL locking\n\nFor some weird reason I can\u0027t ascertain (translation \"I think its\nbroken\") the viocons driver calls directly into the n_tty ldisc code even\nif another ldisc is in use. It\u0027ll probably break if you do that but I\u0027m\njust fixing the locking and adding a comment that its horked.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f8cabb7055b98300aa0798ee0f6513dfc130cc2",
      "tree": "79c4991f74a2f3865ab7a7cd23f52e809dc1e5fb",
      "parents": [
        "341339e7aff33e3aa73d6c49dbd5a79be0bbec04"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "synclink series: Prepare for BKL pushdown\n\nAs these are quite complex I\u0027ve simply pushed the BKL down into the ioctl\nhandler not tried to do anything neater.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "341339e7aff33e3aa73d6c49dbd5a79be0bbec04",
      "tree": "34ad63ea28e325f14530b4b68ec99fb99f5df538",
      "parents": [
        "f433c65b8acb5346e6fefff4e4b97711c987ccf9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "sx: prepare for BKL pushdown\n\nWrap the ioctl handler, and in this case the break handler also in the\nBKL. Remove bogus softcar handlers.\n\nSigned-off-by: Alan Cox \u003calan@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": "f433c65b8acb5346e6fefff4e4b97711c987ccf9",
      "tree": "f4b2f5dd3b47ba3051a9c495d413407b4338fd91",
      "parents": [
        "b190e178f63e8dad7755054e02dc18a24ea6f0ac"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "stallion: Prepare for BKL push down\n\nRemove broken softcar functions, wrap ioctl handler in BKL\n\nSigned-off-by: Alan Cox \u003calan@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": "b190e178f63e8dad7755054e02dc18a24ea6f0ac",
      "tree": "2069b828afbc0bf5aeb97b95cf99dad5cf598eff",
      "parents": [
        "638157bc1461f6718eeca06bedd9a09cf1f35c36"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "specialix: Prepare for BKL pushdown\n\nLock the ioctl handlers and remove bogus softcar handling.\n\nSigned-off-by: Alan Cox \u003calan@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": "638157bc1461f6718eeca06bedd9a09cf1f35c36",
      "tree": "a8ef1f3ecbe0904f5c1341438bd3b079c8ff0eb7",
      "parents": [
        "bdf183aa47dcb46782e22ebd4d1061e47ad74b14"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "serial167: prepare to push BKL down into drivers\n\nKill the softcar handlers again, wrap the ioctl handler in the BKL\n\nSigned-off-by: Alan Cox \u003calan@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": "bdf183aa47dcb46782e22ebd4d1061e47ad74b14",
      "tree": "0da6fb07ad69db2e546f46a4b706d9811a866acb",
      "parents": [
        "eb1745529622f204733139bde2201eb4ee994c03"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "rocket: Prepare for BKL pushdown\n\nWrap the ioctl code in lock_kernel calls\n\nSigned-off-by: Alan Cox \u003calan@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": "eb1745529622f204733139bde2201eb4ee994c03",
      "tree": "e75287f7ecd219d9e02323c1658589fd8732508b",
      "parents": [
        "9d6d162d495d7abf2bfcdffc73c0892f1179579a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "riscom8: Prepare for BKL pushdown\n\nPush the locking down into a couple of functions that need it and remove\nbogus TIOCG/SSOFTCAR handling\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d6d162d495d7abf2bfcdffc73c0892f1179579a",
      "tree": "258bed8ffb549e68f2c98d23c4d519525a440fd0",
      "parents": [
        "3736113654165b5f4b8658b6a34d74631e0b7d81"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "mxser: prepare for BKL pushdown\n\nPush the BKL down into various internal routines in the driver ready to\nremove it from the break, ioctl and other call points.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "3736113654165b5f4b8658b6a34d74631e0b7d81",
      "tree": "9dd91ef6e47e319d4826e04f0bf1994dbfd8cf00",
      "parents": [
        "1eac494738a0447ef0c423ee2066f85a44ab59f5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "isicom: istallion prepare for lock_kernel pushdown\n\nThis is an ancient driver so just wrap it in lock_kernel internally and\nbe done.\n\nSigned-off-by: Alan Cox \u003calan@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": "1eac494738a0447ef0c423ee2066f85a44ab59f5",
      "tree": "40be63404867ce11077f52101c31d9e39a6b23fe",
      "parents": [
        "5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "isicom: prepare for lock_kernel push down\n\nAgain lock the bits we can\u0027t trivially prove are safe without the BKL and\nremove the broken TIOCS/GSOFTCAR handler.\n\nSigned-off-by: Alan Cox \u003calan@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": "5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32",
      "tree": "9c482c6ecd4c7b4b4e0fd2b2c92534e488ef83eb",
      "parents": [
        "37925e050379ef4db9f4ed251786b6d43da6ec71"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:39 2008 -0700"
      },
      "message": "esp: lock_kernel push down\n\nPush the BKL down into a few internal bits of code in this driver.\n\nSigned-off-by: Alan Cox \u003calan@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": "37925e050379ef4db9f4ed251786b6d43da6ec71",
      "tree": "774ec9963acd20249a876d6be265da46da0b95d9",
      "parents": [
        "7b130c0efd7acbdc3cf9b2e7cc9a26e923feec93"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "epca: lock_kernel push down\n\nPrepare epca for removing the lock from above. Most of epca is internally\nlocked so we can trivially push it down to a few bits of code. Drop the TIOCG/SSOFTCAR handling as that is done *properly* with locks by the mid layer.\n\nSigned-off-by: Alan Cox \u003calan@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": "7b130c0efd7acbdc3cf9b2e7cc9a26e923feec93",
      "tree": "c5d38927297ead7d4a337da767d279e1a5a5bf7f",
      "parents": [
        "e18ce49b5b8f957fb99d66990ff49d527f823210"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "cyclades: Prepare for relaxed locking in callers\n\nBasically wrap it in lock_kernel where it is hard to prove the locking is\nok.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: \"John Stoffel\" \u003cjohn@stoffel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e18ce49b5b8f957fb99d66990ff49d527f823210",
      "tree": "7226c62fc4243393f4ed0a03b1f67d94ca7e25c6",
      "parents": [
        "00cd5c37afd5f431ac186dd131705048c0a11fdb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "amiserial: prepare for locking relaxation in caller\n\nJust wrap this one in a lock_kernel. As I understand it there is no M68K\nSMP anyway.\n\nSigned-off-by: Alan Cox \u003calan@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": "00cd5c37afd5f431ac186dd131705048c0a11fdb",
      "tree": "d5412f6c720e2cee11ac66783bb45e6bd78f4a1d",
      "parents": [
        "33e9fc7d01269737cd5a3b6de1db9d0e796ab708"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: permit ptracing of /sbin/init\n\nAfaics, currently there are no kernel problems with ptracing init, it can\u0027t\nlose SIGNAL_UNKILLABLE flag and be killed/stopped by accident.\n\nThe ability to strace/debug init can be very useful if you try to figure out\nwhy it does not work as expected.\n\nHowever, admin should know what he does, \"gdb /sbin/init 1\" stops init, it\ncan\u0027t reap orphaned zombies or take care of /etc/inittab until continued.  It\nis even possible to crash init (and thus the whole system) if you wish,\nptracer has full control.\n\nSee also the long discussion: http://marc.info/?t\u003d120628018600001\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33e9fc7d01269737cd5a3b6de1db9d0e796ab708",
      "tree": "36084d425e4d39ea06acff6f12164f257d0a102c",
      "parents": [
        "68cb94786630b34196713794a2880ade17fca887"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific()\n\nNobody can block/ignore SIGSTOP, no need to use force_sig_specific() in\nptrace_attach.  Use the \"regular\" send_sig_info().\n\nWith this patch stracing of /sbin/init doesn\u0027t clear its SIGNAL_UNKILLABLE,\nbut not that this makes ptracing of init safe.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "68cb94786630b34196713794a2880ade17fca887",
      "tree": "78bd2d66aaaa2c9acdd6060a9a9964420c511ebc",
      "parents": [
        "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: __ptrace_unlink: use the ptrace_reparented() helper\n\nCurrently __ptrace_unlink() checks list_empty(-\u003eptrace_list) to figure out\nwhether the child was reparented.  Change the code to use ptrace_reparented()\nto make this check more explicit and consistent.\n\nNo functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@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": "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc",
      "tree": "93a5bd26974e07a3d7fa20dc17c8b70daacc1d85",
      "parents": [
        "2800d8d19e51414403df8144eaa214bb03400b87"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce ptrace_reparented() helper\n\nAdd another trivial helper for the sake of grep.  It also auto-documents the\nfact that -\u003eparent !\u003d real_parent implies -\u003eptrace.\n\nNo functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@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": "2800d8d19e51414403df8144eaa214bb03400b87",
      "tree": "d5b01302c7109d7ffdc140ce8d6e31cebcdb233a",
      "parents": [
        "376e1d2531860358c8a79fecf5f4f42994d03c4d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "document de_thread() with exit_notify() connection\n\nAdd a couple of small comments, it is not easy to see what this code does.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "376e1d2531860358c8a79fecf5f4f42994d03c4d",
      "tree": "7d90aa39ee7250e1ba0593fa927118b4a9c911e9",
      "parents": [
        "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "reparent_thread: use same_thread_group()\n\nTrivial, use same_thread_group() in reparent_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6",
      "tree": "bfeccf3201208a9ce0e994cff9eacdc4647002a6",
      "parents": [
        "5a8da0ea82db6fa9737041381079fd16f25dcce2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce task_detached() helper\n\nexit.c has numerous \"-\u003eexit_signal \u003d\u003d -1\" comparisons, this check is subtle\nand deserves a helper.  Imho makes the code more parseable for humans.  At\nleast it\u0027s surely more greppable.\n\nAlso, a couple of whitespace cleanups. No functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "5a8da0ea82db6fa9737041381079fd16f25dcce2",
      "tree": "abd26177c0a965315de290e1e9602d087b78f149",
      "parents": [
        "f3de272b821accbc8387211977c2de4f38468d05"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: x86 TS_RESTORE_SIGMASK\n\nReplace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own\nset_restore_sigmask() function.  This saves the costly SMP-safe set_bit\noperation, which we do not need for the sigmask flag since TIF_SIGPENDING\nalways has to be set too.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "f3de272b821accbc8387211977c2de4f38468d05",
      "tree": "775b5b3db5a09176447d4e62e04077b63640a4d7",
      "parents": [
        "49eaeb4bc4c901c327ee259c7768be20fd020a30"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: use HAVE_SET_RESTORE_SIGMASK\n\nChange all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to\n#ifdef HAVE_SET_RESTORE_SIGMASK.  If arch code defines it first, the generic\nset_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "49eaeb4bc4c901c327ee259c7768be20fd020a30",
      "tree": "9f5a3b3dcc2e1d6b9f428a7cf72b8983a9698f15",
      "parents": [
        "02a029b325854a98e76f0a79ab38bec13e66bd38"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: ia64 renumber TIF_RESTORE_SIGMASK\n\nTIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks.\nThose low bits are scarce.  Renumber TIF_RESTORE_SIGMASK to free one up.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "02a029b325854a98e76f0a79ab38bec13e66bd38",
      "tree": "02a12a03e9ed484101c3597ec31cc41c88aa1baa",
      "parents": [
        "7648d961fcb454d38e864d2d850bc30e078bf7e6"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: s390: renumber TIF_RESTORE_SIGMASK\n\nTIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks.  Those low\nbits are scarce, and are all used up now.  Renumber TIF_RESTORE_SIGMASK to\nfree one up.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "7648d961fcb454d38e864d2d850bc30e078bf7e6",
      "tree": "9a101ba3ffb61d6083654fabc05accedb3d4ef07",
      "parents": [
        "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: set_restore_sigmask TIF_SIGPENDING\n\nSet TIF_SIGPENDING in set_restore_sigmask.  This lets arch code take\nTIF_RESTORE_SIGMASK out of the set of bits that will be noticed on return to\nuser mode.  On some machines those bits are scarce, and we can free this\nunneeded one up for other uses.\n\nIt is probably the case that TIF_SIGPENDING is always set anyway everywhere\nset_restore_sigmask() is used.  But this is some cheap paranoia in case there\nis an arcane case where it might not be.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165",
      "tree": "0a41fb405ab60654f70ead9698d5ce414a066c37",
      "parents": [
        "80fe728d593e3a048a56610de932919f7d6d968a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: add set_restore_sigmask\n\nThis adds the set_restore_sigmask() inline in \u003clinux/thread_info.h\u003e and\nreplaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it.  No\nchange, but abstracts the details of the flag protocol from all the calls.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@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": "80fe728d593e3a048a56610de932919f7d6d968a",
      "tree": "ff8effec1d05d871bcbb1347947d2a0970a8ff32",
      "parents": [
        "7a5e873f096e04e6d8719e4ecb7b70d2decca503"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: allow the kernel to actually kill /sbin/init\n\nCurrently the buggy /sbin/init hangs if SIGSEGV/etc happens.  The kernel sends\nthe signal, init dequeues it and ignores, returns from the exception, repeats\nthe faulting instruction, and so on forever.\n\nImho, such a behaviour is not good.  I think that the explicit loud death of\nthe buggy /sbin/init is better than the silent hang.\n\nChange force_sig_info() to clear SIGNAL_UNKILLABLE when the task should be\nreally killed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "7a5e873f096e04e6d8719e4ecb7b70d2decca503",
      "tree": "2d3f7cc6c15e03de02484f9d754a9174ce2fff76",
      "parents": [
        "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: de_thread: simplify the -\u003echild_reaper switching\n\nNow that we rely on SIGNAL_UNKILLABLE flag, de_thread() doesn\u0027t need the nasty\nhack to kill the old -\u003echild_reaper during the mt-exec.\n\nThis also means we can avoid taking tasklist_lock around zap_other_threads().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f",
      "tree": "8990ac958d29733cb61733ae69265472f5e1d13c",
      "parents": [
        "193191035ad6268db9f561e81e3474b8be89a5ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: fix /sbin/init protection from unwanted signals\n\nThe global init has a lot of long standing problems with the unhandled fatal\nsignals.\n\n\t- The \"is_global_init(current)\" check in get_signal_to_deliver()\n\t  protects only the main thread. Sub-thread can dequee the fatal\n\t  signal and shutdown the whole thread group except the main thread.\n\t  If it dequeues SIGSTOP /sbin/init will be stopped, this is not\n\t  right too. Note that we can\u0027t use is_global_init(-\u003egroup_leader),\n\t  this breaks exec and this can\u0027t solve other problems we have.\n\n\t- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT\n\t  on delivery. This breaks exec, has other bad implications, and this\n\t  is just wrong.\n\nIntroduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps\nto solve some other problems addressed by the subsequent patches.\n\nCurrently we use this flag for the global init only, but it could also be used\nby kthreads and (perhaps) by the sub-namespace inits.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@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": "193191035ad6268db9f561e81e3474b8be89a5ba",
      "tree": "ac4af28bf65dd7fc6c40d7260806725d9f3330ba",
      "parents": [
        "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: remove tasklist_lock\n\nNow that task_session() can\u0027t return a false NULL, check_kill_permission()\ndoesn\u0027t need tasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef",
      "tree": "aada1523affbcbe1301decad43ad0875e1f680c4",
      "parents": [
        "53c30337f2c61aff6eecf2a446e839641172f9bd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: check session under tasklist_lock\n\nThis wasn\u0027t documented, but as Atsushi Tsuji pointed out\ncheck_kill_permission() needs tasklist_lock for task_session_nr().  I missed\nthis fact when removed tasklist from the callers.\n\nChange check_kill_permission() to take tasklist_lock for the SIGCONT case.\nRe-order security checks so that we take tasklist_lock only if/when it is\nactually needed.  This is a minimal fix for now, tasklist will be removed\nlater.\n\nAlso change the code to use task_session() instead of task_session_nr().\n\nAlso, remove the SIGCONT check from cap_task_kill(), it is bogus (and the\nwhole function is bogus.  Serge, Eric, why it is still alive?).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Atsushi Tsuji \u003ca-tsuji@bk.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Serge Hallyn \u003cserue@us.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": "53c30337f2c61aff6eecf2a446e839641172f9bd",
      "tree": "268c52124c19b379b7f9c32430414acb606699cb",
      "parents": [
        "021e1ae3d85a76ce962a300c96813f04ae50c87c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: send_signal: be paranoid about signalfd_notify()\n\nsend_signal() shouldn\u0027t call signalfd_notify() if it then fails with -EAGAIN.\nHarmless, just a paranoid cleanup.\n\nAlso remove the comment.  It is obsolete, signalfd_notify() was simplified and\ndoes a simple wakeup.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Roland McGrath \u003croland@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": "021e1ae3d85a76ce962a300c96813f04ae50c87c",
      "tree": "1c3cfbf8151c339baa3b35a4a78fa50ccc7594ab",
      "parents": [
        "7e695a5ef5c1c768d7feb75cc61e42f13d763623"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: document CLD_CONTINUED notification mechanics\n\nA couple of small comments about how CLD_CONTINUED notification works.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "7e695a5ef5c1c768d7feb75cc61e42f13d763623",
      "tree": "97bf6b5865e097a77b791342eccaeddc7132b9fc",
      "parents": [
        "2dce81bff28dceb2153c901883a56f278d91db65"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: fold sig_ignored() into handle_stop_signal()\n\nRename handle_stop_signal() to prepare_signal(), make it return a boolean, and\nmove the callsites of sig_ignored() into it.\n\nNo functional changes for now.  But it would be nice to factor out the \"should\nwe drop this signal\" checks as much as possible, before we try to fix the bugs\nwith the sub-namespace init\u0027s signals (actually the global /sbin/init has some\nproblems with signals too).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "2dce81bff28dceb2153c901883a56f278d91db65",
      "tree": "831da312ea00c5c505d376098b5b1a90fe33fed7",
      "parents": [
        "34c8f07b9ac499a807918eda377193a55f64f8df"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: cleanup the usage of print_fatal_signal()\n\nMove the callsite of print_fatal_signal() down, under \"if\n(sig_kernel_coredump(signr))\", so we don\u0027t need to check signr !\u003d SIGKILL.\n\nWe are only interested in the sig_kernel_coredump() signals anyway, and due to\nthe previous changes we almost never can see other fatal signals here except\nSIGKILL.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "34c8f07b9ac499a807918eda377193a55f64f8df",
      "tree": "042cf061406273dcfdb3fabe4b07425e4cb8f0aa",
      "parents": [
        "ac5c215383f43a106ba4ef298126bf78c126f5e9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: handle_stop_signal: don\u0027t worry about SIGKILL\n\nhandle_stop_signal() clears SIGNAL_STOP_DEQUEUED when sig \u003d\u003d SIGKILL.  Remove\nthis nasty special case.  It was needed to prevent the race with group stop\nand exit caused by thread-specific SIGKILL.  Now that we use complete_signal()\nfor private signals too this is not needed, complete_signal() will notice\nSIGKILL and abort the soon-to-begin group stop.\n\nExcept: the target thread is dead (has PF_EXITING).  But in that case we\nshould not just clear SIGNAL_STOP_DEQUEUED and nothing more.  We should either\nkill the whole thread group, or silently ignore the signal.\n\nI suspect we are not right wrt zombie leaders, but this is another issue which\nand should be fixed separately.  Note that this check can\u0027t abort the group\nstop if it was already started/finished, this check only adds a subtle side\neffect if we race with the thread which has already dequeued sig_kernel_stop()\nsignal and temporary released -\u003esiglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "ac5c215383f43a106ba4ef298126bf78c126f5e9",
      "tree": "77340eea86103df7bc3b4a6c6d83f4140004bc9c",
      "parents": [
        "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: join send_sigqueue() with send_group_sigqueue()\n\nWe export send_sigqueue() and send_group_sigqueue() for the only user,\nposix_timer_event().  This is a bit silly, because both are just trivial\nhelpers on top of do_send_sigqueue() and because the we pass the unused\n.si_signo parameter.\n\nKill them both, rename do_send_sigqueue() to send_sigqueue(), and export it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95",
      "tree": "75f79d45eb89fb75014117b6fdc67bae1608f826",
      "parents": [
        "4cd4b6d4e0372075f846feb85aea016cbdbfec4c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: unify send_sigqueue/send_group_sigqueue completely\n\nSuggested by Pavel Emelyanov.\n\nsend_sigqueue/send_group_sigqueue are only differ in how they lock -\u003esiglock.\nUnify them.  send_group_sigqueue() uses spin_lock() because it knows the task\ncan\u0027t exit, but in that case lock_task_sighand() can\u0027t fail and doesn\u0027t hurt.\n\nNote that the \"sig\" argument is ignored, it is always equal to -\u003esi_signo.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "4cd4b6d4e0372075f846feb85aea016cbdbfec4c",
      "tree": "219dd1d4de6313bcc9dd232fe3186423875bea5e",
      "parents": [
        "5fcd835bf8c2cde06404559b1904e2f1dfcb4567"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: fold complete_signal() into send_signal/do_send_sigqueue\n\nFactor out complete_signal() callsites.  This change completely unifies the\nhelpers sending the specific/group signals.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "5fcd835bf8c2cde06404559b1904e2f1dfcb4567",
      "tree": "c370d13b34d7c516c449427aebfde5bd29c83489",
      "parents": [
        "2ca3515aa57224edf0151e05a8c9f21a76bf5957"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: use __group_complete_signal() for the specific signals too\n\nBased on Pavel Emelyanov\u0027s suggestion.\n\nRename __group_complete_signal() to complete_signal() and use it to process\nthe specific signals too.  To do this we simply add the \"int group\" argument.\n\nThis allows us to greatly simply the signal-sending code and adds a useful\nbehaviour change.  We can avoid the unneeded wakeups for the private signals\nbecause wants_signal() is more clever than sigismember(blocked), but more\nimportantly we now take into account the fatal specific signals too.\n\nThe latter allows us to kill some subtle checks in handle_stop_signal() and\nmakes the specific/group signal\u0027s behaviour more consistent.  For example,\ncurrently sigtimedwait(FATAL_SIGNAL) behaves differently depending on was the\nsignal sent by kill() or tkill() if the signal was not blocked.\n\nAnd.  This allows us to tweak/fix the behaviour when the specific signal is\nsent to the dying/dead -\u003egroup_leader.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "2ca3515aa57224edf0151e05a8c9f21a76bf5957",
      "tree": "fd0154e8ecb2f0f39425cba207cf7b74bc18c0ff",
      "parents": [
        "71f11dc025055cb2ef9226424f26b3287efadd26"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: change send_signal/do_send_sigqueue to take \"boolean group\" parameter\n\nsend_signal() is used either with -\u003epending or with -\u003esignal-\u003eshared_pending.\nChange it to take \"int group\" instead, this argument will be re-used later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "71f11dc025055cb2ef9226424f26b3287efadd26",
      "tree": "d489b52d6d1779af1a325d4bed2354a07ca1cc60",
      "parents": [
        "db51aeccd7097ce19a522a4c5ff91c320f870e2b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: move the definition of __group_complete_signal() up\n\nMove the unchanged definition of __group_complete_signal() so that send_signal\ncan see it.  To simplify the reading of the next patches.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "db51aeccd7097ce19a522a4c5ff91c320f870e2b",
      "tree": "373bdfb55d1d90c04d53d4a419bcd156fe7f054c",
      "parents": [
        "08d2c30ce98d274137f12b0a9b9c74137455922c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: microoptimize the usage of -\u003ecurr_target\n\nSuggested by Roland McGrath.\n\nInitialize signal-\u003ecurr_target in copy_signal().  This way -\u003ecurr_target is\nnever \u003d\u003d NULL, we can kill the check in __group_complete_signal\u0027s hot path.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "08d2c30ce98d274137f12b0a9b9c74137455922c",
      "tree": "cc649fd249aef0c4d227406b17a1a75c9d327e50",
      "parents": [
        "3547ff3aefbe092ca35506c60c02e2d17a4f2199"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sig_info: don\u0027t take tasklist_lock\n\nThe comment in send_sig_info() is wrong, tasklist_lock can\u0027t help.\n\nThe caller must ensure the task can\u0027t go away, otherwise -\u003esighand can be NULL\neven before we take the lock.\n\np-\u003esighand could be changed by exec(), but I can\u0027t imagine how it is possible\nto prevent exit(), but not exec().\n\nSince the things seem to work, I assume all callers are correct.  However,\ndrm_vbl_send_signals() looks broken.  block_all_signals() which is solely used\nby drm is definitely broken.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "3547ff3aefbe092ca35506c60c02e2d17a4f2199",
      "tree": "722222124ae06ef45947fae20913bbd71e179c49",
      "parents": [
        "6e65acba7ca8169e38ab55d62d52f29a75fb141f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: do_tkill: don\u0027t use tasklist_lock\n\nConvert do_tkill() to use rcu_read_lock() + lock_task_sighand() to avoid\ntaking tasklist lock.\n\nNote that we don\u0027t return an error if lock_task_sighand() fails, we pretend\nthe task dies after receiving the signal.  Otherwise, we should fight with the\nnasty races with mt-exec without having any advantage.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "6e65acba7ca8169e38ab55d62d52f29a75fb141f",
      "tree": "a691ee9392b0f2ed8a434e5a5cd6e6a213b70f1b",
      "parents": [
        "c99fcf28b87d8cab592db7571e3164f5cb54c5b3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: move handle_stop_signal() into send_signal()\n\nMove handle_stop_signal() into send_signal().  This factors out a couple of\ncallsites and allows us to do further unifications.\n\nAlso, with this change specific_send_sig_info() does handle_stop_signal().\nNot that this is really important, we never send STOP/CONT via send_sig() and\nfriends, but still this looks more consistent.\n\nThe only (afaics) special case is get_signal_to_deliver().  If the traced task\ndequeues SIGCONT, it can re-send it to itself after ptrace_stop() if the\nsignal was blocked by debugger.  In that case handle_stop_signal() is\nunnecessary, but hopefully not a problem.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "c99fcf28b87d8cab592db7571e3164f5cb54c5b3",
      "tree": "356ce5d2b0bfd33794a81bf4cd90abd7859776da",
      "parents": [
        "f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_group_sigqueue: don\u0027t take tasklist_lock\n\nhandle_stop_signal() was changed, now send_group_sigqueue() doesn\u0027t need\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c",
      "tree": "58f7cde6d5b6c52ad927658521a32822661f048d",
      "parents": [
        "5fc894bb4fb1de8373d1d5fb6db19204a16859e8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: __group_complete_signal: cache the value of p-\u003esignal\n\nCosmetic, cache p-\u003esignal to make the code a bit more readable.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "5fc894bb4fb1de8373d1d5fb6db19204a16859e8",
      "tree": "167c513b50b8ceed48a8fb7e4c2e63397f0fa7d7",
      "parents": [
        "5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sigqueue: don\u0027t forget about handle_stop_signal()\n\nsend_group_sigqueue() calls handle_stop_signal(), send_sigqueue() doesn\u0027t.\nThis is not consistent and in fact I\u0027d say this is (minor) bug.\n\nMove handle_stop_signal() from send_group_sigqueue() to do_send_sigqueue(),\nthe latter is called by send_sigqueue() too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f",
      "tree": "533b708c86908e8d1a439ef63a1c1515871715d7",
      "parents": [
        "f6b76d4fb0039e077824be85ed4ac94e96beef86"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sigqueue: don\u0027t take rcu lock\n\nlock_task_sighand() was changed, send_sigqueue() doesn\u0027t need rcu_read_lock()\nany longer.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "f6b76d4fb0039e077824be85ed4ac94e96beef86",
      "tree": "70a9ccff1d0194ff3a5ab23837f5a2ad839af6ba",
      "parents": [
        "ad16a4606939ce1bedb79c87e412467be803e990"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "get_signal_to_deliver: use the cached -\u003esignal/sighand values\n\nCache the values of current-\u003esignal/sighand.  Shrinks .text a bit and makes\nthe code more readable.  Also, remove \"sigset_t *mask\", it is pointless\nbecause in fact we save the constant offset.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad16a4606939ce1bedb79c87e412467be803e990",
      "tree": "d9b1e96c2520c9c08660c4dfd5258b2acdc8d1ef",
      "parents": [
        "fc321d2e60d6f4eee17206612d0b50519f526daf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "handle_stop_signal: use the cached p-\u003esignal value\n\nCache the value of p-\u003esignal, and change the code to use while_each_thread()\nhelper.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc321d2e60d6f4eee17206612d0b50519f526daf",
      "tree": "79dd03d347ccee2f5a538823f7434dfd40e302be",
      "parents": [
        "6ca25b551309eb1b1b41f83414a92f7472e0b23d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "handle_stop_signal: unify partial/full stop handling\n\nNow that handle_stop_signal() doesn\u0027t drop -\u003esiglock, we can\u0027t see both\n-\u003egroup_stop_count \u0026\u0026 SIGNAL_STOP_STOPPED.  Merge two \"if\" branches.\n\nAs Roland pointed out, we never actually needed 2 do_notify_parent_cldstop()\ncalls.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ca25b551309eb1b1b41f83414a92f7472e0b23d",
      "tree": "a2c5785ec484ec997ac6a03d3fceae04e4d21795",
      "parents": [
        "e442055193e4584218006e616c9bdce0c5e9ae5c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "kill_pid_info: don\u0027t take now unneeded tasklist_lock\n\nPreviously handle_stop_signal(SIGCONT) could drop -\u003esiglock.  That is why\nkill_pid_info(SIGCONT) takes tasklist_lock to make sure the target task can\u0027t\ngo away after unlock.  Not needed now.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e442055193e4584218006e616c9bdce0c5e9ae5c",
      "tree": "5e444253953c2f48c0a194bf8c5799f03bb2e266",
      "parents": [
        "3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: re-assign CLD_CONTINUED notification from the sender to reciever\n\nBased on discussion with Jiri and Roland.\n\nIn short: currently handle_stop_signal(SIGCONT, p) sends the notification to\np-\u003eparent, with this patch p itself notifies its parent when it becomes\nrunning.\n\nhandle_stop_signal(SIGCONT) has to drop -\u003esiglock temporary in order to notify\nthe parent with do_notify_parent_cldstop().  This leads to multiple problems:\n\n\t- as Jiri Kosina pointed out, the stopped task can resume without\n\t  actually seeing SIGCONT which may have a handler.\n\n\t- we race with another sig_kernel_stop() signal which may come in\n\t  that window.\n\n\t- we race with sig_fatal() signals which may set SIGNAL_GROUP_EXIT\n\t  in that window.\n\n\t- we can\u0027t avoid taking tasklist_lock() while sending SIGCONT.\n\nWith this patch handle_stop_signal() just sets the new SIGNAL_CLD_CONTINUED\nflag in p-\u003esignal-\u003eflags and returns.  The notification is sent by the first\ntask which returns from finish_stop() (there should be at least one) or any\nother signalled thread from get_signal_to_deliver().\n\nThis is a user-visible change.  Say, currently kill(SIGCONT, stopped_child)\ncan\u0027t return without seeing SIGCHLD, with this patch SIGCHLD can be delayed\nunpredictably.  Another difference is that if the child is ptraced by another\nprocess, CLD_CONTINUED may be delivered to -\u003ereal_parent after ptrace_detach()\nwhile currently it always goes to the tracer which doesn\u0027t actually need this\nnotification.  Hopefully not a problem.\n\nThe patch asks for the futher obvious cleanups, I\u0027ll send them separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46",
      "tree": "1244b7cf2755c06a8a793149ce4717e4a1311218",
      "parents": [
        "9e3bd6c3fb2334be171e69b432039cd18bce4458"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: cleanup security_task_kill() usage/implementation\n\nEvery implementation of -\u003etask_kill() does nothing when the signal comes from\nthe kernel.  This is correct, but means that check_kill_permission() should\ncall security_task_kill() only for SI_FROMUSER() case, and we can remove the\nsame check from -\u003etask_kill() implementations.\n\n(sadly, check_kill_permission() is the last user of signal-\u003esession/__session\n but we can\u0027t s/task_session_nr/task_session/ here).\n\nNOTE: Eric W.  Biederman pointed out cap_task_kill() should die, and I think\nhe is very right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e3bd6c3fb2334be171e69b432039cd18bce4458",
      "tree": "199963534d6379457d84e6f2ead2b104088182dd",
      "parents": [
        "c5363d03637885310f1101b95cbbd26d067b4c8d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: consolidate send_sigqueue and send_group_sigqueue\n\nBoth functions do the same thing after proper locking, but with\ndifferent sigpending structs, so move the common code into a helper.\n\nAfter this we have 4 places that look very similar: send_sigqueue: calls\ndo_send_sigqueue and signal_wakeup send_group_sigqueue: calls\ndo_send_sigqueue and __group_complete_signal __group_send_sig_info:\ncalls send_signal and __group_complete_signal specific_send_sig_info:\ncalls send_signal and signal_wakeup\n\nBesides, send_signal performs actions similar to do_send_sigqueue\u0027s\nand __group_complete_signal - to signal_wakeup.\n\nIt looks like they can be consolidated gracefully.\n\nOleg said:\n\n  Personally, I think this change is very good.  But send_sigqueue() and\n  send_group_sigqueue() have a very subtle difference which I was never able\n  to understand.\n\n  Let\u0027s suppose that sigqueue is already queued, and the signal is ignored\n  (the latter means we should re-schedule cpu timer or handle overrruns).  In\n  that case send_sigqueue() returns 0, but send_group_sigqueue() returns 1.\n\n  I think this is not the problem (in fact, I think this patch makes the\n  behaviour more correct), but I hope Thomas can take a look and confirm.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.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": "c5363d03637885310f1101b95cbbd26d067b4c8d",
      "tree": "e22fd822f03dd5437c53bf459ae986723aaa1613",
      "parents": [
        "93585eeaf3d42d608cd7232e7420c93fb676bba1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: clean dequeue_signal from excess checks and assignments\n\nThe signr variable may be declared without initialization - it is set ro the\nreturn value from __dequeue_signal() right at the function beginning.\n\nBesides, after recalc_sigpending() two checks for signr to be not 0 may be\nmerged into one.  Both if-s become easier to read.\n\nThanks to Oleg for pointing out mistakes in the first version of this patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.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": "93585eeaf3d42d608cd7232e7420c93fb676bba1",
      "tree": "7c87ab85480af514a055563f03aec6ef7b1e3f87",
      "parents": [
        "06fffb1267c9d986687b69d74a46ee332a50575e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: consolidate checks for whether or not to ignore a signal\n\nBoth sig_ignored() and do_sigaction() check for signr to be explicitly or\nimplicitly ignored.  Introduce a helper for them.\n\nThis patch is aimed to help handling signals by pid namespace\u0027s init, and was\nderived from one of Oleg\u0027s patches\nhttps://lists.linux-foundation.org/pipermail/containers/2007-December/009308.html\nso, if he doesn\u0027t mind, he should be considered as an author.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.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": "06fffb1267c9d986687b69d74a46ee332a50575e",
      "tree": "bfbef85a5fa65550f40d83e75d8e23cea5238772",
      "parents": [
        "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "do_task_stat: don\u0027t take rcu_read_lock()\n\nlock_task_sighand() was changed, and do_task_stat() doesn\u0027t need\nrcu_read_lock any longer.  sighand-\u003esiglock protects all \"interesting\"\nfields.\n\nExcept: it doesn\u0027t protect -\u003etty-\u003epgrp, but neither does rcu_read_lock(), this\nshould be fixed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac",
      "tree": "16ec6665ebb03107d40f5ab0884ca7e8394b5358",
      "parents": [
        "1406f2d321bae5ac5ff729dcb773336d9c05ec74"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "k_getrusage: don\u0027t take rcu_read_lock()\n\nJust a trivial example, more to come.\n\nk_getrusage() holds rcu_read_lock() because it was previously required by\nlock_task_sighand().  Unneeded now.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@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": "1406f2d321bae5ac5ff729dcb773336d9c05ec74",
      "tree": "178f7e2d800cee7be211225952f397458707587a",
      "parents": [
        "bfc4b0890af566940de6e7aeb4b5faf46d3c3513"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "lock_task_sighand: add rcu lock/unlock\n\nMost of the callers of lock_task_sighand() doesn\u0027t actually need rcu_lock().\nlock_task_sighand() needs it only to safely play with tsk-\u003esighand, it can\ntake the lock itself.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@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": "bfc4b0890af566940de6e7aeb4b5faf46d3c3513",
      "tree": "d3c0d7ad6e3d619345acf7130f053514177bf5c7",
      "parents": [
        "573cf9ad72c13750e86c91de43477e9dfb440523"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: do_group_exit(): use signal_group_exit() more consistently\n\ndo_group_exit() checks SIGNAL_GROUP_EXIT to avoid taking sighand-\u003esiglock.\nSince ed5d2cac114202fe2978a9cbcab8f5032796d538 exec() doesn\u0027t set this\nflag, we should use signal_group_exit().\n\nThis is not needed for correctness, but can speedup the multithreaded exec\nand makes the code more consistent.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "573cf9ad72c13750e86c91de43477e9dfb440523",
      "tree": "7b7fab20559e2e96ec7e8aeefb156b35ee2c6c55",
      "parents": [
        "2acb024d5524eda305523c1d6061fe5ef1949165"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: do_signal_stop(): use signal_group_exit()\n\ndo_signal_stop() needs signal_group_exit() but checks sig-\u003egroup_exit_task.\n This (optimization) is correct, SIGNAL_STOP_DEQUEUED and SIGNAL_GROUP_EXIT\nare mutually exclusive, but looks confusing.  Use signal_group_exit(), this\nis not fastpath, the code clarity is more important.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@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": "2acb024d5524eda305523c1d6061fe5ef1949165",
      "tree": "036d7a02f2e6db3be810e42947f4caaa3b290d7f",
      "parents": [
        "af7fff9c13d56657dc328c75590f401c99bcecd9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: consolidate checking for ignored/legacy signals\n\nTwo callers for send_signal() - the specific_send_sig_info and the\n__group_send_sig_info - both check for sig to be ignored or already queued.\n\nMove these checks into send_signal() and make it return 1 to indicate that the\nsignal is dropped, but there\u0027s no error in this.\n\nBesides, merge comments and spell-check them.\n\n[oleg@tv-sign.ru: simplifications]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af7fff9c13d56657dc328c75590f401c99bcecd9",
      "tree": "8adc8d2039910efb28429cb0aec0f1bde8ff98be",
      "parents": [
        "e1401c6bbb289d154eb0d0c292cc9f8259e4af73"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: turn LEGACY_QUEUE macro into static inline function\n\nThis makes the code more readable, due to less brackets and small letters in\nname.\n\nI also move it above the send_signal() as a preparation for the 3rd patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1401c6bbb289d154eb0d0c292cc9f8259e4af73",
      "tree": "64e4e7754c240c1c34c69e2975ccfb350eb4aa1f",
      "parents": [
        "2deb1acc653cbd5384b107d050d2deba089db2bd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: remove unused variable from send_signal()\n\nThis function doesn\u0027t change the ret\u0027s value and thus always returns 0, with a\nsingle exception of returning -EAGAIN explicitly.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2deb1acc653cbd5384b107d050d2deba089db2bd",
      "tree": "8d9a944b7f5b08b27d849a1aaa20d6ee3851ae9e",
      "parents": [
        "6bfe0b499082fd3950429017cd8ebf2a6c458aa5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 30 00:52:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "isofs: fix access to unallocated memory when reading corrupted filesystem\n\nWhen a directory on isofs is corrupted, we did not check whether length of the\nname in a directory entry and the length of the directory entry itself are\nconsistent.  This could lead to possible access beyond the end of buffer when\nthe length of the name was too big.  Add this sanity check to directory\nreading code.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bfe0b499082fd3950429017cd8ebf2a6c458aa5",
      "tree": "81476cf7f7ddbea135bdb93729e0bffae0e7c163",
      "parents": [
        "11e2ede0228ee0f81ccacd15894908c3bf241f73"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: support blocking writes to an array on device failure\n\nAllows a userspace metadata handler to take action upon detecting a device\nfailure.\n\nBased on an original patch by Neil Brown.\n\nChanges:\n-added blocked_wait waitqueue to rdev\n-don\u0027t qualify Blocked with Faulty always let userspace block writes\n-added md_wait_for_blocked_rdev to wait for the block device to be clear, if\n userspace misses the notification another one is sent every 5 seconds\n-set MD_RECOVERY_NEEDED after clearing \"blocked\"\n-kill DoBlock flag, just test mddev-\u003eexternal\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "11e2ede0228ee0f81ccacd15894908c3bf241f73",
      "tree": "78bf7c8e2762d5dc07f2b9acb92ef5804ac40f38",
      "parents": [
        "242b363e2207d14125f52a6701cfda7376a2a2fc"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: prevent duplicates in bind_rdev_to_array\n\nFound when trying to reassemble an active externally managed array.  Without\nthis check we hit the more noisy \"sysfs duplicate\" warning in the later call\nto kobject_add.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "242b363e2207d14125f52a6701cfda7376a2a2fc",
      "tree": "1ae3f6c59f01f22bde668799674d57a0daacc50b",
      "parents": [
        "648b629ed406233b0a607a3cf29d8a169876131f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: remove a stray command from a copy and paste error in resync_start_store\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "648b629ed406233b0a607a3cf29d8a169876131f",
      "tree": "4faf3a965c6f369608b5187a3ecdd25e00264d63",
      "parents": [
        "31a59e3425d32743738e043c1df1668e0f22bbab"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: fix up switching md arrays between read-only and read-write\n\nWhen setting an array to \u0027readonly\u0027 or to \u0027active\u0027 via sysfs, we must make the\nappropriate set_disk_ro call too.\n\nAlso when switching to \"read_auto\" (which is like readonly, but blocks on the\nfirst write so that metadata can be marked \u0027dirty\u0027) we need to be more careful\nabout what state we are changing from.\n\nSigned-off-by: Neil Brown \u003cneilb@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": "31a59e3425d32743738e043c1df1668e0f22bbab",
      "tree": "0329549fd16aeedb767511e6a58df3ed84f463c7",
      "parents": [
        "d897dbf91490f26dccef3d7056ffd09eb83a15a5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: fix \u0027safemode\u0027 handling for external metadata.\n\n\u0027safemode\u0027 relates to marking an array as \u0027clean\u0027 if there has been no write\ntraffic for a while (a couple of seconds), to reduce the chance of the array\nbeing found dirty on reboot.\n\n-\u003esafemode is set to \u00271\u0027 when there have been no write for a while, and it\ngets set to \u00270\u0027 when the superblock is updates with the \u0027clean\u0027 flag set.\n\nThis requires a few fixes for \u0027external\u0027 metadata:\n - When an array is set to \u0027clean\u0027 via sysfs, \u0027safemode\u0027 must be cleared.\n - when we write to an array that has \u0027safemode\u0027 set (there must have been\n        some delay in updating the metadata), we need to clear safemode.\n - Don\u0027t try to update external metadata in md_check_recovery for safemode\n        transitions - it won\u0027t work.\n\nAlso, don\u0027t try to support \"immediate safe mode\" (safemode\u003d\u003d2) for external\nmetadata, it cannot really work (the safemode timeout can be set very low if\nthis is really needed).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d897dbf91490f26dccef3d7056ffd09eb83a15a5"
}
