{"commits":[{"author":{"email":"923f7720577207a44b32e59bbfbea59d27f1ae8e@infradead.org","name":"Christoph Hellwig"},"sha":"9f9c19ec1a59422c7687b11847ed3408128aa0d6","message":"xfs: fix the logspace waiting algorithm\n\nApply the scheme used in log_regrant_write_log_space to wake up any other\nthreads waiting for log space before the newly added one to\nlog_regrant_write_log_space as well, and factor the code into readable\nhelpers.  For each of the queues we have add two helpers:\n\n - one to try to wake up all waiting threads.  This helper will also be\n   usable by xfs_log_move_tail once we remove the current opportunistic\n   wakeups in it.\n - one to sleep on t_wait until enough log space is available, loosely\n   modelled after Linux waitqueues.\n \nAnd use them to reimplement the guts of log_regrant_write_log_space and\nlog_regrant_write_log_space.  These two function now use one and the same\nalgorithm for waiting on log space instead of subtly different ones before,\nwith an option to completely unify them in the near future.\n\nAlso move the filesystem shutdown handling to the common caller given\nthat we had to touch it anyway.\n\nBased on hard debugging and an earlier patch from\nChandra Seetharaman <sekharan@us.ibm.com>.\n\nSigned-off-by: Christoph Hellwig <hch@lst.de>\nReviewed-by: Chandra Seetharaman <sekharan@us.ibm.com>\nTested-by: Chandra Seetharaman <sekharan@us.ibm.com>\nSigned-off-by: Ben Myers <bpm@sgi.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/9f9c19ec1a59422c7687b11847ed3408128aa0d6"},{"author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"sha":"02125a826459a6ad142f8d91c5b6357562f96615","message":"fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API\n\n__d_path() API is asking for trouble and in case of apparmor d_namespace_path()\ngetting just that.  The root cause is that when __d_path() misses the root\nit had been told to look for, it stores the location of the most remote ancestor\nin *root.  Without grabbing references.  Sure, at the moment of call it had\nbeen pinned down by what we have in *path.  And if we raced with umount -l, we\ncould have very well stopped at vfsmount/dentry that got freed as soon as\nprepend_path() dropped vfsmount_lock.\n\nIt is safe to compare these pointers with pre-existing (and known to be still\nalive) vfsmount and dentry, as long as all we are asking is \"is it the same\naddress?\".  Dereferencing is not safe and apparmor ended up stepping into\nthat.  d_namespace_path() really wants to examine the place where we stopped,\neven if it's not connected to our namespace.  As the result, it looked\nat ->d_sb->s_magic of a dentry that might've been already freed by that point.\nAll other callers had been careful enough to avoid that, but it's really\na bad interface - it invites that kind of trouble.\n\nThe fix is fairly straightforward, even though it's bigger than I'd like:\n\t* prepend_path() root argument becomes const.\n\t* __d_path() is never called with NULL/NULL root.  It was a kludge\nto start with.  Instead, we have an explicit function - d_absolute_root().\nSame as __d_path(), except that it doesn't get root passed and stops where\nit stops.  apparmor and tomoyo are using it.\n\t* __d_path() returns NULL on path outside of root.  The main\ncaller is show_mountinfo() and that's precisely what we pass root for - to\nskip those outside chroot jail.  Those who don't want that can (and do)\nuse d_path().\n\t* __d_path() root argument becomes const.  Everyone agrees, I hope.\n\t* apparmor does *NOT* try to use __d_path() or any of its variants\nwhen it sees that path->mnt is an internal vfsmount.  In that case it's\ndefinitely not mounted anywhere and dentry_path() is exactly what we want\nthere.  Handling of sysctl()-triggered weirdness is moved to that place.\n\t* if apparmor is asked to do pathname relative to chroot jail\nand __d_path() tells it we it's not in that jail, the sucker just calls\nd_absolute_path() instead.  That's the other remaining caller of __d_path(),\nBTW.\n        * seq_path_root() does _NOT_ return -ENAMETOOLONG (it's stupid anyway -\nthe normal seq_file logics will take care of growing the buffer and redoing\nthe call of ->show() just fine).  However, if it gets path not reachable\nfrom root, it returns SEQ_SKIP.  The only caller adjusted (i.e. stopped\nignoring the return value as it used to do).\n\nReviewed-by: John Johansen <john.johansen@canonical.com>\nACKed-by: John Johansen <john.johansen@canonical.com>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nCc: stable@vger.kernel.org","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/02125a826459a6ad142f8d91c5b6357562f96615"},{"author":{"email":"f2c659f01951776204a6c5b902787d9019fbeebd@arndb.de","name":"Arnd Bergmann"},"sha":"e3a36c415adcea823458ff0a1c77757d99b83cfa","message":"Merge branch 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/e3a36c415adcea823458ff0a1c77757d99b83cfa"},{"author":{"email":"08dc22c6156113f2deff178e35e3ed9b24d6af9e@amd.com","name":"Alex Deucher"},"sha":"dc87cd5c264cb587f16459285565830689ecf7a7","message":"drm/radeon/kms: fix return type for radeon_encoder_get_dp_bridge_encoder_id\n\nSeems like something got mis-merged here.\n\nNoticed by kallisti5 on IRC.\n\nSigned-off-by: Alex Deucher <alexander.deucher@amd.com>\nSigned-off-by: Dave Airlie <airlied@redhat.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/dc87cd5c264cb587f16459285565830689ecf7a7"},{"author":{"email":"c1b6782c4af8f0673da8923a0702a1832e5940f4@ffwll.ch","name":"Daniel Vetter"},"sha":"eb1711bb94991e93669c5a1b5f84f11be2d51ea1","message":"drm/i915: fix infinite recursion on unbind due to ilk vt-d w/a\n\nThe recursion loop goes retire_requests->unbind->gpu_idle->retire_reqeusts.\n\nEvery time we go through this we need a\n- active object that can be retired\n- and there are no other references to that object than the one from\n  the active list, so that it gets unbound and freed immediately.\nOtherwise the recursion stops. So the recursion is only limited by the\nnumber of objects that fit these requirements sitting in the active list\nany time retire_request is called.\n\nIssue exercised by tests/gem_unref_active_buffers from i-g-t.\n\nThere's been a decent bikeshed discussion whether it wouldn't be\nbetter to pass around a flag, but imo this is o.k. for such a limited\ncase that only supports a w/a.\n\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42180\n\nSigned-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>\nReviewed-by: Chris Wilson <chris@chris-wilson>\n[ickle- we built better bikesheds, but this keeps the rain off for now]\nTested-by: Dave Airlie <airlied@redhat.com>\nSigned-off-by: Dave Airlie <airlied@redhat.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/eb1711bb94991e93669c5a1b5f84f11be2d51ea1"},{"author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@m3y3r.de","name":"Thomas Meyer"},"sha":"24bb5a0ce39c51a2e2602c947f218a19e4b26d7d","message":"vmwgfx: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is, that will prevent integer overflows which could\nresult from the multiplication of number of elements and size and it is also\na bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nSigned-off-by: Thomas Meyer <thomas@m3y3r.de>\nReviewed-by: Jakob Bornecrantz <jakob@vmware.com>\nSigned-off-by: Dave Airlie <airlied@redhat.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/24bb5a0ce39c51a2e2602c947f218a19e4b26d7d"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"3172f8fe1ca1d432b196efad453c0ceb89302075","message":"Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/3172f8fe1ca1d432b196efad453c0ceb89302075"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"10ec5e6c0cfcc4289c0cb056cd330ad70ea39b7f","message":"Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux\n\n* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:\n  vmwgfx: Use kcalloc instead of kzalloc to allocate array\n  drm/i915: fix infinite recursion on unbind due to ilk vt-d w/a\n  drm/radeon/kms: fix return type for radeon_encoder_get_dp_bridge_encoder_id","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/10ec5e6c0cfcc4289c0cb056cd330ad70ea39b7f"},{"author":{"email":"1aae5ab9541d66245293c8fc1b9880f5df073631@linaro.org","name":"Anton Vorontsov"},"sha":"77a7300abad7fe01891b400e88d746f97307ee5a","message":"of/irq: Get rid of NO_IRQ usage\n\nPPC32/64 defines NO_IRQ to zero, so no problems expected.\nARM defines NO_IRQ to -1, but OF code relies on IRQ domains support,\nwhich returns correct ('0') value in 'no irq' case. So everything\nshould be fine.\n\nOther arches might break if some of their OF drivers rely on NO_IRQ\nbeing not 0. If so, the drivers must be fixed, finally.\n\n[ Rob Herring points out that microblaze should be fixed, and has posted\n  a patch for testing for that.   - Linus ]\n\nSigned-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>\nAcked-by: Wolfram Sang <w.sang@pengutronix.de>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/77a7300abad7fe01891b400e88d746f97307ee5a"},{"author":{"email":"75ea6bb7bfc1186f92d26164de5f9268c9a45b59@rowland.harvard.edu","name":"Alan Stern"},"sha":"fe6b91f47080eb17d21cbf2a39311877d57f6938","message":"PM / Driver core: leave runtime PM enabled during system shutdown\n\nDisabling all runtime PM during system shutdown turns out not to be a\ngood idea, because some devices may need to be woken up from a\nlow-power state at that time.\n\nThe whole point of disabling runtime PM for system shutdown was to\nprevent untimely runtime-suspend method calls.  This patch (as1504)\naccomplishes the same result by incrementing the usage count for each\ndevice and waiting for ongoing runtime-PM callbacks to finish.  This\nis what we already do during system suspend and hibernation, which\nmakes sense since the shutdown method is pretty much a legacy analog\nof the pm->poweroff method.\n\nThis fixes a recent regression on some OMAP systems introduced by\ncommit af8db1508f2c9f3b6e633e2d2d906c6557c617f9 (PM / driver core:\ndisable device's runtime PM during shutdown).\n\nReported-and-tested-by: NeilBrown <neilb@suse.de>\nSigned-off-by: Alan Stern <stern@rowland.harvard.edu>\nAcked-by: Greg Kroah-Hartman <gregkh@suse.de>\nSigned-off-by: Rafael J. Wysocki <rjw@sisk.pl>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/fe6b91f47080eb17d21cbf2a39311877d57f6938"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"22c6b32d8d9b7adf903c19b7e108062431fdc6fc","message":"Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: Wire up process_vm_{read,write}v","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/22c6b32d8d9b7adf903c19b7e108062431fdc6fc"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"1c70132ffbd3c93558c1c0b34ae228543391f355","message":"Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Driver core: leave runtime PM enabled during system shutdown","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/1c70132ffbd3c93558c1c0b34ae228543391f355"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"a694ad94bce2a0287136043e25cff856ce3a1007","message":"Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs\n\n* 'for-linus' of git://oss.sgi.com/xfs/xfs:\n  xfs: fix the logspace waiting algorithm\n  xfs: fix nfs export of 64-bit inodes numbers on 32-bit kernels\n  xfs: fix allocation length overflow in xfs_bmapi_write()","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/a694ad94bce2a0287136043e25cff856ce3a1007"},{"author":{"email":"65310e8f4ce328edb4bdd56e25925d3ddf39023a@lsd.ic.unicamp.br","name":"Alexandre Oliva"},"sha":"062c05c46bd4358aad7a0e0cb5ffeb98ab935286","message":"Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE\n\nIf we reach LOOP_NO_EMPTY_SIZE, we won't even try to use a cluster that\nothers might have set up.  Odds are that there won't be one, but if\nsomeone else succeeded in setting it up, we might as well use it, even\nif we don't try to set up a cluster again.\n\nSigned-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br>\nSigned-off-by: Chris Mason <chris.mason@oracle.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/062c05c46bd4358aad7a0e0cb5ffeb98ab935286"},{"author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"sha":"34a9d2c39afe74a941b9e88efe2762afc4d82443","message":"Merge branch '3.2-rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* '3.2-rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (25 commits)\n  iscsi-target: Fix hex2bin warn_unused compile message\n  target: Don't return an error if disabling unsupported features\n  target/rd: fix or rewrite the copy routine\n  target/rd: simplify the page/offset computation\n  target: remove the unused se_dev_list\n  target/file: walk properly over sg list\n  target: remove unused struct fields\n  target: Fix page length in emulated INQUIRY VPD page 86h\n  target: Handle 0 correctly in transport_get_sectors_6()\n  target: Don't return an error status for 0-length READ and WRITE\n  iscsi-target: Use kmemdup rather than duplicating its implementation\n  iscsi-target: Add missing F_BIT for iscsi_tm_rsp\n  iscsi-target: Fix residual count hanlding + remove iscsi_cmd->residual_count\n  target: Reject SCSI data overflow for fabrics using transport_generic_map_mem_to_cmd\n  target: remove the unused t_task_pt_sgl and t_task_pt_sgl_num se_cmd fields\n  target: remove the t_tasks_bidi se_cmd field\n  target: remove the t_tasks_fua se_cmd field\n  target: remove the se_ordered_node se_cmd field\n  target: remove the se_obj_ptr and se_orig_obj_ptr se_cmd fields\n  target: Drop config_item_name usage in fabric TFO->free_wwn()\n  ...","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/34a9d2c39afe74a941b9e88efe2762afc4d82443"},{"author":{"email":"8c69ee23f3f44f8162a64d579c1fa25c2f55298a@lixom.net","name":"Olof Johansson"},"sha":"b981f980b068617e021736eb19092919fc7d0e53","message":"Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/b981f980b068617e021736eb19092919fc7d0e53"},{"author":{"email":"ca4f54940f83a0ae1d34514f16f656a0c0854288@marvell.com","name":"Jett.Zhou"},"sha":"c564a0cb9d0c7f4ac50f1e9ca8bc67fd66cd550f","message":"ARM: sa1100: fix build error\n\narm-eabi-4.4.3-ld:--defsym zreladdr=: syntax error\nmake[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1\nmake[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2\nmake: *** [uImage] Error 2\n\nSigned-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>\nSigned-off-by: Jett.Zhou <jtzhou@marvell.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/c564a0cb9d0c7f4ac50f1e9ca8bc67fd66cd550f"},{"author":{"email":"65310e8f4ce328edb4bdd56e25925d3ddf39023a@lsd.ic.unicamp.br","name":"Alexandre Oliva"},"sha":"274bd4fb3ed6b72c1d77ef8850511f09fc6b8e4d","message":"Btrfs: try cluster but don't advance in search list\n\nWhen we find an existing cluster, we switch to its block group as the\ncurrent block group, possibly skipping multiple blocks in the process.\nFurthermore, under heavy contention, multiple threads may fail to\nallocate from a cluster and then release just-created clusters just to\nproceed to create new ones in a different block group.\n\nThis patch tries to allocate from an existing cluster regardless of its\nblock group, and doesn't switch to that group, instead proceeding to\ntry to allocate a cluster from the group it was iterating before the\nattempt.\n\nSigned-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br>\nSigned-off-by: Chris Mason <chris.mason@oracle.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/274bd4fb3ed6b72c1d77ef8850511f09fc6b8e4d"},{"author":{"email":"5dc16b054e85ffba6c8d314d8e55ae95dcab12a5@cn.fujitsu.com","name":"Li Zefan"},"sha":"a5d16333612718569ffd26064270e535cb9c3928","message":"Btrfs: check if the to-be-added device is writable\n\nIf we call ioctl(BTRFS_IOC_ADD_DEV) directly, we'll succeed in adding\na readonly device to a btrfs filesystem, and btrfs will write to\nthat device, emitting kernel errors:\n\n[ 3109.833692] lost page write due to I/O error on loop2\n[ 3109.833720] lost page write due to I/O error on loop2\n...\n\nSigned-off-by: Li Zefan <lizf@cn.fujitsu.com>\nSigned-off-by: Chris Mason <chris.mason@oracle.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/a5d16333612718569ffd26064270e535cb9c3928"},{"author":{"email":"00b627b8656913e4df3ede997ad1311ebf4b82a4@cn.fujitsu.com","name":"Liu Bo"},"sha":"1cf4ffdb3289624a6462c94f2ce05545b32ef736","message":"Btrfs: drop spin lock when memory alloc fails\n\nDrop spin lock in convert_extent_bit() when memory alloc fails,\notherwise, it will be a deadlock.\n\nSigned-off-by: Liu Bo <liubo2009@cn.fujitsu.com>\nSigned-off-by: Chris Mason <chris.mason@oracle.com>","url":"https://api.github.com/repos/rjwysocki/linux-pm/commits/1cf4ffdb3289624a6462c94f2ce05545b32ef736"}],"ref":"refs/heads/master","head":"09d9673d53005fdf40de4c759425893904292236","size":25,"push_id":53194309}