1. 11 Sep, 2013 26 commits
    • Dong Fang's avatar
      ocfs2: use list_for_each_entry() instead of list_for_each() · df53cd3b
      Dong Fang authored
      [dan.carpenter@oracle.com: fix up some NULL dereference bugs]
      Signed-off-by: default avatarDong Fang <yp.fangdong@gmail.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Jeff Liu <jeff.liu@oracle.com>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      df53cd3b
    • Sunil Mushran's avatar
      fs/ocfs2/cluster/tcp.c: fix possible null pointer dereferences · 8dd7903e
      Sunil Mushran authored
      Fix some possible null pointer dereferences that were detected by the
      static code analyser, smatch.
      Signed-off-by: default avatarSunil Mushran <sunil.mushran@oracle.com>
      Reported-by: default avatarDan Carpenter <error27@gmail.com>
      Reported-by: default avatarGuozhonghua <guozhonghua@h3c.com>
      Cc: Sunil Mushran <sunil.mushran@gmail.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8dd7903e
    • Younger Liu's avatar
      ocfs2: ac_bits_wanted should be local_alloc_bits when returns -ENOSPC · 7e9b7937
      Younger Liu authored
      There is an issue in reserving and claiming space for localalloc, When
      localalloc space is not enough, it would claim space from global_bitmap.
      And if there is not enough free space in global_bitmap, the size of
      claiming space would set to half of orignal size and retry.
      
      The issue is as follows: osb->local_alloc_bits is set to half of orignal
      size in ocfs2_recalc_la_window(), but ac->ac_bits_wanted is set to
      osb->local_alloc_default_bits which is not changed.  localalloc always
      reserves and claims local_alloc_default_bits space and returns ENOSPC.
      
      So, ac->ac_bits_wanted should be osb->local_alloc_bits which would be
      changed.
      Signed-off-by: default avatarYounger Liu <younger.liu@huawei.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Jeff Liu <jeff.liu@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e9b7937
    • Xue jiufei's avatar
      ocfs2: dlm_request_all_locks() should deal with the status sent from target node · 98ac9125
      Xue jiufei authored
      dlm_request_all_locks() should deal with the status sent from target node
      if DLM_LOCK_REQUEST_MSG is sent successfully, or recovery master will fall
      into endless loop, waiting for other nodes to send locks and
      DLM_RECO_DATA_DONE_MSG to me.
      
              NodeA                                  NodeB
                                           selected as recovery master
                                           dlm_remaster_locks()
                                           ->dlm_request_all_locks()
                                           send DLM_LOCK_REQUEST_MSG to nodeA
      
      It happened that NodeA cannot alloc memory when it processes this
      message.  dlm_request_all_locks_handler() do not queue
      dlm_request_all_locks_worker and returns -ENOMEM.  It will never send
      locks and DLM_RECO_DATA_DONE_MSG to NodeB.
      
                                          NodeB do not deal with the status
                                          sent from nodeA, and will fall in
                                          endless loop waiting for the
                                          recovery state of NodeA to be
                                          changed.
      Signed-off-by: default avatarjoyce <xuejiufei@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Jeff Liu <jeff.liu@oracle.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      98ac9125
    • Junxiao Bi's avatar
      ocfs2: use i_size_read() to access i_size · f17c20dd
      Junxiao Bi authored
      Though ocfs2 uses inode->i_mutex to protect i_size, there are both
      i_size_read/write() and direct accesses.  Clean up all direct access to
      eliminate confusion.
      Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Cc: Jie Liu <jeff.liu@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f17c20dd
    • Younger Liu's avatar
      ocfs2: lighten up allocate transaction · 2b1e55c3
      Younger Liu authored
      The issue scenario is as following:
      
      When fallocating a very large disk space for a small file,
      __ocfs2_extend_allocation attempts to get a very large transaction.  For
      some journal sizes, there may be not enough room for this transaction,
      and the fallocate will fail.
      
      The patch below extends & restarts the transaction as necessary while
      allocating space, and should work with even the smallest journal.  This
      patch refers ext4 resize.
      
      Test:
      # mkfs.ocfs2 -b 4K -C 32K -T datafiles /dev/sdc
      ...(jounral size is 32M)
      # mount.ocfs2 /dev/sdc /mnt/ocfs2/
      # touch /mnt/ocfs2/1.log
      # fallocate -o 0 -l 400G /mnt/ocfs2/1.log
      fallocate: /mnt/ocfs2/1.log: fallocate failed: Cannot allocate memory
      # tail -f /var/log/messages
      [ 7372.278591] JBD: fallocate wants too many credits (2051 > 2048)
      [ 7372.278597] (fallocate,6438,0):__ocfs2_extend_allocation:709 ERROR: status = -12
      [ 7372.278603] (fallocate,6438,0):ocfs2_allocate_unwritten_extents:1504 ERROR: status = -12
      [ 7372.278607] (fallocate,6438,0):__ocfs2_change_file_space:1955 ERROR: status = -12
      ^C
      With this patch, the test works well.
      Signed-off-by: default avatarYounger Liu <younger.liu@huawei.com>
      Cc: Jie Liu <jeff.liu@oracle.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2b1e55c3
    • Jingoo Han's avatar
      drivers/iommu: remove unnecessary platform_set_drvdata() · 5e42781c
      Jingoo Han authored
      The driver core clears the driver data to NULL after device_release or
      on probe failure.  Thus, it is not needed to manually clear the device
      driver data to NULL.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Suman Anna <s-anna@ti.com>
      Acked-by: default avatarLibo Chen <libo.chen@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5e42781c
    • Paul Bolle's avatar
      drivers/video/acornfb.c: remove dead code · ffd29195
      Paul Bolle authored
      acornfb checks for HAS_VIDC while support for that macro was removed in
      v2.6.23 (when the arm26 port was removed).  So we can remove a bit of
      dead code.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ffd29195
    • Oleg Nesterov's avatar
      fork: unify and tighten up CLONE_NEWUSER/CLONE_NEWPID checks · 40a0d32d
      Oleg Nesterov authored
      do_fork() denies CLONE_THREAD | CLONE_PARENT if NEWUSER | NEWPID.
      
      Then later copy_process() denies CLONE_SIGHAND if the new process will
      be in a different pid namespace (task_active_pid_ns() doesn't match
      current->nsproxy->pid_ns).
      
      This looks confusing and inconsistent.  CLONE_NEWPID is very similar to
      the case when ->pid_ns was already unshared, we want the same
      restrictions so copy_process() should also nack CLONE_PARENT.
      
      And it would be better to deny CLONE_NEWUSER && CLONE_SIGHAND as well
      just for consistency.
      
      Kill the "CLONE_NEWUSER | CLONE_NEWPID" check in do_fork() and change
      copy_process() to do the same check along with ->pid_ns check we already
      have.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Colin Walters <walters@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40a0d32d
    • Oleg Nesterov's avatar
      pidns: kill the unnecessary CLONE_NEWPID in copy_process() · 5167246a
      Oleg Nesterov authored
      Commit 8382fcac ("pidns: Outlaw thread creation after
      unshare(CLONE_NEWPID)") nacks CLONE_NEWPID if the forking process
      unshared pid_ns.  This is correct but unnecessary, copy_pid_ns() does
      the same check.
      
      Remove the CLONE_NEWPID check to cleanup the code and prepare for the
      next change.
      
      Test-case:
      
      	static int child(void *arg)
      	{
      		return 0;
      	}
      
      	static char stack[16 * 1024];
      
      	int main(void)
      	{
      		pid_t pid;
      
      		assert(unshare(CLONE_NEWUSER | CLONE_NEWPID) == 0);
      
      		pid = clone(child, stack + sizeof(stack) / 2,
      				CLONE_NEWPID | SIGCHLD, NULL);
      		assert(pid < 0 && errno == EINVAL);
      
      		return 0;
      	}
      
      clone(CLONE_NEWPID) correctly fails with or without this change.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Colin Walters <walters@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5167246a
    • Oleg Nesterov's avatar
      pidns: fix vfork() after unshare(CLONE_NEWPID) · e79f525e
      Oleg Nesterov authored
      Commit 8382fcac ("pidns: Outlaw thread creation after
      unshare(CLONE_NEWPID)") nacks CLONE_VM if the forking process unshared
      pid_ns, this obviously breaks vfork:
      
      	int main(void)
      	{
      		assert(unshare(CLONE_NEWUSER | CLONE_NEWPID) == 0);
      		assert(vfork() >= 0);
      		_exit(0);
      		return 0;
      	}
      
      fails without this patch.
      
      Change this check to use CLONE_SIGHAND instead.  This also forbids
      CLONE_THREAD automatically, and this is what the comment implies.
      
      We could probably even drop CLONE_SIGHAND and use CLONE_THREAD, but it
      would be safer to not do this.  The current check denies CLONE_SIGHAND
      implicitely and there is no reason to change this.
      
      Eric said "CLONE_SIGHAND is fine.  CLONE_THREAD would be even better.
      Having shared signal handling between two different pid namespaces is
      the case that we are fundamentally guarding against."
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarColin Walters <walters@redhat.com>
      Acked-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Reviewed-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e79f525e
    • Andrew Morton's avatar
      include/linux/smp.h:on_each_cpu(): switch back to a C function · 3b8967d7
      Andrew Morton authored
      Revert commit c846ef7d ("include/linux/smp.h:on_each_cpu(): switch
      back to a macro").  It turns out that the problematic linux/irqflags.h
      include was fixed within ia64 and mn10300.
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: David Daney <david.daney@cavium.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3b8967d7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e831cbfc
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
       "This includes one bpf/jit bug fix where the jit compiler could
        sometimes write generated code out of bounds of the allocated memory
        area.
      
        The rest of the patches are only cleanups and minor improvements"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/irq: reduce size of external interrupt handler hash array
        s390/compat,uid16: use current_cred()
        s390/ap_bus: use and-mask instead of a cast
        s390/ftrace: avoid pointer arithmetics with function pointers
        s390: make various functions static, add declarations to header files
        s390/compat signal: add couple of __force annotations
        s390/mm: add __releases()/__acquires() annotations to gmap_alloc_table()
        s390: keep Kconfig sorted
        s390/irq: rework irq subclass handling
        s390/irq: use hlists for external interrupt handler array
        s390/dumpstack: convert print_symbol to %pSR
        s390/perf: Remove print_hex_dump_bytes() debug output
        s390: update defconfig
        s390/bpf,jit: fix address randomization
      e831cbfc
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 5b419784
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
       "This is the kconfig part of kbuild for v3.12-rc1:
         - post-3.11 search code fixes and micro-optimizations
         - CONFIG_MODULES is no longer a special case; this is needed to
           eventually fix the bug that using KCONFIG_ALLCONFIG breaks
           allmodconfig
         - long long is used to store hex and int values
         - make silentoldconfig no longer warns when a symbol changes from
           tristate to bool (it's a job for make oldconfig)
         - scripts/diffconfig updated to work with newer Pythons
         - scripts/config does not rely on GNU sed extensions"
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kconfig: do not allow more than one symbol to have 'option modules'
        kconfig: regenerate bison parser
        kconfig: do not special-case 'MODULES' symbol
        diffconfig: Update script to support python versions 2.5 through 3.3
        diffconfig: Gracefully exit if the default config files are not present
        modules: do not depend on kconfig to set 'modules' option to symbol MODULES
        kconfig: silence warning when parsing auto.conf when a symbol has changed type
        scripts/config: use sed's POSIX interface
        kconfig: switch to "long long" for sanity
        kconfig: simplify symbol-search code
        kconfig: don't allocate n+1 elements in temporary array
        kconfig: minor style fixes in symbol-search code
        kconfig/[mn]conf: shorten title in search-box
        kconfig: avoid multiple calls to strlen
        Documentation/kconfig: more concise and straightforward search explanation
      5b419784
    • Linus Torvalds's avatar
      Merge tag 'for-v3.12' of git://git.infradead.org/battery-2.6 · a22a0fdb
      Linus Torvalds authored
      Pull battery/power supply driver updates from Anton Vorontsov:
       "New drivers:
      
         - APM X-Gene system reboot driver by Feng Kan and Loc Ho (APM).
      
         - Qualcomm MSM reboot/poweroff driver by Abhimanyu Kapur (Codeaurora).
      
         - Texas Instruments BQ24190 charger driver by Mark A.  Greer (Animal
           Creek Technologies).
      
         - Texas Instruments TWL4030 MADC battery driver by Lukas Märdian and
           Marek Belisko (Golden Delicious Computers).  The driver is used on
           Freerunner GTA04 phones.
      
        Highlighted fixes and improvements:
      
         - Suspend/wakeup logic improvements: power supply objects will block
           system suspend until all power supply events are processed.  Thanks
           to Zoran Markovic (Linaro), Arve Hjonnevag and Todd Poynor (Google)"
      
      * tag 'for-v3.12' of git://git.infradead.org/battery-2.6:
        rx51_battery: Fix channel number when reading adc value
        power: Add twl4030_madc battery driver.
        bq24190_charger: Workaround SS definition problem on i386 builds
        power_supply: Prevent suspend until power supply events are processed
        vexpress-poweroff: Should depend on the required infrastructure
        twl4030-charger: Fix compiler warning with regulator_enable()
        rx51_battery: Replace hardcoded channels values.
        bq24190_charger: Add support for TI BQ24190 Battery Charger
        ab8500-charger: We print an unintended error message
        max8925_power: Fix missing of_node_put
        power_supply: Replace strict_strtol() with kstrtol()
        power: Add APM X-Gene system reboot driver
        power_supply: tosa_battery: Get rid of irq_to_gpio usage
        power supply: collie_battery: Convert to use dev_pm_ops
        power_supply: Make goldfish_battery depend on GOLDFISH || COMPILE_TEST
        power: reset: Add msm restart support
        MAINTAINERS: drivers/power: add entry for SmartReflex AVS drivers
      a22a0fdb
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · bf83e614
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a handful of small powerpc fixes.
      
        A couple of section mismatches (always worth fixing), a missing export
        of a new symbol causing build failures of modules, a page fault
        deadlock fix (interestingly that bug has been around for a LONG time,
        though it seems to be more easily triggered by KVM) and fixing pseries
        default idle loop in the absence of the cpuidle drivers (such as
        during boot)"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Default arch idle could cede processor on pseries
        fbdev/ps3fb: Fix section mismatch warning for ps3fb_probe
        powerpc: Fix section mismatch warning for prom_rtas_call
        powerpc: Fix possible deadlock on page fault
        powerpc: Export cpu_to_chip_id() to fix build error
      bf83e614
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.12-rc0-tag-two' of... · a60d4b98
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.12-rc0-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
      
      Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
       "This pull I usually do after rc1 is out but because we have a nice
        amount of fixes, some bootup related fixes for ARM, and it is early in
        the cycle we figured to do it now to help with tracking of potential
        regressions.
      
        The simple ones are the ARM ones - one of the patches fell through the
        cracks, other fixes a bootup issue (unconditionally using Xen
        functions).  Then a fix for a regression causing preempt count being
        off (patch causing this went in v3.12).
      
        Lastly are the fixes to make Xen PVHVM guests use PV ticketlocks (Xen
        PV already does).
      
        The enablement of that was supposed to be part of the x86 spinlock
        merge in commit 816434ec ("The biggest change here are
        paravirtualized ticket spinlocks (PV spinlocks), which bring a nice
        speedup on various benchmarks...") but unfortunatly it would cause
        hang when booting Xen PVHVM guests.  Yours truly got all of the bugs
        fixed last week and they (six of them) are included in this pull.
      
        Bug-fixes:
         - Boot on ARM without using Xen unconditionally
         - On Xen ARM don't run cpuidle/cpufreq
         - Fix regression in balloon driver, preempt count warnings
         - Fixes to make PVHVM able to use pv ticketlock.
         - Revert Xen PVHVM disabling pv ticketlock (aka, re-enable pv ticketlocks)"
      
      * tag 'stable/for-linus-3.12-rc0-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/spinlock: Don't use __initdate for xen_pv_spin
        Revert "xen/spinlock: Disable IRQ spinlock (PV) allocation on PVHVM"
        xen/spinlock: Don't setup xen spinlock IPI kicker if disabled.
        xen/smp: Update pv_lock_ops functions before alternative code starts under PVHVM
        xen/spinlock: We don't need the old structure anymore
        xen/spinlock: Fix locking path engaging too soon under PVHVM.
        xen/arm: disable cpuidle and cpufreq when linux is running as dom0
        xen/p2m: Don't call get_balloon_scratch_page() twice, keep interrupts disabled for multicalls
        ARM: xen: only set pm function ptrs for Xen guests
      a60d4b98
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · fa1586a7
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Daniel had some fixes queued up, that were delayed, the stolen memory
        ones and vga arbiter ones are quite useful, along with his usual bunch
        of stuff, nothing for HSW outputs yet.
      
        The one nouveau fix is for a regression I caused with the poweroff stuff"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits)
        drm/nouveau: fix oops on runtime suspend/resume
        drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done
        drm/i915: try not to lose backlight CBLV precision
        drm/i915: Confine page flips to BCS on Valleyview
        drm/i915: Skip stolen region initialisation if none is reserved
        drm/i915: fix gpu hang vs. flip stall deadlocks
        drm/i915: Hold an object reference whilst we shrink it
        drm/i915: fix i9xx_crtc_clock_get for multiplied pixels
        drm/i915: handle sdvo input pixel multiplier correctly again
        drm/i915: fix hpd work vs. flush_work in the pageflip code deadlock
        drm/i915: fix up the relocate_entry refactoring
        drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode
        drm/i915: Don't call sg_free_table() if sg_alloc_table() fails
        i915: Update VGA arbiter support for newer devices
        vgaarb: Fix VGA decodes changes
        vgaarb: Don't disable resources that are not owned
        drm/i915: Pin pages whilst mapping the dma-buf
        drm/i915: enable trickle feed on Haswell
        x86: add early quirk for reserving Intel graphics stolen memory v5
        drm/i915: split PCI IDs out into i915_drm.h v4
        ...
      fa1586a7
    • Linus Torvalds's avatar
      Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linux · cf596766
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "This was a very quiet cycle! Just a few bugfixes and some cleanup"
      
      * 'nfsd-next' of git://linux-nfs.org/~bfields/linux:
        rpc: let xdr layer allocate gssproxy receieve pages
        rpc: fix huge kmalloc's in gss-proxy
        rpc: comment on linux_cred encoding, treat all as unsigned
        rpc: clean up decoding of gssproxy linux creds
        svcrpc: remove unused rq_resused
        nfsd4: nfsd4_create_clid_dir prints uninitialized data
        nfsd4: fix leak of inode reference on delegation failure
        Revert "nfsd: nfs4_file_get_access: need to be more careful with O_RDWR"
        sunrpc: prepare NFS for 2038
        nfsd4: fix setlease error return
        nfsd: nfs4_file_get_access: need to be more careful with O_RDWR
      cf596766
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 516f7b3f
      Linus Torvalds authored
      Pull hwmon cleanups from Guenter Roeck:
       "Minor cleanup in ina2xx and hwmon-vid drivers; no functional changes"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ina2xx) Remove casting the return value which is a void pointer
        hwmon: (hwmon-vid) Add __maybe_unused attribute to dummy variable
      516f7b3f
    • Linus Torvalds's avatar
      Merge branch 'x86/jumplabel' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 442e0973
      Linus Torvalds authored
      Pull x86 jumplabel changes from Peter Anvin:
       "One more x86 tree for this merge window.  This tree improves the
        handling of jump labels, so that most of the time we don't have to do
        a massive initial patching run.
      
        Furthermore, we will error out of the jump label is not what is
        expected, eg if it has been corrupted or tampered with"
      
      * 'x86/jumplabel' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/jump-label: Show where and what was wrong on errors
        x86/jump-label: Add safety checks to jump label conversions
        x86/jump-label: Do not bother updating nops if they are correct
        x86/jump-label: Use best default nops for inital jump label calls
      442e0973
    • Vaidyanathan Srinivasan's avatar
      powerpc: Default arch idle could cede processor on pseries · 363edbe2
      Vaidyanathan Srinivasan authored
      When adding cpuidle support to pSeries, we introduced two
      regressions:
      
        - The new cpuidle backend driver only works under hypervisors
          supporting the "SLPLAR" option, which isn't the case of the
          old POWER4 hypervisor and the HV "light" used on js2x blades
      
        - The cpuidle driver registers fairly late, meaning that for
          a significant portion of the boot process, we end up having
          all threads spinning. This slows down the boot process and
          increases the overall resource usage if the hypervisor has
          shared processors.
      
      This fixes both by implementing a "default" idle that will cede
      to the hypervisor when possible, in a very simple way without
      all the bells and whisles of cpuidle.
      Reported-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
      Acked-by: default avatarDeepthi Dharwar <deepthi@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@vger.kernel.org>
      363edbe2
    • Vladimir Murzin's avatar
      fbdev/ps3fb: Fix section mismatch warning for ps3fb_probe · 88c2d0b6
      Vladimir Murzin authored
      While cross-building for PPC64 I've got
      
      WARNING: drivers/video/built-in.o(.text+0x9f9ca): Section mismatch in
      reference from the function .ps3fb_probe() to th e variable
      .init.data:ps3fb_fix The function .ps3fb_probe() references the
      variable __initdata ps3fb_fix.  This is often because .ps3fb_probe
      lacks a __initdata annotation or the annotation of ps3fb_fix is wrong.
      
      WARNING: drivers/video/built-in.o(.text+0x9f9d2): Section mismatch in
      reference from the function .ps3fb_probe() to the variable
      .init.data:ps3fb_fix The function .ps3fb_probe() references the
      variable __initdata ps3fb_fix.  This is often because .ps3fb_probe
      lacks a __initdata annotation or the annotation of ps3fb_fix is wrong.
      
      WARNING: drivers/built-in.o(.text+0xe222a): Section mismatch in
      reference from the function .ps3fb_probe() to the variable
      .init.data:ps3fb_fix The function .ps3fb_probe() references the
      variable __initdata ps3fb_fix.  This is often because .ps3fb_probe
      lacks a __initdata annotation or the annotation of ps3fb_fix is wrong.
      
      WARNING: drivers/built-in.o(.text+0xe2232): Section mismatch in
      reference from the function .ps3fb_probe() to the variable
      .init.data:ps3fb_fix The function .ps3fb_probe() references the
      variable __initdata ps3fb_fix.  This is often because .ps3fb_probe
      lacks a __initdata annotation or the annotation of ps3fb_fix is wrong.
      
      WARNING: vmlinux.o(.text+0x561d4a): Section mismatch in reference from
      the function .ps3fb_probe() to the variable .init.data:ps3fb_fix The
      function .ps3fb_probe() references the variable __initdata ps3fb_fix.
      This is often because .ps3fb_probe lacks a __initdata annotation or
      the annotation of ps3fb_fix is wrong.
      
      Mismatch was introduced with 48c68c4f "Drivers: video: remove __dev*
      attributes."
      
      Remove __init data annotation from ps3fb_fix.
      Signed-off-by: default avatarVladimir Murzin <murzin.v@gmail.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      88c2d0b6
    • Vladimir Murzin's avatar
      powerpc: Fix section mismatch warning for prom_rtas_call · 620e5050
      Vladimir Murzin authored
      While cross-building for PPC64 I've got
      
      WARNING: vmlinux.o(.text.unlikely+0x1ba): Section mismatch in
      reference from the function .prom_rtas_call() to the variable
      .init.data:dt_string_start The function .prom_rtas_call() references
      the variable __initdata dt_string_start.  This is often because
      .prom_rtas_call lacks a __initdata annotation or the annotation of
      dt_string_start is wrong.
      
      WARNING: vmlinux.o(.meminit.text+0xeb0): Section mismatch in reference
      from the function .free_area_init_core.isra.47() to the function
      .init.text:.set_pageblock_order() The function __meminit
      .free_area_init_core.isra.47() references a function __init
      .set_pageblock_order().  If .set_pageblock_order is only used by
      .free_area_init_core.isra.47 then annotate .set_pageblock_order with a
      matching annotation.
      
      Fix it by proper annotation of prom_rtas_call.
      Signed-off-by: default avatarVladimir Murzin <murzin.v@gmail.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      620e5050
    • Aneesh Kumar K.V's avatar
      powerpc: Fix possible deadlock on page fault · 69e044dd
      Aneesh Kumar K.V authored
       stack_grow_into/14082 is trying to acquire lock:
        (&mm->mmap_sem){++++++}, at: [<c000000000206d28>] .might_fault+0x78/0xe0
      
       but task is already holding lock:
        (&mm->mmap_sem){++++++}, at: [<c0000000007ffd8c>] .do_page_fault+0x24c/0x910
      
       other info that might help us debug this:
        Possible unsafe locking scenario:
      
              CPU0
              ----
         lock(&mm->mmap_sem);
         lock(&mm->mmap_sem);
      
        *** DEADLOCK ***
      
        May be due to missing lock nesting notation
      
       1 lock held by stack_grow_into/14082:
        #0:  (&mm->mmap_sem){++++++}, at: [<c0000000007ffd8c>] .do_page_fault+0x24c/0x910
      
       stack backtrace:
       CPU: 21 PID: 14082 Comm: stack_grow_into Not tainted 3.10.0-10.el7.ppc64.debug #1
       Call Trace:
       [c0000003d396b850] [c000000000016e7c] .show_stack+0x7c/0x1f0 (unreliable)
       [c0000003d396b920] [c000000000813fc8] .dump_stack+0x28/0x3c
       [c0000003d396b990] [c000000000124b90] .__lock_acquire+0x1640/0x1800
       [c0000003d396bab0] [c00000000012570c] .lock_acquire+0xac/0x250
       [c0000003d396bb80] [c000000000206d54] .might_fault+0xa4/0xe0
       [c0000003d396bbf0] [c0000000007ffe2c] .do_page_fault+0x2ec/0x910
       [c0000003d396be30] [c0000000000092e8] handle_page_fault+0x10/0x30
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      69e044dd
    • Guenter Roeck's avatar
      powerpc: Export cpu_to_chip_id() to fix build error · 256588fd
      Guenter Roeck authored
      powerpc allmodconfig build fails with:
      
      ERROR: ".cpu_to_chip_id" [drivers/block/mtip32xx/mtip32xx.ko] undefined!
      
      The problem was introduced with commit 15863ff3 (powerpc: Make chip-id
      information available to userspace).
      
      Export the missing symbol.
      
      Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
      Cc: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      256588fd
  2. 10 Sep, 2013 14 commits
    • Linus Torvalds's avatar
      Merge tag 'cris-for-3.12' of git://jni.nu/cris · 8d7551eb
      Linus Torvalds authored
      Pull CRIS updates from Jesper Nilsson:
       "Mostly cleanup and removal of unused configs"
      
      * tag 'cris-for-3.12' of git://jni.nu/cris:
        CRIS: drop unused Kconfig symbols
        CRIS: Add kvm_para.h which includes generic file
        CRIS: remove unused current_regs
        CRIS: Remove last traces of legacy RTC drivers
        CRIS: remove "config OOM_REBOOT"
      8d7551eb
    • Akira Takeuchi's avatar
      mn10300: Fix crash just after starting userspace on !CONFIG_PREEMPT · 3da06ed7
      Akira Takeuchi authored
      The mn10300 kernel crashes just after starting userspace programs, if
      CONFIG_PREEMPT is disabled:
      
        Freeing unused kernel memory: 96K (90286000 - 9029e000)
        MISALIGN: 97c33ff9: unsupported instruction f
        MISALIGN: 97c33ff9: unsupported instruction f
        MISALIGN: 97c33ff9: unsupported instruction f
        :
      
      This fixes the problem that was introduced by commit d17fc238
      ("MN10300: Enable IRQs more in system call exit work path").
      Signed-off-by: default avatarAkira Takeuchi <takeuchi.akr@jp.panasonic.com>
      Signed-off-by: default avatarKiyoshi Owada <owada.kiyoshi@jp.panasonic.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3da06ed7
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux · 31f7c3a6
      Linus Torvalds authored
      Pull device tree core updates from Grant Likely:
       "Generally minor changes.  A bunch of bug fixes, particularly for
        initialization and some refactoring.  Most notable change if feeding
        the entire flattened tree into the random pool at boot.  May not be
        significant, but shouldn't hurt either"
      
      Tim Bird questions whether the boot time cost of the random feeding may
      be noticeable.  And "add_device_randomness()" is definitely not some
      speed deamon of a function.
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
        of/platform: add error reporting to of_amba_device_create()
        irq/of: Fix comment typo for irq_of_parse_and_map
        of: Feed entire flattened device tree into the random pool
        of/fdt: Clean up casting in unflattening path
        of/fdt: Remove duplicate memory clearing on FDT unflattening
        gpio: implement gpio-ranges binding document fix
        of: call __of_parse_phandle_with_args from of_parse_phandle
        of: introduce of_parse_phandle_with_fixed_args
        of: move of_parse_phandle()
        of: move documentation of of_parse_phandle_with_args
        of: Fix missing memory initialization on FDT unflattening
        of: consolidate definition of early_init_dt_alloc_memory_arch()
        of: Make of_get_phy_mode() return int i.s.o. const int
        include: dt-binding: input: create a DT header defining key codes.
        of/platform: Staticize of_platform_device_create_pdata()
        of: Specify initrd location using 64-bit
        dt: Typo fix
        OF: make of_property_for_each_{u32|string}() use parameters if OF is not enabled
      31f7c3a6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma · ec5b103e
      Linus Torvalds authored
      Pull slave-dmaengine updates from Vinod Koul:
       "This pull brings:
         - Andy's DW driver updates
         - Guennadi's sh driver updates
         - Pl08x driver fixes from Tomasz & Alban
         - Improvements to mmp_pdma by Daniel
         - TI EDMA fixes by Joel
         - New drivers:
           - Hisilicon k3dma driver
           - Renesas rcar dma driver
        - New API for publishing slave driver capablities
        - Various fixes across the subsystem by Andy, Jingoo, Sachin etc..."
      
      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (94 commits)
        dma: edma: Remove limits on number of slots
        dma: edma: Leave linked to Null slot instead of DUMMY slot
        dma: edma: Find missed events and issue them
        ARM: edma: Add function to manually trigger an EDMA channel
        dma: edma: Write out and handle MAX_NR_SG at a given time
        dma: edma: Setup parameters to DMA MAX_NR_SG at a time
        dmaengine: pl330: use dma_set_max_seg_size to set the sg limit
        dmaengine: dma_slave_caps: remove sg entries
        dma: replace devm_request_and_ioremap by devm_ioremap_resource
        dma: ste_dma40: Fix potential null pointer dereference
        dma: ste_dma40: Remove duplicate const
        dma: imx-dma: Remove redundant NULL check
        dma: dmagengine: fix function names in comments
        dma: add driver for R-Car HPB-DMAC
        dma: k3dma: use devm_ioremap_resource() instead of devm_request_and_ioremap()
        dma: imx-sdma: Staticize sdma_driver_data structures
        pch_dma: Add MODULE_DEVICE_TABLE
        dmaengine: PL08x: Add cyclic transfer support
        dmaengine: PL08x: Fix reading the byte count in cctl
        dmaengine: PL08x: Add support for different maximum transfer size
        ...
      ec5b103e
    • Linus Torvalds's avatar
      Merge tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · d0048f0b
      Linus Torvalds authored
      Pull MMC updates from Chris Ball:
       "MMC highlights for 3.12:
      
        Core:
         - Support Allocation Units 8MB-64MB in SD3.0, previous max was 4MB.
         - The slot-gpio helper can now handle GPIO debouncing card-detect.
         - Read supported voltages from DT "voltage-ranges" property.
      
        Drivers:
         - dw_mmc: Add support for ARC architecture, and support exynos5420.
         - mmc_spi: Support CD/RO GPIOs.
         - sh_mobile_sdhi: Add compatibility for more Renesas SoCs.
         - sh_mmcif: Add DT support for DMA channels"
      
      * tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (50 commits)
        Revert "mmc: tmio-mmc: Remove .set_pwr() callback from platform data"
        mmc: dw_mmc: Add support for ARC
        mmc: sdhci-s3c: initialize host->quirks2 for using quirks2
        mmc: sdhci-s3c: fix the wrong register value, when clock is disabled
        mmc: esdhc: add support to get voltage from device-tree
        mmc: sdhci: get voltage from sdhc host
        mmc: core: parse voltage from device-tree
        mmc: omap_hsmmc: use the generic config for omap2plus devices
        mmc: omap_hsmmc: clear status flags before starting a new command
        mmc: dw_mmc: exynos: Add a new compatible string for exynos5420
        mmc: sh_mmcif: revision-specific CLK_CTRL2 handling
        mmc: sh_mmcif: revision-specific Command Completion Signal handling
        mmc: sh_mmcif: add support for Device Tree DMA bindings
        mmc: sh_mmcif: move header include from header into .c
        mmc: SDHI: add DT compatibility strings for further SoCs
        mmc: dw_mmc-pci: enable bus-mastering mode
        mmc: dw_mmc-pci: get resources from a proper BAR
        mmc: tmio-mmc: Remove .set_pwr() callback from platform data
        mmc: tmio-mmc: Remove .get_cd() callback from platform data
        mmc: sh_mobile_sdhi: Remove .set_pwr() callback from platform data
        ...
      d0048f0b
    • Linus Torvalds's avatar
      Merge tag 'dm-3.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 7426d628
      Linus Torvalds authored
      Pull device-mapper updates from Mike Snitzer:
       "Add the ability to collect I/O statistics on user-defined regions of a
        device-mapper device.  This dm-stats code required the reintroduction
        of a div64_u64_rem() helper, but as a separate method that doesn't
        slow down div64_u64() -- especially on 32-bit systems.
      
        Allow the error target to replace request-based DM devices (e.g.
        multipath) in addition to bio-based DM devices.
      
        Various other small code fixes and improvements to thin-provisioning,
        DM cache and the DM ioctl interface"
      
      * tag 'dm-3.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm stripe: silence a couple sparse warnings
        dm: add statistics support
        dm thin: always return -ENOSPC if no_free_space is set
        dm ioctl: cleanup error handling in table_load
        dm ioctl: increase granularity of type_lock when loading table
        dm ioctl: prevent rename to empty name or uuid
        dm thin: set pool read-only if breaking_sharing fails block allocation
        dm thin: prefix pool error messages with pool device name
        dm: allow error target to replace bio-based and request-based targets
        math64: New separate div64_u64_rem helper
        dm space map: optimise sm_ll_dec and sm_ll_inc
        dm btree: prefetch child nodes when walking tree for a dm_btree_del
        dm btree: use pop_frame in dm_btree_del to cleanup code
        dm cache: eliminate holes in cache structure
        dm cache: fix stacking of geometry limits
        dm thin: fix stacking of geometry limits
        dm thin: add data block size limits to Documentation
        dm cache: add data block size limits to code and Documentation
        dm cache: document metadata device is exclussive to a cache
        dm: stop using WQ_NON_REENTRANT
      7426d628
    • Linus Torvalds's avatar
      Merge tag 'md/3.12' of git://neil.brown.name/md · 4d7696f1
      Linus Torvalds authored
      Pull md update from Neil Brown:
       "Headline item is multithreading for RAID5 so that more IO/sec can be
        supported on fast (SSD) devices.  Also TILE-Gx SIMD suppor for RAID6
        calculations and an assortment of bug fixes"
      
      * tag 'md/3.12' of git://neil.brown.name/md:
        raid5: only wakeup necessary threads
        md/raid5: flush out all pending requests before proceeding with reshape.
        md/raid5: use seqcount to protect access to shape in make_request.
        raid5: sysfs entry to control worker thread number
        raid5: offload stripe handle to workqueue
        raid5: fix stripe release order
        raid5: make release_stripe lockless
        md: avoid deadlock when dirty buffers during md_stop.
        md: Don't test all of mddev->flags at once.
        md: Fix apparent cut-and-paste error in super_90_validate
        raid6/test: replace echo -e with printf
        RAID: add tilegx SIMD implementation of raid6
        md: fix safe_mode buglet.
        md: don't call md_allow_write in get_bitmap_file.
      4d7696f1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b05430fc
      Linus Torvalds authored
      Pull vfs pile 3 (of many) from Al Viro:
       "Waiman's conversion of d_path() and bits related to it,
        kern_path_mountpoint(), several cleanups and fixes (exportfs
        one is -stable fodder, IMO).
      
        There definitely will be more...  ;-/"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        split read_seqretry_or_unlock(), convert d_walk() to resulting primitives
        dcache: Translating dentry into pathname without taking rename_lock
        autofs4 - fix device ioctl mount lookup
        introduce kern_path_mountpoint()
        rename user_path_umountat() to user_path_mountpoint_at()
        take unlazy_walk() into umount_lookup_last()
        Kill indirect include of file.h from eventfd.h, use fdget() in cgroup.c
        prune_super(): sb->s_op is never NULL
        exportfs: don't assume that ->iterate() won't feed us too long entries
        afs: get rid of redundant ->d_name.len checks
      b05430fc
    • Linus Torvalds's avatar
      vfs: make sure we don't have a stale root path if unlazy_walk() fails · d0d27277
      Linus Torvalds authored
      When I moved the RCU walk termination into unlazy_walk(), I didn't copy
      quite all of it: for the successful RCU termination we properly add the
      necessary reference counts to our temporary copy of the root path, but
      for the failure case we need to make sure that any temporary root path
      information is cleared out (since it does _not_ have the proper
      reference counts from the RCU lookup).
      
      We could clean up this mess by just always dropping the temporary root
      information, but Al points out that that would mean that a single lookup
      through symlinks could see multiple different root entries if it races
      with another thread doing chroot.  Not that I think we should really
      care (we had that before too, back before we had a copy of the root path
      in the nameidata).
      
      Al says he has a cunning plan.  In the meantime, this is the minimal fix
      for the problem, even if it's not all that pretty.
      Reported-by: default avatarMace Moneta <moneta.mace@gmail.com>
      Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d0d27277
    • Paul Bolle's avatar
      CRIS: drop unused Kconfig symbols · be8cb7f4
      Paul Bolle authored
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      be8cb7f4
    • Jesper Nilsson's avatar
      CRIS: Add kvm_para.h which includes generic file · b172b370
      Jesper Nilsson authored
      Copied from frv.
      Reviewed-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      b172b370
    • Jesper Nilsson's avatar
      CRIS: remove unused current_regs · c9ea40cb
      Jesper Nilsson authored
      CC: Mikael Starvik <starvik@axis.com>
      CC: linux-cris-kernel@axis.com
      Signed-off-by: default avatarJonas Bonn <jonas@southpole.se>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      c9ea40cb
    • Paul Bolle's avatar
      CRIS: Remove last traces of legacy RTC drivers · 569fa263
      Paul Bolle authored
      These legacy drivers were removed in commit
      9c75fc8c ("CRIS: Remove legacy RTC
      drivers"). Now remove their last traces in two Kconfig files and one
      Makefile.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarJesper Nilsson <jespern@axis.com>
      569fa263
    • Paul Bolle's avatar
      CRIS: remove "config OOM_REBOOT" · 96184b60
      Paul Bolle authored
      The Kconfig symbol OOM_REBOOT got added in v2.6.25. It has never been
      used. Its entry can safely be removed.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
      96184b60