)]}'
{
  "commit": "baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670",
  "tree": "38f23cd9888b92de3f73ed1f4ce48cd83e940e0e",
  "parents": [
    "a4679373cf4ee0e7792dc56205365732b725c2c1"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@lst.de",
    "time": "Wed Mar 10 15:21:18 2010 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri Mar 12 15:52:32 2010 -0800"
  },
  "message": "Add generic sys_ipc wrapper\n\nAdd a generic implementation of the ipc demultiplexer syscall.  Except for\ns390 and sparc64 all implementations of the sys_ipc are nearly identical.\n\nThere are slight differences in the types of the parameters, where mips\nand powerpc as the only 64-bit architectures with sys_ipc use unsigned\nlong for the \"third\" argument as it gets casted to a pointer later, while\nit traditionally is an \"int\" like most other paramters.  frv goes even\nfurther and uses unsigned long for all parameters execept for \"ptr\" which\nis a pointer type everywhere.  The change from int to unsigned long for\n\"third\" and back to \"int\" for the others on frv should be fine due to the\nin-register calling conventions for syscalls (we already had a similar\nissue with the generic sys_ptrace), but I\u0027d prefer to have the arch\nmaintainers looks over this in details.\n\nExcept for that h8300, m68k and m68knommu lack an impplementation of the\nsemtimedop sub call which this patch adds, and various architectures have\ngets used - at least on i386 it seems superflous as the compat code on\nx86-64 and ia64 doesn\u0027t even bother to implement it.\n\n[akpm@linux-foundation.org: add sys_ipc to sys_ni.c]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e6eeb2d29953d95145684a23198a9fd284629e78",
      "old_mode": 33188,
      "old_path": "arch/arm/include/asm/unistd.h",
      "new_id": "dd2bf53000fe4cc06038e87f86587c6bc5e6c0f3",
      "new_mode": 33188,
      "new_path": "arch/arm/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "a2e0e6f2ea7ff3725a8cd9e6e63283e4696f8e99",
      "old_mode": 33188,
      "old_path": "arch/arm/kernel/sys_arm.c",
      "new_id": "4350f75e578c5815a8fe428aad512df27ca1e6e8",
      "new_mode": 33188,
      "new_path": "arch/arm/kernel/sys_arm.c"
    },
    {
      "type": "modify",
      "old_id": "d59a0cd537f09c977db4aa3b75ebfe2676fb0e7b",
      "old_mode": 33188,
      "old_path": "arch/arm/kernel/sys_oabi-compat.c",
      "new_id": "33ff678e32f2ef0e55a80e85a77d5b236e1b41c0",
      "new_mode": 33188,
      "new_path": "arch/arm/kernel/sys_oabi-compat.c"
    },
    {
      "type": "modify",
      "old_id": "8cffd22623fde4b1449debc44974740e22ba0ba5",
      "old_mode": 33188,
      "old_path": "arch/cris/include/asm/unistd.h",
      "new_id": "f6fad83b3a8c58c9bc0f88f8c60575783394db28",
      "new_mode": 33188,
      "new_path": "arch/cris/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "22f9d6cd947fa4d802f9259ef4c7cf6e4b50ab0e",
      "old_mode": 33188,
      "old_path": "arch/cris/kernel/sys_cris.c",
      "new_id": "7aa036ec78ff8a39e97d0be7ce12b24d1eb521ee",
      "new_mode": 33188,
      "new_path": "arch/cris/kernel/sys_cris.c"
    },
    {
      "type": "modify",
      "old_id": "be6ef0f5cd42bc74c7e62309acd12d89040d4270",
      "old_mode": 33188,
      "old_path": "arch/frv/include/asm/unistd.h",
      "new_id": "b28da499e22a16d29c68c6dbccfa02475ce3a807",
      "new_mode": 33188,
      "new_path": "arch/frv/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "1d3d4c9e25218e13341ed77d3cc43e3e4f8586a6",
      "old_mode": 33188,
      "old_path": "arch/frv/kernel/sys_frv.c",
      "new_id": "9c4980825bbbd9202a5038bf32cd83a56b1cd05d",
      "new_mode": 33188,
      "new_path": "arch/frv/kernel/sys_frv.c"
    },
    {
      "type": "modify",
      "old_id": "54dab47269547180d11054987b04ac055e2a7bda",
      "old_mode": 33188,
      "old_path": "arch/h8300/include/asm/unistd.h",
      "new_id": "50f2c5a365915a8d3e6487502ecd02055ec56088",
      "new_mode": 33188,
      "new_path": "arch/h8300/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "1f13fd6e530941c440c75fe301c0fbddf0a7757b",
      "old_mode": 33188,
      "old_path": "arch/h8300/kernel/sys_h8300.c",
      "new_id": "f9b3f44da69fe655dc7f2f1c0b82c4ac0b55990d",
      "new_mode": 33188,
      "new_path": "arch/h8300/kernel/sys_h8300.c"
    },
    {
      "type": "modify",
      "old_id": "cf701c93324937aa4f6803279baa6df0bcc1a4cb",
      "old_mode": 33188,
      "old_path": "arch/m32r/include/asm/unistd.h",
      "new_id": "76125777483ccda07d9d31d55c2f8f3b3201ea05",
      "new_mode": 33188,
      "new_path": "arch/m32r/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "d3c865c5a6bab95d1a79a9ca078e5bafceb3a2c5",
      "old_mode": 33188,
      "old_path": "arch/m32r/kernel/sys_m32r.c",
      "new_id": "cf2e7279ce9bf593e0dc2f2f6b0e105d00a8e1d8",
      "new_mode": 33188,
      "new_path": "arch/m32r/kernel/sys_m32r.c"
    },
    {
      "type": "modify",
      "old_id": "d801154310ea8fa4c9f64d278541ceb143d5ae47",
      "old_mode": 33188,
      "old_path": "arch/m68k/include/asm/unistd.h",
      "new_id": "60b15d0aa07290bfd2494423ecc4c331c33c3032",
      "new_mode": 33188,
      "new_path": "arch/m68k/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "7b309e7b6cefff2ec8fe3215049930573be88469",
      "old_mode": 33188,
      "old_path": "arch/m68k/kernel/sys_m68k.c",
      "new_id": "77896692eb0a69f34609cb4809e221fc84fb4bd3",
      "new_mode": 33188,
      "new_path": "arch/m68k/kernel/sys_m68k.c"
    },
    {
      "type": "modify",
      "old_id": "3e371cc9fd918862294de1cdd770b564d7ee8a0e",
      "old_mode": 33188,
      "old_path": "arch/m68knommu/kernel/sys_m68k.c",
      "new_id": "d65e9c4c930cdf59821ffc5f61031a9d4a05b51c",
      "new_mode": 33188,
      "new_path": "arch/m68knommu/kernel/sys_m68k.c"
    },
    {
      "type": "modify",
      "old_id": "65c679ecbe6b24ef0709ac5876e0c2f39a529826",
      "old_mode": 33188,
      "old_path": "arch/mips/include/asm/unistd.h",
      "new_id": "97fe472095f214cd7479e2fac9674826d79162ba",
      "new_mode": 33188,
      "new_path": "arch/mips/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "3f7f466190b481e62b7df738b10ef96477f1c059",
      "old_mode": 33188,
      "old_path": "arch/mips/kernel/syscall.c",
      "new_id": "257bf0141775e905a3734e77719c1d6c6952d585",
      "new_mode": 33188,
      "new_path": "arch/mips/kernel/syscall.c"
    },
    {
      "type": "modify",
      "old_id": "d13a56e99bad8832818d11bf6c62f3a66e76f393",
      "old_mode": 33188,
      "old_path": "arch/mn10300/include/asm/unistd.h",
      "new_id": "9d056f5159292cceb0729f93df7022b2e2e31edd",
      "new_mode": 33188,
      "new_path": "arch/mn10300/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "bef69d6daf1519ffe6fca340d070089d0aaf52e1",
      "old_mode": 33188,
      "old_path": "arch/mn10300/kernel/sys_mn10300.c",
      "new_id": "815f1355fad44eb5d2fa14681bb3618d9efd4228",
      "new_mode": 33188,
      "new_path": "arch/mn10300/kernel/sys_mn10300.c"
    },
    {
      "type": "modify",
      "old_id": "eb8eb400c664c3dc6d38fb14637752bb5454e0da",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/syscalls.h",
      "new_id": "23bb74e7f946f0dc17d4c159cdeec9b729205af3",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/syscalls.h"
    },
    {
      "type": "modify",
      "old_id": "f6ca7617676673782eb9237b314805928daf05e7",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/unistd.h",
      "new_id": "c13821fe87419930a3d9ffeeb5434b6526ca1182",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "3370e62e43d4eabe6e20d6ce5c9c2aa9522fc5cd",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kernel/syscalls.c",
      "new_id": "5251221e7a5a60fa24ebe8b94073ebed729986ce",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kernel/syscalls.c"
    },
    {
      "type": "modify",
      "old_id": "5de54d2af0b2e9dbe4db97560aa96756b7dd61e6",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/entry.h",
      "new_id": "15fd68b196c089f2b881f74df55843deab43fb8b",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/entry.h"
    },
    {
      "type": "modify",
      "old_id": "b2563509b5a9d1fb01ad30d6e1f2e63d6db9dcc9",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/sys_s390.c",
      "new_id": "b8b78092ab7ca859c2a317e067839abc6ab3be14",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/sys_s390.c"
    },
    {
      "type": "modify",
      "old_id": "2a24766567affd6e46ed5a87ddf8a8d448b289db",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/syscalls.S",
      "new_id": "990ac8b321c83c54707404fcf66d1eff22d234d5",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/syscalls.S"
    },
    {
      "type": "modify",
      "old_id": "c1e2b8deb8375b70af79e9408be216b7545efc51",
      "old_mode": 33188,
      "old_path": "arch/sh/include/asm/syscalls.h",
      "new_id": "c1ce2862f7be50e14ba669c6e426faaa04d8c058",
      "new_mode": 33188,
      "new_path": "arch/sh/include/asm/syscalls.h"
    },
    {
      "type": "modify",
      "old_id": "365744b05269c2f1e1e9c3456308d7d5cd6e6605",
      "old_mode": 33188,
      "old_path": "arch/sh/include/asm/unistd_32.h",
      "new_id": "a48f65e2e4295807a4d6bada2a353afc8398335e",
      "new_mode": 33188,
      "new_path": "arch/sh/include/asm/unistd_32.h"
    },
    {
      "type": "modify",
      "old_id": "25de158aac3a84baa5e0c64033291b49b3b574f9",
      "old_mode": 33188,
      "old_path": "arch/sh/include/asm/unistd_64.h",
      "new_id": "7709b2b8f752f55fd4ccb0ee3eb4b76a19805eff",
      "new_mode": 33188,
      "new_path": "arch/sh/include/asm/unistd_64.h"
    },
    {
      "type": "modify",
      "old_id": "71399cde03b52c3cca26612075d7ebae4e2c1a68",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/sys_sh.c",
      "new_id": "c18cfaa67fddf3299ed5db9db6b9710c03fae289",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/sys_sh.c"
    },
    {
      "type": "modify",
      "old_id": "cb4b9bfd0d8770a014e0258acc95ba5f47072755",
      "old_mode": 33188,
      "old_path": "arch/sparc/include/asm/unistd.h",
      "new_id": "d0b3b01ac9d4316962ed744c71fa805e94d4d204",
      "new_mode": 33188,
      "new_path": "arch/sparc/include/asm/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "3a82e65d8db2072b9f4b3d9a2edb9faf55c263a7",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/sys_sparc_32.c",
      "new_id": "ee995b7dae7e8d3f4509ed378761ac131266515a",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/sys_sparc_32.c"
    },
    {
      "type": "modify",
      "old_id": "cb1bef6f14b7240e3f87bb693b060fcbcb90a081",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/sys_sparc_64.c",
      "new_id": "45410e939628191bdfe7f8a7dd36d6232de1b8dd",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/sys_sparc_64.c"
    },
    {
      "type": "modify",
      "old_id": "68312fe8da740fa967ea3f90bd1c6cd15a7cf8a4",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/systbls.h",
      "new_id": "2c331c37e74896c60b84109af062e407887f0d85",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/systbls.h"
    },
    {
      "type": "modify",
      "old_id": "17614251fb6d8cb34cdc79722f1e3137b006c7a2",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/systbls_64.S",
      "new_id": "30ca2b1d3a17c5d49d8839c567d457674b69fe4e",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/systbls_64.S"
    },
    {
      "type": "modify",
      "old_id": "d0aa8f125ee67ad85e9b7ee32d5a7c16c64cb9ad",
      "old_mode": 33188,
      "old_path": "arch/um/sys-i386/syscalls.c",
      "new_id": "70ca357393b86fb747895d1a11110324ccd1a4cf",
      "new_mode": 33188,
      "new_path": "arch/um/sys-i386/syscalls.c"
    },
    {
      "type": "modify",
      "old_id": "86ab6a0623fdc78331f8459e861c22d062f99023",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/syscalls.h",
      "new_id": "50f6a569f0d14bd82e668c98e9785528fe08c4f6",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/syscalls.h"
    },
    {
      "type": "modify",
      "old_id": "daa65d9aae9569c872be666aa8513392d0723b6f",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/unistd_32.h",
      "new_id": "45e64a17b86e273818f895d9dad3e3208fd5ed4b",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/unistd_32.h"
    },
    {
      "type": "modify",
      "old_id": "7955e90c8341504253f7e93010cf90c58f1b3d95",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/sys_i386_32.c",
      "new_id": "8b5c348fdcf245210a7a941e984b33adf0aa818d",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/sys_i386_32.c"
    },
    {
      "type": "modify",
      "old_id": "b60907e3b0d55ebca4390a82dab0b10151fa3936",
      "old_mode": 33188,
      "old_path": "include/linux/syscalls.h",
      "new_id": "fbb61ae70e06447ed2ce3906231963b02ba708c9",
      "new_mode": 33188,
      "new_path": "include/linux/syscalls.h"
    },
    {
      "type": "modify",
      "old_id": "4e1955ea815dc5ff80c887e17b626e1ccac213e2",
      "old_mode": 33188,
      "old_path": "ipc/Makefile",
      "new_id": "9075e172e52cacbcc4e5c0ba3d3ccb03d2a6d561",
      "new_mode": 33188,
      "new_path": "ipc/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "355a3da9ec73dd8bba5f596c1e1d026e53d881ea",
      "new_mode": 33188,
      "new_path": "ipc/syscall.c"
    },
    {
      "type": "modify",
      "old_id": "695384f12a7d803e15c7f2e4646ec4069dfe3ce6",
      "old_mode": 33188,
      "old_path": "kernel/sys_ni.c",
      "new_id": "70f2ea758ffec524715554e9e552edab4252ea9e",
      "new_mode": 33188,
      "new_path": "kernel/sys_ni.c"
    }
  ]
}
