)]}'
{
  "log": [
    {
      "commit": "72932611b4b05bbd89fafa369d564ac8e449809b",
      "tree": "10c55c8fef383cf72059f796b82a36efae058384",
      "parents": [
        "8343bce195da8bb4d5a652ee085474a5cc62983f",
        "db04dc679bcc780ad6907943afe24a30de974a1b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 09 16:51:13 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 09 16:51:13 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull namespace bugfixes from Eric Biederman:\n \"This is three simple fixes against 3.9-rc1.  I have tested each of\n  these fixes and verified they work correctly.\n\n  The userns oops in key_change_session_keyring and the BUG_ON triggered\n  by proc_ns_follow_link were found by Dave Jones.\n\n  I am including the enhancement for mount to only trigger requests of\n  filesystem modules here instead of delaying this for the 3.10 merge\n  window because it is both trivial and the kind of change that tends to\n  bit-rot if left untouched for two months.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:\n  proc: Use nd_jump_link in proc_ns_follow_link\n  fs: Limit sys_mount to only request filesystem modules (Part 2).\n  fs: Limit sys_mount to only request filesystem modules.\n  userns: Stop oopsing in key_change_session_keyring\n"
    },
    {
      "commit": "a40e7cf8f06b4e322ba902e4e9f6a6b0c2daa907",
      "tree": "240ac1089fba727c9df3b9bc6f61a0aa6c71bb1a",
      "parents": [
        "dc893e19b5800d7743fb58235877bfa9091805ff"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Fri Mar 08 12:43:32 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 08 15:05:34 2013 -0800"
      },
      "message": "dmi_scan: fix missing check for _DMI_ signature in smbios_present()\n\nCommit 9f9c9cbb6057 (\"drivers/firmware/dmi_scan.c: fetch dmi version\nfrom SMBIOS if it exists\") hoisted the check for \"_DMI_\" into\ndmi_scan_machine(), which means that we don\u0027t bother to check for\n\"_DMI_\" at offset 16 in an SMBIOS entry.  smbios_present() may also call\ndmi_present() for an address where we found \"_SM_\", if it failed further\nvalidation.\n\nCheck for \"_DMI_\" in smbios_present() before calling dmi_present().\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nReported-by: Tim McGrath \u003ctmhikaru@gmail.com\u003e\nTested-by: Tim Mcgrath \u003ctmhikaru@gmail.com\u003e\nCc: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "feff5dc4f98330d8152b521acc2e18c16712e6c8",
      "tree": "9d4180eb62dcb4f1d111acc3c1e000e82c80b1f6",
      "parents": [
        "123abd76edf56c02a76b46d3d673897177ef067b"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Mar 05 12:46:30 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Mar 06 14:46:30 2013 +0000"
      },
      "message": "efivarfs: return accurate error code in efivarfs_fill_super()\n\nJoseph was hitting a failure case when mounting efivarfs which\nresulted in an incorrect error message,\n\n  $ sudo mount -v /sys/firmware/efi/efivars mount: Cannot allocate memory\n\ntriggered when efivarfs_valid_name() returned -EINVAL.\n\nMake sure we pass accurate return values up the stack if\nefivarfs_fill_super() fails to build inodes for EFI variables.\n\nReported-by: Joseph Yasi \u003cjoe.yasi@gmail.com\u003e\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nCc: Josh Boyer \u003cjwboyer@redhat.com\u003e\nCc: Jeremy Kerr \u003cjk@ozlabs.org\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e # v3.8\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "123abd76edf56c02a76b46d3d673897177ef067b",
      "tree": "1aba3ae5759b447af561c6d296c4febb32f8dba8",
      "parents": [
        "68d929862e29a8b52a7f2f2f86a0600423b093cd"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Mar 05 07:40:16 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Mar 06 14:46:04 2013 +0000"
      },
      "message": "efivars: efivarfs_valid_name() should handle pstore syntax\n\nStricter validation was introduced with commit da27a24383b2b\n(\"efivarfs: guid part of filenames are case-insensitive\") and commit\n47f531e8ba3b (\"efivarfs: Validate filenames much more aggressively\"),\nwhich is necessary for the guid portion of efivarfs filenames, but we\ndon\u0027t need to be so strict with the first part, the variable name. The\nUEFI specification doesn\u0027t impose any constraints on variable names\nother than they be a NULL-terminated string.\n\nThe above commits caused a regression that resulted in users seeing\nthe following message,\n\n  $ sudo mount -v /sys/firmware/efi/efivars mount: Cannot allocate memory\n\nwhenever pstore EFI variables were present in the variable store,\nsince their variable names failed to pass the following check,\n\n    /* GUID should be right after the first \u0027-\u0027 */\n    if (s - 1 !\u003d strchr(str, \u0027-\u0027))\n\nas a typical pstore filename is of the form, dump-type0-10-1-\u003cguid\u003e.\nThe fix is trivial since the guid portion of the filename is GUID_LEN\nbytes, we can use (len - GUID_LEN) to ensure the \u0027-\u0027 character is\nwhere we expect it to be.\n\n(The bogus ENOMEM error value will be fixed in a separate patch.)\n\nReported-by: Joseph Yasi \u003cjoe.yasi@gmail.com\u003e\nTested-by: Joseph Yasi \u003cjoe.yasi@gmail.com\u003e\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nCc: Josh Boyer \u003cjwboyer@redhat.com\u003e\nCc: Jeremy Kerr \u003cjk@ozlabs.org\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e # v3.8\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "68d929862e29a8b52a7f2f2f86a0600423b093cd",
      "tree": "2ae86a0b511deea1fd79b375297eedde45921a03",
      "parents": [
        "6dbe51c251a327e012439c4772097a13df43c5b8"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "matthew.garrett@nebula.com",
        "time": "Sat Mar 02 19:40:17 2013 -0500"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Mar 06 14:43:29 2013 +0000"
      },
      "message": "efi: be more paranoid about available space when creating variables\n\nUEFI variables are typically stored in flash. For various reasons, avaiable\nspace is typically not reclaimed immediately upon the deletion of a\nvariable - instead, the system will garbage collect during initialisation\nafter a reboot.\n\nSome systems appear to handle this garbage collection extremely poorly,\nfailing if more than 50% of the system flash is in use. This can result in\nthe machine refusing to boot. The safest thing to do for the moment is to\nforbid writes if they\u0027d end up using more than half of the storage space.\nWe can make this more finegrained later if we come up with a method for\nidentifying the broken machines.\n\nSigned-off-by: Matthew Garrett \u003cmatthew.garrett@nebula.com\u003e\nCc: Josh Boyer \u003cjwboyer@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "7f78e0351394052e1a6293e175825eb5c7869507",
      "tree": "76493af33d02bd3f411e69f95b0bcdfff50412b4",
      "parents": [
        "ba0e3427b03c3d1550239779eca5c1c5a53a2152"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 02 19:39:14 2013 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 03 19:36:31 2013 -0800"
      },
      "message": "fs: Limit sys_mount to only request filesystem modules.\n\nModify the request_module to prefix the file system type with \"fs-\"\nand add aliases to all of the filesystems that can be built as modules\nto match.\n\nA common practice is to build all of the kernel code and leave code\nthat is not commonly needed as modules, with the result that many\nusers are exposed to any bug anywhere in the kernel.\n\nLooking for filesystems with a fs- prefix limits the pool of possible\nmodules that can be loaded by mount to just filesystems trivially\nmaking things safer with no real cost.\n\nUsing aliases means user space can control the policy of which\nfilesystem modules are auto-loaded by editing /etc/modprobe.d/*.conf\nwith blacklist and alias directives.  Allowing simple, safe,\nwell understood work-arounds to known problematic software.\n\nThis also addresses a rare but unfortunate problem where the filesystem\nname is not the same as it\u0027s module name and module auto-loading\nwould not work.  While writing this patch I saw a handful of such\ncases.  The most significant being autofs that lives in the module\nautofs4.\n\nThis is relevant to user namespaces because we can reach the request\nmodule in get_fs_type() without having any special permissions, and\npeople get uncomfortable when a user specified string (in this case\nthe filesystem type) goes all of the way to request_module.\n\nAfter having looked at this issue I don\u0027t think there is any\nparticular reason to perform any filtering or permission checks beyond\nmaking it clear in the module request that we want a filesystem\nmodule.  The common pattern in the kernel is to call request_module()\nwithout regards to the users permissions.  In general all a filesystem\nmodule does once loaded is call register_filesystem() and go to sleep.\nWhich means there is not much attack surface exposed by loading a\nfilesytem module unless the filesystem is mounted.  In a user\nnamespace filesystems are not mounted unless .fs_flags \u003d FS_USERNS_MOUNT,\nwhich most filesystems do not set today.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReported-by: Kees Cook \u003ckeescook@google.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "e3c4877de8b9d93bd47b6ee88eb594b1c1e10da5",
      "tree": "17ade3a3a13b1e7768abe3561b6808dc4980a5f6",
      "parents": [
        "18a44a7ff1075ce5157ac07cde573aca6b5e9973",
        "6b59e366e074d3962e04f01efb8acc10a33c0e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 16:17:42 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 16:17:42 2013 -0800"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/EFI changes from Peter Anvin:\n\n - Improve the initrd handling in the EFI boot stub by allowing forward\n   slashes in the pathname - from Chun-Yi Lee.\n\n - Cleanup code duplication in the EFI mixed kernel/firmware code - from\n   Satoru Takeuchi.\n\n - efivarfs bug fixes for more strict filename validation, with lots of\n   input from Al Viro.\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: remove duplicate code in setup_arch() by using, efi_is_native()\n  efivarfs: guid part of filenames are case-insensitive\n  efivarfs: Validate filenames much more aggressively\n  efivarfs: Use sizeof() instead of magic number\n  x86, efi: Allow slash in file path of initrd\n"
    },
    {
      "commit": "46c66c4b7ba0f9bb3e2ae3a3cfd40cd3472c8f80",
      "tree": "eb33a350aab3adae19a91a6e63918df1a3904585",
      "parents": [
        "bbc76be67c2c0c12548937a07ea3643c32a95b8c"
      ],
      "author": {
        "name": "Yasuaki Ishimatsu",
        "email": "isimatu.yasuaki@jp.fujitsu.com",
        "time": "Fri Feb 22 16:32:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 17:50:12 2013 -0800"
      },
      "message": "memory-hotplug: remove /sys/firmware/memmap/X sysfs\n\nWhen (hot)adding memory into system, /sys/firmware/memmap/X/{end, start,\ntype} sysfs files are created.  But there is no code to remove these\nfiles.  This patch implements the function to remove them.\n\nWe cannot free firmware_map_entry which is allocated by bootmem because\nthere is no way to do so when the system is up.  But we can at least\nremember the address of that memory and reuse the storage when the\nmemory is added next time.\n\nThis patch also introduces a new list map_entries_bootmem to link the\nmap entries allocated by bootmem when they are removed, and a lock to\nprotect it.  And these entries will be reused when the memory is\nhot-added again.\n\nThe idea is suggestted by Andrew Morton.\n\nNOTE: It is unsafe to return an entry pointer and release the\n      map_entries_lock.  So we should not hold the map_entries_lock\n      separately in firmware_map_find_entry() and\n      firmware_map_remove_entry().  Hold the map_entries_lock across find\n      and remove /sys/firmware/memmap/X operation.\n\n       And also, users of these two functions need to be careful to\n      hold the lock when using these two functions.\n\n[tangchen@cn.fujitsu.com: Hold spinlock across find|remove /sys operation]\n[tangchen@cn.fujitsu.com: fix the wrong comments of map_entries]\n[tangchen@cn.fujitsu.com: reuse the storage of /sys/firmware/memmap/X/ allocated by bootmem]\n[tangchen@cn.fujitsu.com: fix section mismatch problem]\n[tangchen@cn.fujitsu.com: fix the doc format in drivers/firmware/memmap.c]\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nSigned-off-by: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nReviewed-by: Kamezawa Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Julian Calaby \u003cjulian.calaby@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": "024e4ec1856d57bb78c06ec903d29dcf716f5f47",
      "tree": "72c89ea735f2aad2f63f64444ec056d7da8e06ff",
      "parents": [
        "850cb82b754c931c570c9cb7f10c9f2181bac617",
        "fb0af3f2b1b613e5ea75426d454c7e5b1d1eef49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:38:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 09:38:18 2013 -0800"
      },
      "message": "Merge tag \u0027please-pull-pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\nPull pstore patches from Tony Luck:\n \"A few fixes to reduce places where pstore might hang a system in the\n  crash path.  Plus a new mountpoint (/sys/fs/pstore ...  makes more\n  sense then /dev/pstore).\"\n\nFix up trivial conflict in drivers/firmware/efivars.c\n\n* tag \u0027please-pull-pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  pstore: Create a convenient mount point for pstore\n  efi_pstore: Introducing workqueue updating sysfs\n  efivars: Disable external interrupt while holding efivars-\u003elock\n  efi_pstore: Avoid deadlock in non-blocking paths\n  pstore: Avoid deadlock in panic and emergency-restart path\n"
    },
    {
      "commit": "a93bc0c6e07ed9bac44700280e65e2945d864fd4",
      "tree": "d14543068b4734356ba2c8eb637b1c87dab378f3",
      "parents": [
        "81fa4e581d9283f7992a0d8c534bb141eb840a14"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Tue Feb 12 13:04:41 2013 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Feb 12 13:04:41 2013 -0800"
      },
      "message": "efi_pstore: Introducing workqueue updating sysfs\n\n[Problem]\nefi_pstore creates sysfs entries, which enable users to access to NVRAM,\nin a write callback. If a kernel panic happens in an interrupt context,\nit may fail because it could sleep due to dynamic memory allocations during\ncreating sysfs entries.\n\n[Patch Description]\nThis patch removes sysfs operations from a write callback by introducing\na workqueue updating sysfs entries which is scheduled after the write\ncallback is called.\n\nAlso, the workqueue is kicked in a just oops case.\nA system will go down in other cases such as panic, clean shutdown and emergency\nrestart. And we don\u0027t need to create sysfs entries because there is no chance for\nusers to access to them.\n\nefi_pstore will be robust against a kernel panic in an interrupt context with this patch.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "81fa4e581d9283f7992a0d8c534bb141eb840a14",
      "tree": "2bc7677534c1cef8dfb5388059777bfb1164e66c",
      "parents": [
        "e59310adf5eebce108f78b6c47bb330aae2e1666"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Tue Feb 12 12:59:07 2013 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Feb 12 12:59:07 2013 -0800"
      },
      "message": "efivars: Disable external interrupt while holding efivars-\u003elock\n\n[Problem]\nThere is a scenario which efi_pstore fails to log messages in a panic case.\n\n - CPUA holds an efi_var-\u003elock in either efivarfs parts\n   or efi_pstore with interrupt enabled.\n - CPUB panics and sends IPI to CPUA in smp_send_stop().\n - CPUA stops with holding the lock.\n - CPUB kicks efi_pstore_write() via kmsg_dump(KSMG_DUMP_PANIC)\n   but it returns without logging messages.\n\n[Patch Description]\nThis patch disables an external interruption while holding efivars-\u003elock\nas follows.\n\nIn efi_pstore_write() and get_var_data(), spin_lock/spin_unlock is\nreplaced by spin_lock_irqsave/spin_unlock_irqrestore because they may\nbe called in an interrupt context.\n\nIn other functions, they are replaced by spin_lock_irq/spin_unlock_irq.\nbecause they are all called from a process context.\n\nBy applying this patch, we can avoid the problem above with\na following senario.\n\n - CPUA holds an efi_var-\u003elock with interrupt disabled.\n - CPUB panics and sends IPI to CPUA in smp_send_stop().\n - CPUA receives the IPI after releasing the lock because it is\n   disabling interrupt while holding the lock.\n - CPUB waits for one sec until CPUA releases the lock.\n - CPUB kicks efi_pstore_write() via kmsg_dump(KSMG_DUMP_PANIC)\n   And it can hold the lock successfully.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nAcked-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "da27a24383b2b10bf6ebd0db29b325548aafecb4",
      "tree": "db48f001f62af527e832fe2c1cd302b30e794b6a",
      "parents": [
        "47f531e8ba3bc3901a0c493f4252826c41dea1a1"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Feb 01 11:02:28 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Feb 12 12:41:54 2013 +0000"
      },
      "message": "efivarfs: guid part of filenames are case-insensitive\n\nIt makes no sense to treat the following filenames as unique,\n\n\tVarName-abcdefab-abcd-abcd-abcd-abcdefabcdef\n\tVarName-ABCDEFAB-ABCD-ABCD-ABCD-ABCDEFABCDEF\n\tVarName-ABcDEfAB-ABcD-ABcD-ABcD-ABcDEfABcDEf\n\tVarName-aBcDEfAB-aBcD-aBcD-aBcD-aBcDEfaBcDEf\n\t... etc ...\n\nsince the guid will be converted into a binary representation, which\nhas no case.\n\nRoll our own dentry operations so that we can treat the variable name\npart of filenames (\"VarName\" in the above example) as case-sensitive,\nbut the guid portion as case-insensitive. That way, efivarfs will\nrefuse to create the above files if any one already exists.\n\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "47f531e8ba3bc3901a0c493f4252826c41dea1a1",
      "tree": "5afbfc2451eb003cda695d4377077862ac932267",
      "parents": [
        "94a193fb7393a50625abd9ca21f8afea275a9f87"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Thu Jan 31 19:02:03 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Feb 12 12:41:49 2013 +0000"
      },
      "message": "efivarfs: Validate filenames much more aggressively\n\nThe only thing that efivarfs does to enforce a valid filename is\nensure that the name isn\u0027t too short. We need to strongly sanitise any\nfilenames, not least because variable creation is delayed until\nefivarfs_file_write(), which means we can\u0027t rely on the firmware to\ninform us of an invalid name, because if the file is never written to\nwe\u0027ll never know it\u0027s invalid.\n\nPerform a couple of steps before agreeing to create a new file,\n\n  * hex_to_bin() returns a value indicating whether or not it was able\n    to convert its arguments to a binary representation - we should\n    check it.\n\n  * Ensure that the GUID portion of the filename is the correct length\n    and format.\n\n  * The variable name portion of the filename needs to be at least one\n    character in size.\n\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "94a193fb7393a50625abd9ca21f8afea275a9f87",
      "tree": "3a2ae392ae294bc5f67da5f43f725819f8a1a913",
      "parents": [
        "deb94101c4fda22e152c2a311210cf09ae51adf6"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Jan 11 13:30:46 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Thu Jan 31 14:44:44 2013 +0000"
      },
      "message": "efivarfs: Use sizeof() instead of magic number\n\nInstead of adding a magic 4 to the variable size, use sizeof() to make\nit explicitly clear what the quantity represents (the variable\u0027s\nattributes).\n\nCC: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Chun-Yi Lee \u003cjoeyli.kernel@gmail.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "04c2eee5b9dfcb13f3cd07a5537fb8c785f2751a",
      "tree": "a70cf1df64b3715c502211233dc307abacaed7da",
      "parents": [
        "bdb0ae6a767ef2622eb282e06fc225e855341653",
        "becbd6608026c15afd88fd3d0c893dfb7b8c7845"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 17:10:36 2013 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 17:10:36 2013 +1100"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 EFI fixes from Peter Anvin:\n \"This is a collection of fixes for the EFI support.  The controversial\n  bit here is a set of patches which bumps the boot protocol version as\n  part of fixing some serious problems with the EFI handover protocol,\n  used when booting under EFI using a bootloader as opposed to directly\n  from EFI.  These changes should also make it a lot saner to support\n  cross-mode 32/64-bit EFI booting in the future.  Getting these changes\n  into 3.8 means we avoid presenting an inconsistent ABI to bootloaders.\n\n  Other changes are display detection and fixing efivarfs.\"\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: remove attribute check from setup_efi_pci\n  x86, build: Dynamically find entry points in compressed startup code\n  x86, efi: Fix PCI ROM handing in EFI boot stub, in 32-bit mode\n  x86, efi: Fix 32-bit EFI handover protocol entry point\n  x86, efi: Fix display detection in EFI boot stub\n  x86, boot: Define the 2.12 bzImage boot protocol\n  x86/boot: Fix minor fd leakage in tools/relocs.c\n  x86, efi: Set runtime_version to the EFI spec revision\n  x86, efi: fix 32-bit warnings in setup_efi_pci()\n  efivarfs: Delete dentry from dcache in efivarfs_file_write()\n  efivarfs: Never return ENOENT from firmware\n  efi, x86: Pass a proper identity mapping in efi_call_phys_prelog\n  efivarfs: Drop link count of the right inode\n"
    },
    {
      "commit": "83e68189745ad931c2afd45d8ee3303929233e7f",
      "tree": "35673a4eebff4c71bda4b1023ccc7cbea36f84b2",
      "parents": [
        "f44310b98ddb7f0d06550d73ed67df5865e3eda5"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Nov 14 09:42:35 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jan 30 11:51:59 2013 -0800"
      },
      "message": "efi: Make \u0027efi_enabled\u0027 a function to query EFI facilities\n\nOriginally \u0027efi_enabled\u0027 indicated whether a kernel was booted from\nEFI firmware. Over time its semantics have changed, and it now\nindicates whether or not we are booted on an EFI machine with\nbit-native firmware, e.g. 64-bit kernel with 64-bit firmware.\n\nThe immediate motivation for this patch is the bug report at,\n\n    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557\n\nwhich details how running a platform driver on an EFI machine that is\ndesigned to run under BIOS can cause the machine to become\nbricked. Also, the following report,\n\n    https://bugzilla.kernel.org/show_bug.cgi?id\u003d47121\n\ndetails how running said driver can also cause Machine Check\nExceptions. Drivers need a new means of detecting whether they\u0027re\nrunning on an EFI machine, as sadly the expression,\n\n    if (!efi_enabled)\n\nhasn\u0027t been a sufficient condition for quite some time.\n\nUsers actually want to query \u0027efi_enabled\u0027 for different reasons -\nwhat they really want access to is the list of available EFI\nfacilities.\n\nFor instance, the x86 reboot code needs to know whether it can invoke\nthe ResetSystem() function provided by the EFI runtime services, while\nthe ACPI OSL code wants to know whether the EFI config tables were\nmapped successfully. There are also checks in some of the platform\ndriver code to simply see if they\u0027re running on an EFI machine (which\nwould make it a bad idea to do BIOS-y things).\n\nThis patch is a prereq for the samsung-laptop fix patch.\n\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Dave Jiang \u003cdave.jiang@intel.com\u003e\nCc: Olof Johansson \u003colof@lixom.net\u003e\nCc: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Colin Ian King \u003ccolin.king@canonical.com\u003e\nCc: Steve Langasek \u003csteve.langasek@canonical.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@kernel.org\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "791eb564d218dabe0f9a2212916fe54240b97afb",
      "tree": "4c722a7e207b800e6f90a469641614a6e4914d1d",
      "parents": [
        "1fa7e6958c5f82cc75c594e3ffaf73cc26fc94c1"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Jan 16 21:55:36 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Jan 18 09:43:44 2013 +0000"
      },
      "message": "efivarfs: Delete dentry from dcache in efivarfs_file_write()\n\nUnlike the unlink path that is called from the VFS layer, we need to\ncall d_delete() ourselves when a variable is deleted in\nefivarfs_file_write().\n\nFailure to do so means we can access a stale struct efivar_entry when\nreading/writing the file, which can result in the following oops,\n\n  [   59.978216] general protection fault: 0000 [#1] SMP\n  [   60.038660] CPU 9\n  [   60.040501] Pid: 1001, comm: cat Not tainted 3.7.0-2.fc19.x86_64 #1 IBM System x3550 M3 -[7944I21]-/69Y4438\n  [   60.050840] RIP: 0010:[\u003cffffffff810d5d1e\u003e]  [\u003cffffffff810d5d1e\u003e] __lock_acquire+0x5e/0x1bb0\n  [   60.059198] RSP: 0018:ffff880270595ce8  EFLAGS: 00010046\n  [   60.064500] RAX: 0000000000000046 RBX: 0000000000000002 RCX: 0000000000000000\n  [   60.071617] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 6b6b6b6b6b6b6b83\n  [   60.078735] RBP: ffff880270595dd8 R08: 0000000000000002 R09: 0000000000000000\n  [   60.085852] R10: 6b6b6b6b6b6b6b83 R11: 0000000000000000 R12: 0000000000000000\n  [   60.092971] R13: ffff88027170cd20 R14: 0000000000000000 R15: 0000000000000000\n  [   60.100091] FS:  00007fc0c8ff3740(0000) GS:ffff880277000000(0000) knlGS:0000000000000000\n  [   60.108164] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  [   60.113899] CR2: 0000000001520000 CR3: 000000026d594000 CR4: 00000000000007e0\n  [   60.121016] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  [   60.128135] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  [   60.135254] Process cat (pid: 1001, threadinfo ffff880270594000, task ffff88027170cd20)\n  [   60.143239] Stack:\n  [   60.145251]  ffff880270595cf8 ffffffff81021da3 ffff880270595d08 ffffffff81021e19\n  [   60.152714]  ffff880270595d38 ffffffff810acdb5 ffff880200000168 0000000000000086\n  [   60.160175]  ffff88027170d5e8 ffffffff810d25ed ffff880270595d58 ffffffff810ace7f\n  [   60.167638] Call Trace:\n  [   60.170088]  [\u003cffffffff81021da3\u003e] ? native_sched_clock+0x13/0x80\n  [   60.176085]  [\u003cffffffff81021e19\u003e] ? sched_clock+0x9/0x10\n  [   60.181389]  [\u003cffffffff810acdb5\u003e] ? sched_clock_cpu+0xc5/0x120\n  [   60.187211]  [\u003cffffffff810d25ed\u003e] ? trace_hardirqs_off+0xd/0x10\n  [   60.193121]  [\u003cffffffff810ace7f\u003e] ? local_clock+0x6f/0x80\n  [   60.198513]  [\u003cffffffff810d2f6f\u003e] ? lock_release_holdtime.part.26+0xf/0x180\n  [   60.205465]  [\u003cffffffff810d7b57\u003e] ? lock_release_non_nested+0x2e7/0x320\n  [   60.212073]  [\u003cffffffff815638bb\u003e] ? efivarfs_file_write+0x5b/0x280\n  [   60.218242]  [\u003cffffffff810d7f41\u003e] lock_acquire+0xa1/0x1f0\n  [   60.223633]  [\u003cffffffff81563971\u003e] ? efivarfs_file_write+0x111/0x280\n  [   60.229892]  [\u003cffffffff8118b47c\u003e] ? might_fault+0x5c/0xb0\n  [   60.235287]  [\u003cffffffff816f1bf6\u003e] _raw_spin_lock+0x46/0x80\n  [   60.240762]  [\u003cffffffff81563971\u003e] ? efivarfs_file_write+0x111/0x280\n  [   60.247018]  [\u003cffffffff81563971\u003e] efivarfs_file_write+0x111/0x280\n  [   60.253103]  [\u003cffffffff811d307f\u003e] vfs_write+0xaf/0x190\n  [   60.258233]  [\u003cffffffff811d33d5\u003e] sys_write+0x55/0xa0\n  [   60.263278]  [\u003cffffffff816fbd19\u003e] system_call_fastpath+0x16/0x1b\n  [   60.269271] Code: 41 0f 45 d8 4c 89 75 f0 4c 89 7d f8 85 c0 0f 84 09 01 00 00 8b 05 a3 f9 ff 00 49 89 fa 41 89 f6 41 89 d3 85 c0 0f 84 12 01 00 00 \u003c49\u003e 8b 02 ba 01 00 00 00 48 3d a0 07 14 82 0f 44 da 41 83 fe 01\n  [   60.289431] RIP  [\u003cffffffff810d5d1e\u003e] __lock_acquire+0x5e/0x1bb0\n  [   60.295444]  RSP \u003cffff880270595ce8\u003e\n  [   60.298928] ---[ end trace 1bbfd41a2cf6a0d8 ]---\n\nCc: Josh Boyer \u003cjwboyer@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Lee, Chun-Yi \u003cjlee@suse.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "1fa7e6958c5f82cc75c594e3ffaf73cc26fc94c1",
      "tree": "dcf54e5649e6e31fef2939f21c4246b1f30585c4",
      "parents": [
        "b8f2c21db390273c3eaf0e5308faeaeb1e233840"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Wed Jan 16 13:47:05 2013 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Jan 18 09:43:44 2013 +0000"
      },
      "message": "efivarfs: Never return ENOENT from firmware\n\nFiles are created in efivarfs_create() before a corresponding variable\nis created in the firmware. This leads to users being able to\nread/write to the file without the variable existing in the\nfirmware. Reading a non-existent variable currently returns -ENOENT,\nwhich is confusing because the file obviously *does* exist.\n\nConvert EFI_NOT_FOUND into -EIO which is the closest thing to \"error\nwhile interacting with firmware\", and should hopefully indicate to the\ncaller that the variable is in some uninitialised state.\n\nCc: Josh Boyer \u003cjwboyer@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Lee, Chun-Yi \u003cjlee@suse.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nReported-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "de5fe95587b4dcc86cc451fce2909dfa504fce10",
      "tree": "0aa4300c1cfd134d192bb48842a550fee6e8e1af",
      "parents": [
        "7d1f9aeff1ee4a20b1aeb377dd0f579fe9647619"
      ],
      "author": {
        "name": "Lingzhu Xiang",
        "email": "lxiang@redhat.com",
        "time": "Sat Jan 05 13:59:52 2013 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Jan 18 09:43:43 2013 +0000"
      },
      "message": "efivarfs: Drop link count of the right inode\n\nefivarfs_unlink() should drop the file\u0027s link count, not the directory\u0027s.\n\nSigned-off-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nCc: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nTested-by: Lee, Chun-Yi \u003cjlee@suse.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "e59310adf5eebce108f78b6c47bb330aae2e1666",
      "tree": "755e6f7348fd37094a856595f4ab33ffc5635ce2",
      "parents": [
        "9f244e9cfd70c7c0f82d3c92ce772ab2a92d9f64"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Fri Jan 11 18:10:05 2013 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jan 11 10:21:56 2013 -0800"
      },
      "message": "efi_pstore: Avoid deadlock in non-blocking paths\n\n[Issue]\n\nThere is a scenario which efi_pstore may hang up:\n\n - cpuA grabs efivars-\u003elock\n - cpuB panics and calls smp_send_stop\n - smp_send_stop sends IRQ to cpuA\n - after 1 second, cpuB gives up on cpuA and sends an NMI instead\n - cpuA is now in an NMI handler while still holding efivars-\u003elock\n - cpuB is deadlocked\n\nThis case may happen if a firmware has a bug and\ncpuA is stuck talking with it.\n\n[Solution]\n\nThis patch changes a spin_lock to a spin_trylock in non-blocking paths.\nand if the spin_lock has already taken by another cpu,\nit returns without accessing to a firmware to avoid the deadlock.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "0fe763c570ad2701c830b9e4e53c65ad89c11c32",
      "tree": "88a648c1cbcda318507d339bf93f1b24af4ff4bf",
      "parents": [
        "8d85fce77edfc22f1d6dbf78e3af723b4b556f3d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:14:44 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:16 2013 -0800"
      },
      "message": "Drivers: misc: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit, __devexit_p, __devinitdata,\n__devinitconst, and __devexit from these drivers.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9f9c9cbb60576a1518d0bf93fb8e499cffccf377",
      "tree": "217db9db9baf699c4392dedbc4a9ae4fce6f442a",
      "parents": [
        "f1d8e614d74b09531b9a85e812485340f3df7b1c"
      ],
      "author": {
        "name": "Zhenzhong Duan",
        "email": "zhenzhong.duan@oracle.com",
        "time": "Thu Dec 20 15:05:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists\n\nThe right dmi version is in SMBIOS if it\u0027s zero in DMI region\n\nThis issue was originally found from an oracle bug.\nOne customer noticed system UUID doesn\u0027t match between dmidecode \u0026 uek2.\n\n - HP ProLiant BL460c G6 :\n   # cat /sys/devices/virtual/dmi/id/product_uuid\n   00000000-0000-4C48-3031-4D5030333531\n   # dmidecode | grep -i uuid\n   UUID: 00000000-0000-484C-3031-4D5030333531\n\nFrom SMBIOS 2.6 on, spec use little-endian encoding for UUID other than\nnetwork byte order.\n\nSo we need to get dmi version to distinguish.  If version is 0.0, the\nreal version is taken from the SMBIOS version.  This is part of original\nkernel comment in code.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nCc: Feng Jin \u003cjoe.jin@oracle.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1d8e614d74b09531b9a85e812485340f3df7b1c",
      "tree": "14fb8e41dafbd1923835e0f7aaf3e7a71261d76a",
      "parents": [
        "038b358e5592eff9be175cf6601042ecc8b28179"
      ],
      "author": {
        "name": "Zhenzhong Duan",
        "email": "zhenzhong.duan@oracle.com",
        "time": "Thu Dec 20 15:05:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "drivers/firmware/dmi_scan.c: check dmi version when get system uuid\n\nAs of version 2.6 of the SMBIOS specification, the first 3 fields of the\nUUID are supposed to be little-endian encoded.\n\nAlso a minor fix to match variable meaning and mute checkpatch.pl\n\n[akpm@linux-foundation.org: tweak code comment]\nSigned-off-by: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nCc: Feng Jin \u003cjoe.jin@oracle.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "992956189de58cae9f2be40585bc25105cd7c5ad",
      "tree": "61f5f6504117c725d3d882f7dc0f29c2c4bf18fd",
      "parents": [
        "ce4a9cc579381bc70b12ebb91c57da31baf8e3b7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Dec 17 17:19:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 20:14:15 2012 -0800"
      },
      "message": "efi: Fix the build with user namespaces enabled.\n\nWhen compiling efivars.c the build fails with:\n\n   CC      drivers/firmware/efivars.o\n  drivers/firmware/efivars.c: In function ‘efivarfs_get_inode’:\n  drivers/firmware/efivars.c:886:31: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’\n  make[2]: *** [drivers/firmware/efivars.o] Error 1\n  make[1]: *** [drivers/firmware/efivars.o] Error 2\n\nFix the build error by removing the duplicate initialization of i_uid and\ni_gid inode_init_always has already initialized them to 0.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d42b3a2906a10b732ea7d7f849d49be79d242ef0",
      "tree": "1f4f2387bf53f8015aa87eb9c05ba8316cb5ed50",
      "parents": [
        "18dd0bf22b6f0c1bd5e4e813a42245ed86ec57b6",
        "e83af1f18c78c7b6aa720beecc927ecc8afd3647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 10:08:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 10:08:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 EFI update from Peter Anvin:\n \"EFI tree, from Matt Fleming.  Most of the patches are the new efivarfs\n  filesystem by Matt Garrett \u0026 co.  The balance are support for EFI\n  wallclock in the absence of a hardware-specific driver, and various\n  fixes and cleanups.\"\n\n* \u0027core-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  efivarfs: Make efivarfs_fill_super() static\n  x86, efi: Check table header length in efi_bgrt_init()\n  efivarfs: Use query_variable_info() to limit kmalloc()\n  efivarfs: Fix return value of efivarfs_file_write()\n  efivarfs: Return a consistent error when efivarfs_get_inode() fails\n  efivarfs: Make \u0027datasize\u0027 unsigned long\n  efivarfs: Add unique magic number\n  efivarfs: Replace magic number with sizeof(attributes)\n  efivarfs: Return an error if we fail to read a variable\n  efi: Clarify GUID length calculations\n  efivarfs: Implement exclusive access for {get,set}_variable\n  efivarfs: efivarfs_fill_super() ensure we clean up correctly on error\n  efivarfs: efivarfs_fill_super() ensure we free our temporary name\n  efivarfs: efivarfs_fill_super() fix inode reference counts\n  efivarfs: efivarfs_create() ensure we drop our reference on inode on error\n  efivarfs: efivarfs_file_read ensure we free data in error paths\n  x86-64/efi: Use EFI to deal with platform wall clock (again)\n  x86/kernel: remove tboot 1:1 page table creation code\n  x86, efi: 1:1 pagetable mapping for virtual EFI calls\n  x86, mm: Include the entire kernel memory map in trampoline_pgd\n  ...\n"
    },
    {
      "commit": "f94ec0c0594ef73ab3a2f1f32735aca8ddaf65e2",
      "tree": "476e4615eb15c6a08d2511802fdcd35418a1896d",
      "parents": [
        "0f7de85a94de553c6cb222b70ac4032d265b362d"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:29:21 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:08:37 2012 -0800"
      },
      "message": "efi_pstore: Add a format check for an existing variable name at erasing time\n\n[Issue]\n\na format of variable name has been updated to type, id, count and ctime\nto support holding multiple logs.\n\nFormat of current variable name\n  dump-type0-1-2-12345678\n\n  type:0\n  id:1\n  count:2\n  ctime:12345678\n\nOn the other hand, if an old variable name before being updated\nremains, users can\u0027t erase it via /dev/pstore.\n\nFormat of old variable name\n  dump-type0-1-12345678\n\n  type:0\n  id:1\n  ctime:12345678\n\n[Solution]\n\nThis patch add a format check for the old variable name in a erase callback to make it erasable.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "0f7de85a94de553c6cb222b70ac4032d265b362d",
      "tree": "9d9dbb7ade849ef391c2464393531c44c1d2e15e",
      "parents": [
        "755d4fe46529018ae45bc7c86df682de45ace764"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:28:50 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:08:30 2012 -0800"
      },
      "message": "efi_pstore: Add a format check for an existing variable name at reading time\n\n[Issue]\n\na format of variable name has been updated to type, id, count and ctime\nto support holding multiple logs.\n\nFormat of current variable name\n  dump-type0-1-2-12345678\n\n  type:0\n  id:1\n  count:2\n  ctime:12345678\n\nOn the other hand, if an old variable name before being updated\nremains, users can\u0027t read it via /dev/pstore.\n\nFormat of old variable name\n  dump-type0-1-12345678\n\n  type:0\n  id:1\n  ctime:12345678\n\n[Solution]\n\nThis patch add a format check for the old variable name in a read callback\nto make it readable.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "755d4fe46529018ae45bc7c86df682de45ace764",
      "tree": "470788ad3e9fa704ef41fa62ac9e770193010853",
      "parents": [
        "a9efd39cd547223597cfe7c53acec44c099b9264"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Mon Nov 26 16:07:44 2012 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:07:44 2012 -0800"
      },
      "message": "efi_pstore: Add a sequence counter to a variable name\n\n[Issue]\n\nCurrently, a variable name, which identifies each entry, consists of type, id and ctime.\nBut if multiple events happens in a short time, a second/third event may fail to log because\nefi_pstore can\u0027t distinguish each event with current variable name.\n\n[Solution]\n\nA reasonable way to identify all events precisely is introducing a sequence counter to\nthe variable name.\n\nThe sequence counter has already supported in a pstore layer with \"oopscount\".\nSo, this patch adds it to a variable name.\nAlso, it is passed to read/erase callbacks of platform drivers in accordance with\nthe modification of the variable name.\n\n  \u003cbefore applying this patch\u003e\n a variable name of first event: dump-type0-1-12345678\n a variable name of second event: dump-type0-1-12345678\n\n  type:0\n  id:1\n  ctime:12345678\n\n If multiple events happen in a short time, efi_pstore can\u0027t distinguish them because\n variable names are same among them.\n\n  \u003cafter applying this patch\u003e\n\n it can be distinguishable by adding a sequence counter as follows.\n\n a variable name of first event: dump-type0-1-1-12345678\n a variable name of Second event: dump-type0-1-2-12345678\n\n  type:0\n  id:1\n  sequence counter: 1(first event), 2(second event)\n  ctime:12345678\n\nIn case of a write callback executed in pstore_console_write(), \"0\" is added to\nan argument of the write callback because it just logs all kernel messages and\ndoesn\u0027t need to care about multiple events.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "a9efd39cd547223597cfe7c53acec44c099b9264",
      "tree": "293feed9e89d811235371d389f7787eddf2899e1",
      "parents": [
        "96480d9c8fcfd7e325e9be6a6c6846689707f8e0"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:27:28 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:02:12 2012 -0800"
      },
      "message": "efi_pstore: Add ctime to argument of erase callback\n\n[Issue]\n\nCurrently, a variable name, which is used to identify each log entry, consists of type,\nid and ctime. But an erase callback does not use ctime.\n\nIf efi_pstore supported just one log, type and id were enough.\nHowever, in case of supporting multiple logs, it doesn\u0027t work because\nit can\u0027t distinguish each entry without ctime at erasing time.\n\n \u003cExample\u003e\n\n As you can see below, efi_pstore can\u0027t differentiate first event from second one without ctime.\n\n a variable name of first event: dump-type0-1-12345678\n a variable name of second event: dump-type0-1-23456789\n\n  type:0\n  id:1\n  ctime:12345678, 23456789\n\n[Solution]\n\nThis patch adds ctime to an argument of an erase callback.\n\nIt works across reboots because ctime of pstore means the date that the record was originally stored.\nTo do this, efi_pstore saves the ctime to variable name at writing time and passes it to pstore\nat reading time.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "96480d9c8fcfd7e325e9be6a6c6846689707f8e0",
      "tree": "5bd027ca5ee3f71a0945add556601dbdf05a20c1",
      "parents": [
        "dd230fecab5e5833b11941f7f4a5732be78b1975"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:26:46 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:02:04 2012 -0800"
      },
      "message": "efi_pstore: Remove a logic erasing entries from a write callback to hold multiple logs\n\n[Issue]\n\nCurrently, efi_pstore driver simply overwrites existing panic messages in NVRAM.\nSo, in the following scenario, we will lose 1st panic messages.\n\n1. kernel panics.\n2. efi_pstore is kicked and writes panic messages to NVRAM.\n3. system reboots.\n4. kernel panics again before a user checks the 1st panic messages in NVRAM.\n\n[Solution]\n\nA reasonable solution to fix the issue is just holding multiple logs without erasing\nexisting entries.\nThis patch removes a logic erasing existing entries in a write callback\nbecause the logic is not needed in the write callback to support holding multiple logs.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "dd230fecab5e5833b11941f7f4a5732be78b1975",
      "tree": "6c835ccdfadc71936a7a503edf13eee277cd3cbf",
      "parents": [
        "d80a361d779a9f19498943d1ca84243209cd5647"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:26:21 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:01:56 2012 -0800"
      },
      "message": "efi_pstore: Add a logic erasing entries to an erase callback\n\n[Issue]\n\nCurrently, efi_pstore driver simply overwrites existing panic messages in NVRAM.\nSo, in the following scenario, we will lose 1st panic messages.\n\n 1. kernel panics.\n 2. efi_pstore is kicked and writes panic messages to NVRAM.\n 3. system reboots.\n 4. kernel panics again before a user checks the 1st panic messages in NVRAM.\n\n[Solution]\n\nA reasonable solution to fix the issue is just holding multiple logs without erasing\nexisting entries.\n\nThis patch freshly adds a logic erasing existing entries, which shared with a write callback,\nto an erase callback.\nTo support holding multiple logs, the write callback doesn\u0027t need to erase any entries and\nit will be removed in a subsequent patch.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "d80a361d779a9f19498943d1ca84243209cd5647",
      "tree": "7d142c3dd3b12f5d77aa9c105482bd2a1a9e354d",
      "parents": [
        "9489e9dcae718d5fde988e4a684a0f55b5f94d17"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Nov 14 20:25:37 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 26 16:01:46 2012 -0800"
      },
      "message": "efi_pstore: Check remaining space with QueryVariableInfo() before writing data\n\n[Issue]\n\nAs discussed in a thread below, Running out of space in EFI isn\u0027t a well-tested scenario.\nAnd we wouldn\u0027t expect all firmware to handle it gracefully.\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d134305325801789\u0026w\u003d2\n\nOn the other hand, current efi_pstore doesn\u0027t check a remaining space of storage at writing time.\nTherefore, efi_pstore may not work if it tries to write a large amount of data.\n\n[Patch Description]\n\nTo avoid handling the situation above, this patch checks if there is a space enough to log with\nQueryVariableInfo() before writing data.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "e83af1f18c78c7b6aa720beecc927ecc8afd3647",
      "tree": "7fd82b5817ef2354119e6154b2e6bf611a84bee3",
      "parents": [
        "5d6d578c170bb280db5d4779f666e456f4f82ec5"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Thu Nov 15 20:03:16 2012 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Thu Nov 15 20:08:13 2012 +0000"
      },
      "message": "efivarfs: Make efivarfs_fill_super() static\n\nsparse is complaining that efivarfs_fill_super() doesn\u0027t have a\nprototype. Make it static to avoid the warning.\n\nCc: Xie ChanglongX \u003cchanglongx.xie@intel.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "89d16665d388837b30972081d97b814be26d68a2",
      "tree": "0fd95e1e9d6886c27e7d9b7eed7464cd2e22988d",
      "parents": [
        "cfcf2f11708f934d2bd294f973c2fcb0cc54f293"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Nov 09 21:02:56 2012 +0000"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Nov 13 12:33:21 2012 +0000"
      },
      "message": "efivarfs: Use query_variable_info() to limit kmalloc()\n\nWe don\u0027t want someone who can write EFI variables to be able to\nallocate arbitrarily large amounts of memory, so cap it to something\nsensible like the amount of free space for EFI variables.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "cfcf2f11708f934d2bd294f973c2fcb0cc54f293",
      "tree": "f92e907f7e56bcf7617c9b56b9bd88450b61729a",
      "parents": [
        "aeeaa8d46aa38c9cc5fac23feb9b1f91bdbf5dd3"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Oct 26 12:18:53 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:28 2012 +0000"
      },
      "message": "efivarfs: Fix return value of efivarfs_file_write()\n\nWe\u0027re stuffing a variable of type size_t (unsigned) into a ssize_t\n(signed) which, even though both types should be the same number of\nbits, it\u0027s just asking for sign issues to be introduced.\n\nCc: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nReported-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "aeeaa8d46aa38c9cc5fac23feb9b1f91bdbf5dd3",
      "tree": "1072c7445eb10b5a9b417c2eabfb6fa8746ed06c",
      "parents": [
        "07b1c5bc64cff9c880261a1fef562ef7ea7f6575"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 23 12:41:03 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:28 2012 +0000"
      },
      "message": "efivarfs: Return a consistent error when efivarfs_get_inode() fails\n\nInstead of returning -ENOSPC if efivarfs_get_inode() fails we should\nbe returning -ENOMEM, since running out of memory is the only reason\nit can fail.  Furthermore, that\u0027s the error value used everywhere else\nin this file. It\u0027s also less likely to confuse users that hit this\nerror case.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "07b1c5bc64cff9c880261a1fef562ef7ea7f6575",
      "tree": "c055ffdac6ab14f8920baba8976fa26cd242fc73",
      "parents": [
        "91716322d834cba34f4a7ed5e4a39673eb90862b"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 23 12:35:43 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:27 2012 +0000"
      },
      "message": "efivarfs: Make \u0027datasize\u0027 unsigned long\n\nThere\u0027s no reason to declare \u0027datasize\u0027 as an int, since the majority\nof the functions it\u0027s passed to expect an unsigned long anyway. Plus,\nthis way we avoid any sign problems during arithmetic.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "91716322d834cba34f4a7ed5e4a39673eb90862b",
      "tree": "9e08dfea53f11f207644c5885b777238b3657b38",
      "parents": [
        "d292384152fdd465dba792d555ce5db83e94efa0"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Mon Oct 22 15:51:45 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:27 2012 +0000"
      },
      "message": "efivarfs: Add unique magic number\n\nUsing pstore\u0027s superblock magic number is no doubt going to cause\nproblems in the future. Give efivarfs its own magic number.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "d292384152fdd465dba792d555ce5db83e94efa0",
      "tree": "9d221602e997270c66aa4565bc1d73280cbf5098",
      "parents": [
        "7253eaba7b179db2e07e67c5b78d5f10b332291d"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Mon Oct 22 15:23:29 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:26 2012 +0000"
      },
      "message": "efivarfs: Replace magic number with sizeof(attributes)\n\nSeeing \"+ 4\" littered throughout the functions gets a bit\nconfusing. Use \"sizeof(attributes)\" which clearly explains what\nquantity we\u0027re adding.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "7253eaba7b179db2e07e67c5b78d5f10b332291d",
      "tree": "e233e80b8601446d75fe85d0f5acf9736502848e",
      "parents": [
        "310ad75448329f167af3c4a10e4a9de4d80058ff"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 16 15:58:07 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:25 2012 +0000"
      },
      "message": "efivarfs: Return an error if we fail to read a variable\n\nInstead of always returning 0 in efivarfs_file_read(), even when we\nfail to successfully read the variable, convert the EFI status to\nsomething meaningful and return that to the caller. This way the user\nwill have some hint as to why the read failed.\n\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "310ad75448329f167af3c4a10e4a9de4d80058ff",
      "tree": "1ef1debdf5b974b35e2c06d77f9ad4dd6ecdee1c",
      "parents": [
        "f5f6a60ad52fc786c517303590f1efaea614c69b"
      ],
      "author": {
        "name": "Jeremy Kerr",
        "email": "jeremy.kerr@canonical.com",
        "time": "Fri Oct 19 15:16:45 2012 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:25 2012 +0000"
      },
      "message": "efi: Clarify GUID length calculations\n\nAt present, the handling of GUIDs in efivar file names isn\u0027t consistent.\nWe use GUID_LEN in some places, and 38 in others (GUID_LEN plus\nseparator), and implicitly use the presence of the trailing NUL.\n\nThis change removes the trailing NUL from GUID_LEN, so that we\u0027re\nexplicitly adding it when required. We also replace magic numbers\nwith GUID_LEN, and clarify the comments where appropriate.\n\nWe also fix the allocation size in efivar_create_sysfs_entry, where\nwe\u0027re allocating one byte too much, due to counting the trailing NUL\ntwice - once when calculating short_name_size, and once in the kzalloc.\n\nSigned-off-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "f5f6a60ad52fc786c517303590f1efaea614c69b",
      "tree": "bb8d8ed9304fea80c240273406385a4e04c2182f",
      "parents": [
        "5ba6e2919b9e18a051e5bdd6c21f52ee4976513f"
      ],
      "author": {
        "name": "Jeremy Kerr",
        "email": "jeremy.kerr@canonical.com",
        "time": "Thu Oct 11 21:19:11 2012 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:24 2012 +0000"
      },
      "message": "efivarfs: Implement exclusive access for {get,set}_variable\n\nCurrently, efivarfs does not enforce exclusion over the get_variable and\nset_variable operations. Section 7.1 of UEFI requires us to only allow a\nsingle processor to enter {get,set}_variable services at once.\n\nThis change acquires the efivars-\u003elock over calls to these operations\nfrom the efivarfs paths.\n\nSigned-off-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "5ba6e2919b9e18a051e5bdd6c21f52ee4976513f",
      "tree": "3596645096f15d3b9423fa67cc3421f3f72458cd",
      "parents": [
        "c0359db1a1c484ea810f4d5a877d3b00d107908b"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Thu Oct 11 11:32:21 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:23 2012 +0000"
      },
      "message": "efivarfs: efivarfs_fill_super() ensure we clean up correctly on error\n\nEnsure we free both the name and inode on error when building the\nindividual variables.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "c0359db1a1c484ea810f4d5a877d3b00d107908b",
      "tree": "54d35d771d8b0bd8fd2e0f2b2b6ae4047c9f000c",
      "parents": [
        "5c9b50ab8ca962bc085cfb49bae947910d73f794"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Thu Oct 11 11:32:20 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:23 2012 +0000"
      },
      "message": "efivarfs: efivarfs_fill_super() ensure we free our temporary name\n\nd_alloc_name() copies the passed name to new storage, once complete we\nno longer need our name.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "5c9b50ab8ca962bc085cfb49bae947910d73f794",
      "tree": "48fb43e7b68aa3bd6597774f8569cd846af7dcd1",
      "parents": [
        "45a937a883c4411648b80e87341b237cc48009c1"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Thu Oct 11 11:32:19 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:22 2012 +0000"
      },
      "message": "efivarfs: efivarfs_fill_super() fix inode reference counts\n\nWhen d_make_root() fails it will automatically drop the reference\non the root inode.  We should not be doing so as well.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "45a937a883c4411648b80e87341b237cc48009c1",
      "tree": "adb0a27e66289e33fd191e93a90f4bb228f3981b",
      "parents": [
        "d142df03a798ee7d2db10a1f20945110ea6067ff"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Thu Oct 11 11:32:18 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:22 2012 +0000"
      },
      "message": "efivarfs: efivarfs_create() ensure we drop our reference on inode on error\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "d142df03a798ee7d2db10a1f20945110ea6067ff",
      "tree": "2bdfa599c3de25faf1ed7507b48c20bae66ce20f",
      "parents": [
        "bd52276fa1d420c3a504b76ffaaa1642cc79d4c4"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Thu Oct 11 11:32:17 2012 +0100"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:21 2012 +0000"
      },
      "message": "efivarfs: efivarfs_file_read ensure we free data in error paths\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "605e70c7aa1b7b0d554baf945630c1d606bbfbc3",
      "tree": "69982941955577654db2bd42ecd5235230407a7a",
      "parents": [
        "0c542edde3cecc99b180a440ae33dcb7f28642ce"
      ],
      "author": {
        "name": "Lee, Chun-Yi",
        "email": "joeyli.kernel@gmail.com",
        "time": "Fri Oct 05 13:54:56 2012 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:18 2012 +0000"
      },
      "message": "efi: add efivars kobject to efi sysfs folder\n\nUEFI variable filesystem need a new mount point, so this patch add\nefivars kobject to efi_kobj for create a /sys/firmware/efi/efivars\nfolder.\n\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Lee, Chun-Yi \u003cjlee@suse.com\u003e\nSigned-off-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "0c542edde3cecc99b180a440ae33dcb7f28642ce",
      "tree": "585dc08504412ff15610f4e716e93b485a4fb2ed",
      "parents": [
        "5d9db883761ad1bc2245fd3018715549b974203d"
      ],
      "author": {
        "name": "Jeremy Kerr",
        "email": "jeremy.kerr@canonical.com",
        "time": "Fri Oct 05 13:54:56 2012 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:17 2012 +0000"
      },
      "message": "efi: Handle deletions and size changes in efivarfs_write_file\n\nA write to an efivarfs file will not always result in a variable of\n\u0027count\u0027 size after the EFI SetVariable() call. We may have appended to\nthe existing data (ie, with the EFI_VARIABLE_APPEND_WRITE attribute), or\neven have deleted the variable (with an authenticated variable update,\nwith a zero datasize).\n\nThis change re-reads the updated variable from firmware, to check for\nsize changes and deletions. In the latter case, we need to drop the\ndentry.\n\nSigned-off-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "5d9db883761ad1bc2245fd3018715549b974203d",
      "tree": "f014ebfff596b735ad9b7628035cf830be632ff0",
      "parents": [
        "ddffeb8c4d0331609ef2581d84de4d763607bd37"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Oct 05 13:54:56 2012 +0800"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Tue Oct 30 10:39:16 2012 +0000"
      },
      "message": "efi: Add support for a UEFI variable filesystem\n\nThe existing EFI variables code only supports variables of up to 1024\nbytes. This limitation existed in version 0.99 of the EFI specification,\nbut was removed before any full releases. Since variables can now be\nlarger than a single page, sysfs isn\u0027t the best interface for this. So,\ninstead, let\u0027s add a filesystem. Variables can be read, written and\ncreated, with the first 4 bytes of each variable representing its UEFI\nattributes. The create() method doesn\u0027t actually commit to flash since\nzero-length variables can\u0027t exist per-spec.\n\nUpdates from Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jeremy Kerr \u003cjeremy.kerr@canonical.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "bac716966094e39c8027428993a57b79f2dd6c97",
      "tree": "468a1a1c9ec62272deba7a2213826a1a18f172ff",
      "parents": [
        "bbc2e3ef87851bc5430b2b4cf4ca3a2f29baeda6"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Oct 19 13:56:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 19 14:07:47 2012 -0700"
      },
      "message": "firmware/memmap: avoid type conflicts with the generic memmap_init()\n\nFix this build error:\n\n  drivers/firmware/memmap.c:240:19: error: conflicting types for \u0027memmap_init\u0027\n  arch/ia64/include/asm/pgtable.h:565:17: note: previous declaration of \u0027memmap_init\u0027 was here\n\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7083909023bbe29b3176e92d2d089def1aa7aa1e",
      "tree": "59353913f020a0318ad1f5c8a099ecdccd132de8",
      "parents": [
        "cfe016b14e1ee106e906ddfe77d598a2b288d7d6"
      ],
      "author": {
        "name": "Khalid Aziz",
        "email": "khalid.aziz@hp.com",
        "time": "Mon Sep 10 12:52:42 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 10 16:40:30 2012 -0700"
      },
      "message": "firmware: Add missing attributes to EFI variable attribute print out from sysfs\n\nSome of the EFI variable attributes are missing from print out from\n/sys/firmware/efi/vars/*/attributes. This patch adds those in. It also\nupdates code to use pre-defined constants for masking current value\nof attributes.\n\nSigned-off-by: Khalid Aziz \u003ckhalid.aziz@hp.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
      "tree": "9985cfa26e0597128eae03a2ee7e4614efea571f",
      "parents": [
        "941c8726e4e737e74d418ccec3d8e7b946a65541",
        "d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "message": "Merge tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull random subsystem patches from Ted Ts\u0027o:\n \"This patch series contains a major revamp of how we collect entropy\n  from interrupts for /dev/random and /dev/urandom.\n\n  The goal is to addresses weaknesses discussed in the paper \"Mining\n  your Ps and Qs: Detection of Widespread Weak Keys in Network Devices\",\n  by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J.  Alex Halderman,\n  which will be published in the Proceedings of the 21st Usenix Security\n  Symposium, August 2012.  (See https://factorable.net for more\n  information and an extended version of the paper.)\"\n\nFix up trivial conflicts due to nearby changes in\ndrivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}\n\n* tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)\n  random: mix in architectural randomness in extract_buf()\n  dmi: Feed DMI table to /dev/random driver\n  random: Add comment to random_initialize()\n  random: final removal of IRQF_SAMPLE_RANDOM\n  um: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out\n  uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  ...\n"
    },
    {
      "commit": "4ed940d4c34c21a1a356969a923f2815d608e0bf",
      "tree": "47c0f4e61acf7ee814d224bf5965e5b1c77f99d1",
      "parents": [
        "4b0681487bf72fdb86b42c93b7d8a607e5a426b1"
      ],
      "author": {
        "name": "Yasuaki Ishimatsu",
        "email": "isimatu.yasuaki@jp.fujitsu.com",
        "time": "Mon Jul 30 14:41:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:17 2012 -0700"
      },
      "message": "firmware_map: make firmware_map_add_early() argument consistent with firmware_map_add_hotplug()\n\nThere are two ways to create /sys/firmware/memmap/X sysfs:\n\n  - firmware_map_add_early\n    When the system starts, it is calledd from e820_reserve_resources()\n  - firmware_map_add_hotplug\n    When the memory is hot plugged, it is called from add_memory()\n\nBut these functions are called without unifying value of end argument as\nbelow:\n\n  - end argument of firmware_map_add_early()   : start + size - 1\n  - end argument of firmware_map_add_hogplug() : start + size\n\nThe patch unifies them to \"start + size\".  Even if applying the patch,\n/sys/firmware/memmap/X/end file content does not change.\n\n[akpm@linux-foundation.org: clarify comments]\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nReviewed-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c4088ac3a4d82779903433bcd5f048c58fb1aca",
      "tree": "340e08b70ce66e6ec540577de018ccf3025c4fba",
      "parents": [
        "dc32f63453f56d07a1073a697dcd843dd3098c09"
      ],
      "author": {
        "name": "Greg Pearson",
        "email": "greg.pearson@hp.com",
        "time": "Mon Jul 30 14:39:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:11 2012 -0700"
      },
      "message": "pcdp: use early_ioremap/early_iounmap to access pcdp table\n\nefi_setup_pcdp_console() is called during boot to parse the HCDP/PCDP\nEFI system table and setup an early console for printk output.  The\nroutine uses ioremap/iounmap to setup access to the HCDP/PCDP table\ninformation.\n\nThe call to ioremap is happening early in the boot process which leads\nto a panic on x86_64 systems:\n\n    panic+0x01ca\n    do_exit+0x043c\n    oops_end+0x00a7\n    no_context+0x0119\n    __bad_area_nosemaphore+0x0138\n    bad_area_nosemaphore+0x000e\n    do_page_fault+0x0321\n    page_fault+0x0020\n    reserve_memtype+0x02a1\n    __ioremap_caller+0x0123\n    ioremap_nocache+0x0012\n    efi_setup_pcdp_console+0x002b\n    setup_arch+0x03a9\n    start_kernel+0x00d4\n    x86_64_start_reservations+0x012c\n    x86_64_start_kernel+0x00fe\n\nThis replaces the calls to ioremap/iounmap in efi_setup_pcdp_console()\nwith calls to early_ioremap/early_iounmap which can be called during\nearly boot.\n\nThis patch was tested on an x86_64 prototype system which uses the\nHCDP/PCDP table for early console setup.\n\nSigned-off-by: Greg Pearson \u003cgreg.pearson@hp.com\u003e\nAcked-by: Khalid Aziz \u003ckhalid.aziz@hp.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d114a33387472555188f142ed8e98acdb8181c6d",
      "tree": "cc03a96acc7de8bc7a11df6d7b209e8ba3c3795a",
      "parents": [
        "cbc96b7594b5691d61eba2db8b2ea723645be9ca"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 13:15:20 2012 -0700"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 24 13:16:41 2012 -0400"
      },
      "message": "dmi: Feed DMI table to /dev/random driver\n\nSend the entire DMI (SMBIOS) table to the /dev/random driver to\nhelp seed its pools.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "54b3a4d311c98ad94b737802a8b5f2c8c6bfd627",
      "tree": "f31c73c1330a04beb085a1c30a18b102684ef8ae",
      "parents": [
        "fec6c20b570bcf541e581fc97f2e0cbdb9725b98"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu May 03 16:50:46 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 03 17:19:19 2012 -0700"
      },
      "message": "efivars: Improve variable validation\n\nBen Hutchings pointed out that the validation in efivars was inadequate -\nmost obviously, an entry with size 0 would server as a DoS against the\nkernel. Improve this based on his suggestions.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fec6c20b570bcf541e581fc97f2e0cbdb9725b98",
      "tree": "2c84d6748a2aeff0f98ef5abbcc0144273bb8978",
      "parents": [
        "41b3254c93acc56adc3c4477fef7c9512d47659e"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Apr 30 16:11:30 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 30 15:30:18 2012 -0700"
      },
      "message": "efi: Validate UEFI boot variables\n\nA common flaw in UEFI systems is a refusal to POST triggered by a malformed\nboot variable. Once in this state, machines may only be restored by\nreflashing their firmware with an external hardware device. While this is\nobviously a firmware bug, the serious nature of the outcome suggests that\noperating systems should filter their variable writes in order to prevent\na malicious user from rendering the machine unusable.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a429638cac1e5c656818a45aaff78df7b743004e",
      "tree": "0465e0d7a431bff97a3dd5a1f91d9b30c69ae0d8",
      "parents": [
        "5cf9a4e69c1ff0ccdd1d2b7404f95c0531355274",
        "9e4ce164ee3a1d07580f017069c25d180b0aa785"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)\n  ASoC: twl6040 - Add method to query optimum PDM_DL1 gain\n  ALSA: hda - Fix the lost power-setup of seconary pins after PM resume\n  ALSA: usb-audio: add Yamaha MOX6/MOX8 support\n  ALSA: virtuoso: add S/PDIF input support for all Xonars\n  ALSA: ice1724 - Support for ooAoo SQ210a\n  ALSA: ice1724 - Allow card info based on model only\n  ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations\n  ALSA: hdspm - Provide unique driver id based on card serial\n  ASoC: Dynamically allocate the rtd device for a non-empty release()\n  ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC\n  ALSA: hda - Fix the detection of \"Loopback Mixing\" control for VIA codecs\n  ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs\n  ALSA: hda - Use auto-parser for HP laptops with cx20459 codec\n  ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()\n  ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()\n  ALSA: hda/cirrus - support for iMac12,2 model\n  ASoC: cx20442: add bias control over a platform provided regulator\n  ALSA: usb-audio - Avoid flood of frame-active debug messages\n  ALSA: snd-usb-us122l: Delete calls to preempt_disable\n  mfd: Put WM8994 into cache only mode when suspending\n  ...\n\nFix up trivial conflicts in:\n - arch/arm/mach-s3c64xx/mach-crag6410.c:\n\trenamed speyside_wm8962 to tobermory, added littlemill right\n\tnext to it\n - drivers/base/regmap/{regcache.c,regmap.c}:\n\tduplicate diff that had already come in with other changes in\n\tthe regmap tree\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "7affca3537d74365128e477b40c529d6f2fe86c8",
      "tree": "20be92bd240029182fc89c2c4f25401b7715dcae",
      "parents": [
        "356b95424cfb456e14a59eaa579422ce014c424b",
        "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)\n  arm: fix up some samsung merge sysdev conversion problems\n  firmware: Fix an oops on reading fw_priv-\u003efw in sysfs loading file\n  Drivers:hv: Fix a bug in vmbus_driver_unregister()\n  driver core: remove __must_check from device_create_file\n  debugfs: add missing #ifdef HAS_IOMEM\n  arm: time.h: remove device.h #include\n  driver-core: remove sysdev.h usage.\n  clockevents: remove sysdev.h\n  arm: convert sysdev_class to a regular subsystem\n  arm: leds: convert sysdev_class to a regular subsystem\n  kobject: remove kset_find_obj_hinted()\n  m86k: gpio - convert sysdev_class to a regular subsystem\n  mips: txx9_sram - convert sysdev_class to a regular subsystem\n  mips: 7segled - convert sysdev_class to a regular subsystem\n  sh: dma - convert sysdev_class to a regular subsystem\n  sh: intc - convert sysdev_class to a regular subsystem\n  power: suspend - convert sysdev_class to a regular subsystem\n  power: qe_ic - convert sysdev_class to a regular subsystem\n  power: cmm - convert sysdev_class to a regular subsystem\n  s390: time - convert sysdev_class to a regular subsystem\n  ...\n\nFix up conflicts with \u0027struct sysdev\u0027 removal from various platform\ndrivers that got changed:\n - arch/arm/mach-exynos/cpu.c\n - arch/arm/mach-exynos/irq-eint.c\n - arch/arm/mach-s3c64xx/common.c\n - arch/arm/mach-s3c64xx/cpu.c\n - arch/arm/mach-s5p64x0/cpu.c\n - arch/arm/mach-s5pv210/common.c\n - arch/arm/plat-samsung/include/plat/cpu.h\n - arch/powerpc/kernel/sysfs.c\nand fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h\n"
    },
    {
      "commit": "6ed23fd6c08b3ffa17c1f841098d2fa2ab3a59dd",
      "tree": "5cb5bb5dbefbb6458eff4bdae3c091ca3c02d685",
      "parents": [
        "5ee354a0295c34aa7da07be8490f86edee2c7883",
        "2174f6df7891fa331800beb72634c969f017900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:03:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:03:02 2012 -0800"
      },
      "message": "Merge branch \u0027pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\n* \u0027pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  pstore: gracefully handle NULL pstore_info functions\n  pstore: pass reason to backend write callback\n"
    },
    {
      "commit": "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df",
      "tree": "d851c923f85566572112d4c0f884cff388a3cc05",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610",
        "ea04018e6bc5ddb2f0466c0e5b986bd4901b7e8e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 into Linux 3.2\n\nThis resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,\nand it fixes the build error in the arch/x86/kernel/microcode_core.c\nfile, that the merge did not catch.\n\nThe microcode_core.c patch was provided by Stephen Rothwell\n\u003csfr@canb.auug.org.au\u003e who was invaluable in the merge issues involved\nwith the large sysdev removal process in the driver-core tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "587a1f1659e8b330b8738ef4901832a2b63f0bed",
      "tree": "b785c3f44ddba6ee036e02268502cdc961f55ea0",
      "parents": [
        "9104e427f3e21ddb380ddc39752624365b5bffea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 23:11:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch -\u003eis_visible() to returning umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f12d2ee52dcf97dcefdadbd500e7650311eaa6a",
      "tree": "c202e2cfcfec48a841bf89ea808f1e42ba5db2a6",
      "parents": [
        "88703f27758211fdda9bbbdf837330b27479e2b9",
        "935a9fee51c945b8942be2d7b4bae069167b4886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 15 14:16:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 15 14:16:47 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:\n  ibft: Fix finding IBFT ACPI table on UEFI\n"
    },
    {
      "commit": "935a9fee51c945b8942be2d7b4bae069167b4886",
      "tree": "2b69b5411125829b54b4f13a7350fdd4e112b61c",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai.lu@oracle.com",
        "time": "Mon Dec 12 12:39:14 2011 -0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad@kernel.org",
        "time": "Tue Dec 13 09:08:31 2011 -0500"
      },
      "message": "ibft: Fix finding IBFT ACPI table on UEFI\n\nFound one system with UEFI/iBFT, kernel does not detect the iBFT during\niscsi_ibft module loading.\n\nRoot cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier\n- specifically in setup_arch() before ACPI is enabled.\n\nTry to split acpi checking code out and call that later\n\nAt that time ACPI iBFT already get permanent mapped with ioremap.\nSo isa_virt_to_bus() will get wrong phys from right virt address.\nWe could just skip that phys address printing.\n\nFor legacy one, print the found address early.\n\n-v2: update comments and description according to Konrad.\n-v3: fix problem about module use case that is found by Konrad.\n-v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad@kernel.org\u003e\n"
    },
    {
      "commit": "68556ca1e03d6a35be3b315eba58df2f8176e3a0",
      "tree": "36a390d29a0d03a59a90c0f223b0d98a80f0f6c3",
      "parents": [
        "0604ca48f1689ad06144b81f5c08f297b6edd831",
        "8ab30691826fc05efa47c4ffba19b80496bb3a2c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 13 00:19:20 2011 +0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 13 00:19:20 2011 +0800"
      },
      "message": "Merge branch \u0027mfd/wm8994\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into for-3.3\n"
    },
    {
      "commit": "d2554f50df9be3c53a13f7541a5f4d054bd56cc3",
      "tree": "71443fba0d84861b5f2b4b8025768b98b3ca776d",
      "parents": [
        "5a3072be6ce00b10565c78da05ad78df41310045"
      ],
      "author": {
        "name": "Maxin B. John",
        "email": "maxin.john@gmail.com",
        "time": "Thu Dec 01 01:37:33 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 16:23:49 2011 -0800"
      },
      "message": "firmware: google: fix gsmi.c build warning\n\nUse min_t() macro instead of min() to fix a build warning:\n\n  CC      drivers/firmware/google/gsmi.o\ndrivers/firmware/google/gsmi.c: In function ‘gsmi_get_variable’:\ndrivers/firmware/google/gsmi.c:348: warning: comparison of distinct\npointer types lacks a cast\n\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nAcked-By: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0efebaa72d3b8cf377c45930c78e1a0969d6355a",
      "tree": "d2ca6e400a32d502160b4dc0678d57805f6e9ae7",
      "parents": [
        "5983fe2b29df5885880d7fa3b91aca306c7564ef",
        "cf54d47c13c2b171f946289de445102c676d4258"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 02 08:10:51 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 02 08:10:51 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED\n  ALSA: hda_intel - revert a quirk that affect VIA chipsets\n  ALSA: hda - Avoid touching mute-VREF pin for IDT codecs\n  firmware: Sigma: Fix endianess issues\n  firmware: Sigma: Skip header during CRC generation\n  firmware: Sigma: Prevent out of bounds memory access\n  ALSA: usb-audio - Support for Roland GAIA SH-01 Synthesizer\n  ASoC: Supply dcs_codes for newer WM1811 revisions\n  ASoC: Error out if we can\u0027t generate a LRCLK at all for WM8994\n  ASoC: Correct name of Speyside Main Speaker widget\n  ASoC: skip resume of soc-audio devices without codecs\n  ASoC: cs42l51: Fix off-by-one for reg_cache_size\n  ASoC: drop support for PlayPaq with WM8510\n  ASoC: mpc8610: tell the CS4270 codec that it\u0027s the master\n  ASoC: cs4720: use snd_soc_cache_sync()\n  ASoC: SAMSUNG: Fix build error\n  ASoC: max9877: Update register if either val or val2 is changed\n  ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSET\n"
    },
    {
      "commit": "40216ce7aa88c2e70869723a0f5929fdbd4a91c5",
      "tree": "58591841674e312f96317621843b365b8fd9fed2",
      "parents": [
        "1db7c89c62b3c0a0ebf8c07975ae907fa404116a"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 28 09:44:17 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 12:01:10 2011 +0000"
      },
      "message": "ASoC: Move SigmaDSP firmware loader to ASoC\n\nIt has been pointed out previously, that the firmware subsystem is not the right\nplace for the SigmaDSP firmware loader. Furthermore the SigmaDSP is currently\nonly used in audio products and we are aiming for better integration into the\nASoC framework in the future, with support for ALSA controls for firmware\nparameters and support dynamic power management as well. So the natural choice\nfor the SigmaDSP firmware loader is the ASoC subsystem.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bda63586bc5929e97288cdb371bb6456504867ed",
      "tree": "3e3bf8635b430858b44e43dd8b8c8cfd682fe8c5",
      "parents": [
        "c56935bdc0a8edf50237d3b0205133a5b0adc604"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 28 09:44:16 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 11:59:50 2011 +0000"
      },
      "message": "firmware: Sigma: Fix endianess issues\n\nCurrently the SigmaDSP firmware loader only works correctly on little-endian\nsystems. Fix this by using the proper endianess conversion functions.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c56935bdc0a8edf50237d3b0205133a5b0adc604",
      "tree": "0520283ac825f78162cb674e79d85e6fb60f76f0",
      "parents": [
        "4f718a29fe4908c2cea782f751e9805319684e2b"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 28 09:44:15 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 11:59:44 2011 +0000"
      },
      "message": "firmware: Sigma: Skip header during CRC generation\n\nThe firmware header is not part of the CRC, so skip it. Otherwise the firmware\nwill be rejected due to non-matching CRCs.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "4f718a29fe4908c2cea782f751e9805319684e2b",
      "tree": "e4d9d630d4200a40bcc96b2a168828f8fb4ed1df",
      "parents": [
        "fc8e6e8668e74fbf8e00d6e143d7f43b20f73f32"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 28 09:44:14 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 11:53:53 2011 +0000"
      },
      "message": "firmware: Sigma: Prevent out of bounds memory access\n\nThe SigmaDSP firmware loader currently does not perform enough boundary size\nchecks when processing the firmware. As a result it is possible that a\nmalformed firmware can cause an out of bounds memory access.\n\nThis patch adds checks which ensure that both the action header and the payload\nare completely inside the firmware data boundaries before processing them.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8748dfae379573cdbea4e765b55e608a1764f918",
      "tree": "d67f5c0ddd3a63481b14cd327779eeaf0bc165e9",
      "parents": [
        "a34815b96f9a21b3a2e2912dfd0d994acd2855e3",
        "eee628da2ee3cbba6f14696278c92a464239eea6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 16:37:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 16:37:35 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  efivars: add missing parameter to efi_pstore_read()\n"
    },
    {
      "commit": "eee628da2ee3cbba6f14696278c92a464239eea6",
      "tree": "d66440dd23e30649cf34ba61d360a4fd0f4c51e0",
      "parents": [
        "f6f8285132907757ef84ef8dae0a1244b8cde6ac"
      ],
      "author": {
        "name": "Christoph Fritz",
        "email": "chf.fritz@googlemail.com",
        "time": "Mon Nov 28 23:49:33 2011 +0100"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Nov 28 15:33:32 2011 -0800"
      },
      "message": "efivars: add missing parameter to efi_pstore_read()\n\nIn the case where CONFIG_PSTORE\u003dn, the function efi_pstore_read() doesn\u0027t\nhave the correct list of parameters. This patch provides a definition\nof efi_pstore_read() with \u0027char **buf\u0027 added to fix this warning:\n\"drivers/firmware/efivars.c:609: warning: initialization from\".\n\nproblem introduced in commit f6f8285132907757ef84ef8dae0a1244b8cde6ac\n\nSigned-off-by: Christoph Fritz \u003cchf.fritz@googlemail.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "cb3599926e3e7b3678583195effa61a03026ab0e",
      "tree": "775419d69e8732ba3f4933d3b7a07e98ae555458",
      "parents": [
        "4244cb482e8eab18142162a27c8829a04585863a",
        "f6f8285132907757ef84ef8dae0a1244b8cde6ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 11:27:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 11:27:57 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  pstore: pass allocated memory region back to caller\n"
    },
    {
      "commit": "3d6d8d20ec4fd3b256632edb373a9c504724b8a9",
      "tree": "6bb1a530bb50fcdb24a2db48d095480e741ae371",
      "parents": [
        "f6f8285132907757ef84ef8dae0a1244b8cde6ac"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Nov 17 13:13:29 2011 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Nov 17 13:13:29 2011 -0800"
      },
      "message": "pstore: pass reason to backend write callback\n\nThis allows a backend to filter on the dmesg reason as well as the pstore\nreason. When ramoops is switched to pstore, this is needed since it has\nno interest in storing non-crash dmesg details.\n\nDrop pstore_write() as it has no users, and handling the \"reason\" here\nhas no obviously correct value.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "f6f8285132907757ef84ef8dae0a1244b8cde6ac",
      "tree": "f3d3b37349e79251cfe16ef0f39e0b4af1a266b1",
      "parents": [
        "cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Nov 17 12:58:07 2011 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Nov 17 12:58:07 2011 -0800"
      },
      "message": "pstore: pass allocated memory region back to caller\n\nThe buf_lock cannot be held while populating the inodes, so make the backend\npass forward an allocated and filled buffer instead. This solves the following\nbacktrace. The effect is that \"buf\" is only ever used to notify the backends\nthat something was written to it, and shouldn\u0027t be used in the read path.\n\nTo replace the buf_lock during the read path, isolate the open/read/close\nloop with a separate mutex to maintain serialized access to the backend.\n\nNote that is is up to the pstore backend to cope if the (*write)() path is\ncalled in the middle of the read path.\n\n[   59.691019] BUG: sleeping function called from invalid context at .../mm/slub.c:847\n[   59.691019] in_atomic(): 0, irqs_disabled(): 1, pid: 1819, name: mount\n[   59.691019] Pid: 1819, comm: mount Not tainted 3.0.8 #1\n[   59.691019] Call Trace:\n[   59.691019]  [\u003c810252d5\u003e] __might_sleep+0xc3/0xca\n[   59.691019]  [\u003c810a26e6\u003e] kmem_cache_alloc+0x32/0xf3\n[   59.691019]  [\u003c810b53ac\u003e] ? __d_lookup_rcu+0x6f/0xf4\n[   59.691019]  [\u003c810b68b1\u003e] alloc_inode+0x2a/0x64\n[   59.691019]  [\u003c810b6903\u003e] new_inode+0x18/0x43\n[   59.691019]  [\u003c81142447\u003e] pstore_get_inode.isra.1+0x11/0x98\n[   59.691019]  [\u003c81142623\u003e] pstore_mkfile+0xae/0x26f\n[   59.691019]  [\u003c810a2a66\u003e] ? kmem_cache_free+0x19/0xb1\n[   59.691019]  [\u003c8116c821\u003e] ? ida_get_new_above+0x140/0x158\n[   59.691019]  [\u003c811708ea\u003e] ? __init_rwsem+0x1e/0x2c\n[   59.691019]  [\u003c810b67e8\u003e] ? inode_init_always+0x111/0x1b0\n[   59.691019]  [\u003c8102127e\u003e] ? should_resched+0xd/0x27\n[   59.691019]  [\u003c8137977f\u003e] ? _cond_resched+0xd/0x21\n[   59.691019]  [\u003c81142abf\u003e] pstore_get_records+0x52/0xa7\n[   59.691019]  [\u003c8114254b\u003e] pstore_fill_super+0x7d/0x91\n[   59.691019]  [\u003c810a7ff5\u003e] mount_single+0x46/0x82\n[   59.691019]  [\u003c8114231a\u003e] pstore_mount+0x15/0x17\n[   59.691019]  [\u003c811424ce\u003e] ? pstore_get_inode.isra.1+0x98/0x98\n[   59.691019]  [\u003c810a8199\u003e] mount_fs+0x5a/0x12d\n[   59.691019]  [\u003c810b9174\u003e] ? alloc_vfsmnt+0xa4/0x14a\n[   59.691019]  [\u003c810b9474\u003e] vfs_kern_mount+0x4f/0x7d\n[   59.691019]  [\u003c810b9d7e\u003e] do_kern_mount+0x34/0xb2\n[   59.691019]  [\u003c810bb15f\u003e] do_mount+0x5fc/0x64a\n[   59.691019]  [\u003c810912fb\u003e] ? strndup_user+0x2e/0x3f\n[   59.691019]  [\u003c810bb3cb\u003e] sys_mount+0x66/0x99\n[   59.691019]  [\u003c8137b537\u003e] sysenter_do_call+0x12/0x26\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "66e13e66b6c4e5b2ecd6225e1f8437640cfb6498",
      "tree": "f84eda181ba94a3d9040e0f14399bd426dfc02be",
      "parents": [
        "5aecc85abdb9ac2b0e6548d13652a34142e7ae89"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Nov 15 14:36:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 15 22:41:51 2011 -0200"
      },
      "message": "drivers/firmware/dmi_scan.c: make dmi_name_in_vendors more focused\n\nThe current implementation of dmi_name_in_vendors() is an invitation to\nlazy coding and false positives [1].  Searching for a string in 8 know\nwhat you\u0027re looking for, so you should know where to look.  strstr isn\u0027t\nfast, especially when it fails, so we should avoid calling it when it\njust can\u0027t succeed.\n\nLooking at the current users of the function, it seems clear to me that\nthey are looking for a system or board vendor name, so let\u0027s limit\ndmi_name_in_vendors to these two DMI fields.  This much better matches\nthe function name, BTW.\n\n[1] We currently have code looking for short names in DMI data, such as\n\"IBM\", \"ASUS\" or \"Acer\".  I let you guess what will happen the day other\nvendors ship products named, for example, \"SCHREIBMEISTER\", \"PEGASUS\" or\n\"Acerola\".\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "cd3f07d1e6e59fade92a8edaff9315cc534199cf",
      "tree": "a2f30bccdfad1826a81c098c6766c2a4345fc171",
      "parents": [
        "dc822e57ee05856291a8c9324d2309076ee5f5e2",
        "f7c9c6bb14f3104608a3a83cadea10a6943d2804"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 05 15:32:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 05 15:32:53 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)\n  [SCSI] Fix block queue and elevator memory leak in scsi_alloc_sdev\n  [SCSI] scsi_dh_alua: Fix the time inteval for alua rtpg commands\n  [SCSI] scsi_transport_iscsi: Fix documentation os parameter\n  [SCSI] mv_sas: OCZ RevoDrive3 \u0026 zDrive R4 support\n  [SCSI] libfc: improve flogi retries to avoid lport stuck\n  [SCSI] libfc: avoid exchanges collision during lport reset\n  [SCSI] libfc: fix checking FC_TYPE_BLS\n  [SCSI] edd: Treat \"XPRS\" host bus type the same as \"PCI\"\n  [SCSI] isci: overriding max_concurr_spinup oem parameter by max(oem, user)\n  [SCSI] isci: revert bcn filtering\n  [SCSI] isci: Fix hard reset timeout conditions.\n  [SCSI] isci: No need to manage the pending reset bit on pending requests.\n  [SCSI] isci: Remove redundant isci_request.ttype field.\n  [SCSI] isci: Fix task management for SMP, SATA and on dev remove.\n  [SCSI] isci: No task_done callbacks in error handler paths.\n  [SCSI] isci: Handle task request timeouts correctly.\n  [SCSI] isci: Fix tag leak in tasks and terminated requests.\n  [SCSI] isci: Immediately fail I/O to removed devices.\n  [SCSI] isci: Lookup device references through requests in completions.\n  [SCSI] ipr: add definitions for additional adapter\n  ...\n"
    },
    {
      "commit": "1c398651518c7e25a9fb3f08b456c73d5ca22469",
      "tree": "116ad4df5c8faa5f8e0d7982c479bf08ea01f2ec",
      "parents": [
        "f470f8d4e702593ee1d0852871ad80373bce707b",
        "b238b8fa93353ab50c9a2b1e2fa47a0ab01c37cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:52:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:52:29 2011 -0700"
      },
      "message": "Merge branch \u0027pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\n* \u0027pstore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  pstore: make pstore write function return normal success/fail value\n  pstore: change mutex locking to spin_locks\n  pstore: defer inserting OOPS entries into pstore\n"
    },
    {
      "commit": "afd605f68392d85638e1499143b9ad2e1389d742",
      "tree": "8d13af0c1764f5c4e45be1fb6e74d0180499175b",
      "parents": [
        "823467e5fc0c8566a93cfca0e40df6d5de6a4bc3"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 03 13:38:03 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:46 2011 -0400"
      },
      "message": "drivers/firmware: Add module.h to google/gsmi.c\n\nThis file really needs the full module.h header file present, but\nwas just getting it implicitly before.  Fix it up in advance so we\navoid build failures once the cleanup commit is present.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "044aceef33bba7a471a3ed47ac60998b2983b18b",
      "tree": "f8084cc39ed3b750c9677ebee984ecafcf5627fe",
      "parents": [
        "7000f7c71e2457391e3249eac1ae53c91f49a8c0"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Fri Oct 28 11:34:07 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Oct 31 13:26:19 2011 +0400"
      },
      "message": "[SCSI] edd: Treat \"XPRS\" host bus type the same as \"PCI\"\n\nPCI Express devices will return \"XPRS\" host bus type during BIOS EDD\ncall.  \"XPRS\" should be treated just like \"PCI\" so that the proper\npci_dev symlink will be created.  Scripts such as fcoe_edd.sh will\nthen work correctly.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nReviewed-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b238b8fa93353ab50c9a2b1e2fa47a0ab01c37cd",
      "tree": "a46a6ce7567d9826ae48c2f3dc5aa0167de1f26c",
      "parents": [
        "abd4d5587be911f63592537284dad78766d97d62"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Wed Oct 12 09:17:24 2011 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Oct 12 09:17:24 2011 -0700"
      },
      "message": "pstore: make pstore write function return normal success/fail value\n\nCurrently pstore write interface employs record id as return\nvalue, but it is not enough because it can\u0027t tell caller if\nthe write operation is successful. Pass the record id back via\nan argument pointer and return zero for success, non-zero for\nfailure.\n\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "abd4d5587be911f63592537284dad78766d97d62",
      "tree": "50d88b64ded1189d6c816a1f90124a05354914ba",
      "parents": [
        "6dda9266913ad57e09afc1a10d6473f10c806a63"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Fri Aug 12 10:54:51 2011 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Aug 16 11:55:58 2011 -0700"
      },
      "message": "pstore: change mutex locking to spin_locks\n\npstore was using mutex locking to protect read/write access to the\nbackend plug-ins.  This causes problems when pstore is executed in\nan NMI context through panic() -\u003e kmsg_dump().\n\nThis patch changes the mutex to a spin_lock_irqsave then also checks to\nsee if we are in an NMI context.  If we are in an NMI and can\u0027t get the\nlock, just print a message stating that and blow by the locking.\n\nAll this is probably a hack around the bigger locking problem but it\nsolves my current situation of trying to sleep in an NMI context.\n\nTested by loading the lkdtm module and executing a HARDLOCKUP which\nwill cause the machine to panic inside the nmi handler.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "a88769cde24fcef11219cf99193ee558d1028217",
      "tree": "68822224c8d53ba9e8c030db538888dea00521e0",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jul 27 10:11:28 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 08 13:53:49 2011 -0700"
      },
      "message": "firmware: fix google/gsmi.c build warning\n\nModify function parameter type to match expected type.  Fixes a\nbuild warning:\n\ndrivers/firmware/google/gsmi.c:473: warning: initialization from incompatible pointer type\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f48d1915b86f06a943087e5f9b29542a1ef4cd4d",
      "tree": "86b5d8c7e971c684aa726faa20dbf415d3a742d5",
      "parents": [
        "f673b7c2c5c79ec239aca504452d2584b0bad34a",
        "b728a5c806fb36f9adebf2a862bbd015e074afca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:18:39 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:18:39 2011 -1000"
      },
      "message": "Merge branch \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  efivars: fix warnings when CONFIG_PSTORE\u003dn\n"
    },
    {
      "commit": "b728a5c806fb36f9adebf2a862bbd015e074afca",
      "tree": "73de9c81a3265d3977431dee9feb29b037b99a99",
      "parents": [
        "7644c16c7e7431fa398e834109dbb76dc1b51617"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Aug 02 15:08:30 2011 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Aug 02 15:08:30 2011 -0700"
      },
      "message": "efivars: fix warnings when CONFIG_PSTORE\u003dn\n\ndrivers/firmware/efivars.c:161: warning: ‘utf16_strlen’ defined but not used\nutf16_strlen() is only used inside CONFIG_PSTORE - make this \"static inline\"\nto shut the compiler up [thanks to hpa for the suggestion].\n\ndrivers/firmware/efivars.c:602: warning: initialization from incompatible pointer type\nBetween v1 and v2 of this patch series we decided to make the \"part\" number\nunsigned - but missed fixing the stub version of efi_pstore_write()\n\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "a2d773023552f68baa2db2226dfd6d761c0df5da",
      "tree": "c905702c4f318d0e569222187472289c574bde3c",
      "parents": [
        "72f9adfd20e3be8a33ff3ef96cec787ed97b9ba9",
        "7644c16c7e7431fa398e834109dbb76dc1b51617"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:40:51 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:40:51 2011 -1000"
      },
      "message": "Merge branch \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  efivars: Introduce PSTORE_EFI_ATTRIBUTES\n  efivars: Use string functions in pstore_write\n  efivars: introduce utf16_strncmp\n  efivars: String functions\n  efi: Add support for using efivars as a pstore backend\n  pstore: Allow the user to explicitly choose a backend\n  pstore: Make \"part\" unsigned\n  pstore: Add extra context for writes and erases\n  pstore: Extend API for more flexibility in new backends\n"
    },
    {
      "commit": "f0deb97ab13ad1f89cd0993f7339655d59788405",
      "tree": "41572e643cb4983115707ae330b5896ae76e1ea1",
      "parents": [
        "184475029a724b6b900d88fc3a5f462a6107d5af",
        "21d541aa19e90752232bf6c43002f019f204f988"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  updated Documentation/ja_JP/SubmittingPatches\n  debugfs: add documentation for debugfs_create_x64\n  uio: uio_pdrv_genirq: Add OF support\n  firmware: gsmi: remove sysfs entries when unload the module\n  Documentation/zh_CN: Fix messy code file email-clients.txt\n  driver core: add more help description for \"path to uevent helper\"\n  driver-core: modify FIRMWARE_IN_KERNEL help message\n  driver-core: Kconfig grammar corrections in firmware configuration\n  DOCUMENTATION: Replace create_device() with device_create().\n  DOCUMENTATION: Update overview.txt in Doc/driver-model.\n  pti: pti_tty_install documentation mispelling.\n"
    },
    {
      "commit": "27c46a2546c75c6814562e85b751e3d64c188ad5",
      "tree": "6f3b6785e8347d5b5e47675352a83aea0892d5bf",
      "parents": [
        "75fb8f269305fc066c4c6ec6e7232df0c92f434d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Jul 25 17:13:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:16 2011 -0700"
      },
      "message": "drivers/firmware/sigma.c needs MODULE_LICENSE\n\nFix module tainting message:\n\n  sigma: module license \u0027unspecified\u0027 taints kernel.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7644c16c7e7431fa398e834109dbb76dc1b51617",
      "tree": "3894d6375aa32ecb9c538f33db523ad6801ebad9",
      "parents": [
        "c475594d838c5c872e734f693a700df8c01b39d4"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Thu Jul 21 16:58:00 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 22 16:15:49 2011 -0700"
      },
      "message": "efivars: Introduce PSTORE_EFI_ATTRIBUTES\n\nConsolidate the attributes listed for pstore operations in one place,\nPSTORE_EFI_ATTRIBUTES.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "c475594d838c5c872e734f693a700df8c01b39d4",
      "tree": "ad36a818fd7294ecac5eafda9b78ebb67209a1b1",
      "parents": [
        "828aa1f00ec3508a4d813bd60d210de82929ac97"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Thu Jul 21 16:57:59 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 22 16:15:40 2011 -0700"
      },
      "message": "efivars: Use string functions in pstore_write\n\nInstead of open-coding the string operations for comparing the prefix of\nthe variable names, use the provided utf16_* string functions.\n\nThis patch also changes the calls to efi.set_variable to\nefivars-\u003eops-\u003eset_variable so that the right function gets called in the\ncase of gsmi (which doesn\u0027t have a valid efi structure).\n\nAs well, make sure that we only consider variables with the right vendor\nstring.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "828aa1f00ec3508a4d813bd60d210de82929ac97",
      "tree": "2772ba015552aa2eb12f7d137d55ea0c26421f9c",
      "parents": [
        "a2940908391f3cee72e38769b30e829b22742b5b"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Thu Jul 21 16:57:58 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 22 16:15:31 2011 -0700"
      },
      "message": "efivars: introduce utf16_strncmp\n\nIntroduce utf16_strncmp which is used in the next patch.  Semantics\nshould be the same as the strncmp C function.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "a2940908391f3cee72e38769b30e829b22742b5b",
      "tree": "30dc4ca2eae129f2612e74b60ff125b75af45eae",
      "parents": [
        "5ee9c198a4208d7760275d48e4c4f6c89dcd2ef0"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Thu Jul 21 16:57:57 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 22 16:15:21 2011 -0700"
      },
      "message": "efivars: String functions\n\nFix the string functions in the efivars driver to be called utf16_*\ninstead of utf8_* as the encoding is utf16, not utf8.\n\nAs well, rename utf16_strlen to utf16_strnlen as it takes a maxlength\nargument and the name should be consistent with the standard C function\nnames.  utf16_strlen is still provided for convenience in a subsequent\npatch.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "5ee9c198a4208d7760275d48e4c4f6c89dcd2ef0",
      "tree": "19f0c26f13df5302432afd1e870f357fa009b990",
      "parents": [
        "dee28e72b619b48ec80a9e5509db458dbe66f71f"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Jul 21 16:57:56 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 22 16:15:04 2011 -0700"
      },
      "message": "efi: Add support for using efivars as a pstore backend\n\nEFI provides an area of nonvolatile storage managed by the firmware. We\ncan use this as a pstore backend to maintain copies of oopses, aiding\ndiagnosis.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "1e4de81653bae3f5e6d06e3384853d31d564bbec",
      "tree": "d33b0c0f33180db07e4f452149022ba2b60efd0e",
      "parents": [
        "48d9854285635dd8b0535af7cb0d508b08db9e98"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Jun 29 15:57:53 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 15:17:16 2011 -0700"
      },
      "message": "firmware: gsmi: remove sysfs entries when unload the module\n\nThis patch removes sysfs entries in gsmi_exit() and gsmi_init() error path.\n\nAlso move the driver successfully loaded message to the end of gsmi_init()\nand return proper error if register_efivars() fails.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f457a46f179df41b0f6d80dee33b6e629945f276",
      "tree": "acbeac8630b898610fe71295f11cbc71f956b8ba",
      "parents": [
        "9d04516310aaef3970c642a54531a52123001178"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Fri Jun 24 15:11:53 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jun 29 16:43:06 2011 -0500"
      },
      "message": "[SCSI] iscsi_ibft, be2iscsi, iscsi_boot: fix boot kobj data lifetime management\n\nbe2iscsi passes the boot functions its phba object which is\nallocated in the shost, but iscsi_ibft passes in a object\nallocated for each item to display. The problem is that\niscsi_boot_sysfs was managing the lifetime of the object\npassed in and doing a kfree on release. This causes a double\nfree for be2iscsi which frees the shost in its pci_remove.\n\nThis patch fixes the problem by adding a release callback\nwhich the drivers can call kfree or a put() type of function\n(needed for be2iscsi which will do a get/put on the shost).\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "c89b857ce6d803905b2c9d71bc9effdd286c45ed",
      "tree": "6cf4a6e23f68f3b65906210dccb272ab2f9c5c74",
      "parents": [
        "2e34b429a404675dc4fc4ad2ee339eea028da3ca",
        "663dd6dcaf7e95526e469e91f41972a9c0cca30c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Connector: Correctly set the error code in case of success when dispatching receive callbacks\n  Connector: Set the CN_NETLINK_USERS correctly\n  pti: PTI semantics fix in pti_tty_cleanup.\n  pti: ENXIO error case memory leak PTI fix.\n  pti: double-free security PTI fix\n  drivers:misc: ti-st: fix skipping of change remote baud\n  drivers/base/platform.c: don\u0027t mark platform_device_register_resndata() as __init_or_module\n  st_kim: Handle case of no device found for ID 0\n  firmware: fix GOOGLE_SMI kconfig dependency warning\n"
    }
  ],
  "next": "7f20caff0ef6ce87dbb044389d43bfa1093cd3af"
}
