1. 19 6月, 2016 5 次提交
    • L
      Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm · c141afd1
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "A couple of fixes for pmd_mknotpresent()/pmd_present() for LPAE
        systems"
      
      * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8579/1: mm: Fix definition of pmd_mknotpresent
        ARM: 8578/1: mm: ensure pmd_present only checks the valid bit
      c141afd1
    • L
      Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e80dac11
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are a bunch (65) of USB fixes for 4.7-rc4.  Sorry about the
        quantity, I've been slow in getting these out.
      
        The majority are the "normal" gadget, musb, and xhci fixes, that we
        all are used to.  There are also a few other tiny fixes resolving a
        number of reported issues that showed up in 4.7-rc1.
      
        All of these have been in linux-next"
      
      * tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (65 commits)
        usbip: rate limit get_frame_number message
        usb: musb: sunxi: Remove bogus "Frees glue" comment
        usb: musb: sunxi: Fix NULL ptr deref when gadget is registered before musb
        usb: echi-hcd: Add ehci_setup check before echi_shutdown
        usb: host: ehci-msm: Conditionally call ehci suspend/resume
        MAINTAINERS: Add file patterns for usb device tree bindings
        usb: host: ehci-tegra: Avoid getting the same reset twice
        usb: host: ehci-tegra: Grab the correct UTMI pads reset
        USB: mos7720: delete parport
        USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
        phy: ti-pipe3: Program the DPLL even if it was already locked
        usb: musb: Stop bulk endpoint while queue is rotated
        usb: musb: Ensure rx reinit occurs for shared_fifo endpoints
        usb: musb: host: correct cppi dma channel for isoch transfer
        usb: musb: only restore devctl when session was set in backup
        usb: phy: Check initial state for twl6030
        usb: musb: Use normal module_init for 2430 glue
        usb: musb: Remove pm_runtime_set_irq_safe
        usb: musb: Remove extra PM runtime calls from 2430 glue layer
        usb: musb: Return error value from musb_mailbox
        ...
      e80dac11
    • L
      Merge tag 'staging-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · a50094a4
      Linus Torvalds 提交于
      Pull IIO and staging fixes from Greg KH:
       "Here are a number of IIO and staging bugfixes for 4.7-rc4.
      
        Nothing huge, the normal amount of iio driver fixes, and some small
        staging driver bugfixes for some reported problems (2 are reverts of
        patches that went into 4.7-rc1).  All have been in linux-next with no
        reported issues"
      
      * tag 'staging-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (24 commits)
        Revert "Staging: rtl8188eu: rtw_efuse: Use sizeof type *pointer instead of sizeof type."
        Revert "Staging: drivers: rtl8188eu: use sizeof(*ptr) instead of sizeof(struct)"
        staging: lustre: lnet: Don't access NULL NI on failure path
        iio: hudmidity: hdc100x: fix incorrect shifting and scaling
        iio: light apds9960: Add the missing dev.parent
        iio: Fix error handling in iio_trigger_attach_poll_func
        iio: st_sensors: Disable DRDY at init time
        iio: st_sensors: Init trigger before irq request
        iio: st_sensors: switch to a threaded interrupt
        iio: light: bh1780: assign a static name
        iio: bh1780: dereference the client properly
        iio: humidity: hdc100x: fix IIO_TEMP channel reporting
        iio:st_pressure: fix sampling gains (bring inline with ABI)
        iio: proximity: as3935: fix buffer stack trashing
        iio: proximity: as3935: remove triggered buffer processing
        iio: proximity: as3935: correct IIO_CHAN_INFO_RAW output
        max44000: Remove scale from proximity
        iio: humidity: am2315: Remove a stray unlock
        iio: humidity: hdc100x: correct humidity integration time mask
        iio: pressure: bmp280: fix error message for wrong chip id
        ...
      a50094a4
    • L
      Merge tag 'driver-core-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 607117a1
      Linus Torvalds 提交于
      Pull driver core fixes from Greg KH:
       "Here are a small number of debugfs, ISA, and one driver core fix for
        4.7-rc4.
      
        All of these resolve reported issues.  The ISA ones have spent the
        least amount of time in linux-next, sorry about that, I didn't realize
        they were regressions that needed to get in now (thanks to Thorsten
        for the prodding!) but they do all pass the 0-day bot tests.  The
        others have been in linux-next for a while now.
      
        Full details about them are in the shortlog below"
      
      * tag 'driver-core-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        isa: Dummy isa_register_driver should return error code
        isa: Call isa_bus_init before dependent ISA bus drivers register
        watchdog: ebc-c384_wdt: Allow build for X86_64
        iio: stx104: Allow build for X86_64
        gpio: Allow PC/104 devices on X86_64
        isa: Allow ISA-style drivers on modern systems
        base: make module_create_drivers_dir race-free
        debugfs: open_proxy_open(): avoid double fops release
        debugfs: full_proxy_open(): free proxy on ->open() failure
        kernel/kcov: unproxify debugfs file's fops
      607117a1
    • L
      Merge tag 'char-misc-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 07b5ca22
      Linus Torvalds 提交于
      Pull char/misc driver fixes from Greg KH:
       "Here are a small number of char and misc driver fixes for 4.7-rc4.
      
        They resolve some minor issues that have been reported, and have all
        been in linux-next"
      
      * tag 'char-misc-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        coresight: Handle build path error
        coresight: Fix erroneous memset in tmc_read_unprepare_etr
        coresight: Fix tmc_read_unprepare_etr
        coresight: Fix NULL pointer dereference in _coresight_build_path
        extcon: palmas: Fix boot up state of VBUS when using GPIO detection
        mcb: Acquire reference to carrier module in core
        mcb: Acquire reference to device in probe
        mei: don't use wake_up_interruptible for wr_ctrl
      07b5ca22
  2. 18 6月, 2016 27 次提交
  3. 17 6月, 2016 7 次提交
    • J
      iommu/vt-d: Enable QI on all IOMMUs before setting root entry · a4c34ff1
      Joerg Roedel 提交于
      This seems to be required on some X58 chipsets on systems
      with more than one IOMMU. QI does not work until it is
      enabled on all IOMMUs in the system.
      Reported-by: NDheeraj CVR <cvr.dheeraj@gmail.com>
      Tested-by: NDheeraj CVR <cvr.dheeraj@gmail.com>
      Fixes: 5f0a7f76 ('iommu/vt-d: Make root entry visible for hardware right after allocation')
      Cc: stable@vger.kernel.org
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      a4c34ff1
    • L
      Merge tag 'pwm/for-4.7-rc4' of... · bb967271
      Linus Torvalds 提交于
      Merge tag 'pwm/for-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "These changes fix a bit of fallout from the introduction of the atomic
        API"
      
      * tag 'pwm/for-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: atmel-hlcdc: Fix default PWM polarity
        pwm: sysfs: Get return value from pwm_apply_state()
        pwm: Improve args checking in pwm_apply_state()
      bb967271
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2668bc77
      Linus Torvalds 提交于
      Pull KVM fixes from Paolo Bonzini:
      
       - miscellaneous fixes for MIPS and s390
      
       - one new kvm_stat for s390
      
       - correctly disable VT-d posted interrupts with the rest of posted
         interrupts
      
       - "make randconfig" fix for x86 AMD
      
       - off-by-one in irq route check (the "good" kind that errors out a bit
         too early!)
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: vmx: check apicv is active before using VT-d posted interrupt
        kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES
        kvm: svm: Do not support AVIC if not CONFIG_X86_LOCAL_APIC
        kvm: svm: Fix implicit declaration for __default_cpu_present_to_apicid()
        MIPS: KVM: Fix CACHE triggered exception emulation
        MIPS: KVM: Don't unwind PC when emulating CACHE
        MIPS: KVM: Include bit 31 in segment matches
        MIPS: KVM: Fix modular KVM under QEMU
        KVM: s390: Add stats for PEI events
        KVM: s390: ignore IBC if zero
      2668bc77
    • L
      Merge tag 'nfsd-4.7-1' of git://linux-nfs.org/~bfields/linux · 41ef7218
      Linus Torvalds 提交于
      Pull nfsd bugfixes from Bruce Fields:
       "Oleg Drokin found and fixed races in the nfsd4 state code that go back
        to the big nfs4_lock_state removal around 3.17 (but that were also
        probably hard to reproduce before client changes in 3.20 allowed the
        client to perform parallel opens).
      
        Also fix a 4.1 backchannel crash due to rpc multipath changes in 4.6.
        Trond acked the client-side rpc fixes going through my tree"
      
      * tag 'nfsd-4.7-1' of git://linux-nfs.org/~bfields/linux:
        nfsd: Make init_open_stateid() a bit more whole
        nfsd: Extend the mutex holding region around in nfsd4_process_open2()
        nfsd: Always lock state exclusively.
        rpc: share one xps between all backchannels
        nfsd4/rpc: move backchannel create logic into rpc code
        SUNRPC: fix xprt leak on xps allocation failure
        nfsd: Fix NFSD_MDS_PR_KEY on 32-bit by adding ULL postfix
      41ef7218
    • L
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 9c514bed
      Linus Torvalds 提交于
      Pull overlayfs fixes from Miklos Szeredi:
       "This contains two regression fixes: one for the xattr API update and
        one for using the mounter's creds in file creation in overlayfs.
      
        There's also a fix for a bug in handling hard linked AF_UNIX sockets
        that's been there from day one.  This fix is overlayfs only despite
        the fact that it touches code outside the overlay filesystem: d_real()
        is an identity function for all except overlay dentries"
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: fix uid/gid when creating over whiteout
        ovl: xattr filter fix
        af_unix: fix hard linked sockets on overlay
        vfs: add d_real_inode() helper
      9c514bed
    • D
      KEYS: potential uninitialized variable · 38327424
      Dan Carpenter 提交于
      If __key_link_begin() failed then "edit" would be uninitialized.  I've
      added a check to fix that.
      
      This allows a random user to crash the kernel, though it's quite
      difficult to achieve.  There are three ways it can be done as the user
      would have to cause an error to occur in __key_link():
      
       (1) Cause the kernel to run out of memory.  In practice, this is difficult
           to achieve without ENOMEM cropping up elsewhere and aborting the
           attempt.
      
       (2) Revoke the destination keyring between the keyring ID being looked up
           and it being tested for revocation.  In practice, this is difficult to
           time correctly because the KEYCTL_REJECT function can only be used
           from the request-key upcall process.  Further, users can only make use
           of what's in /sbin/request-key.conf, though this does including a
           rejection debugging test - which means that the destination keyring
           has to be the caller's session keyring in practice.
      
       (3) Have just enough key quota available to create a key, a new session
           keyring for the upcall and a link in the session keyring, but not then
           sufficient quota to create a link in the nominated destination keyring
           so that it fails with EDQUOT.
      
      The bug can be triggered using option (3) above using something like the
      following:
      
      	echo 80 >/proc/sys/kernel/keys/root_maxbytes
      	keyctl request2 user debug:fred negate @t
      
      The above sets the quota to something much lower (80) to make the bug
      easier to trigger, but this is dependent on the system.  Note also that
      the name of the keyring created contains a random number that may be
      between 1 and 10 characters in size, so may throw the test off by
      changing the amount of quota used.
      
      Assuming the failure occurs, something like the following will be seen:
      
      	kfree_debugcheck: out of range ptr 6b6b6b6b6b6b6b68h
      	------------[ cut here ]------------
      	kernel BUG at ../mm/slab.c:2821!
      	...
      	RIP: 0010:[<ffffffff811600f9>] kfree_debugcheck+0x20/0x25
      	RSP: 0018:ffff8804014a7de8  EFLAGS: 00010092
      	RAX: 0000000000000034 RBX: 6b6b6b6b6b6b6b68 RCX: 0000000000000000
      	RDX: 0000000000040001 RSI: 00000000000000f6 RDI: 0000000000000300
      	RBP: ffff8804014a7df0 R08: 0000000000000001 R09: 0000000000000000
      	R10: ffff8804014a7e68 R11: 0000000000000054 R12: 0000000000000202
      	R13: ffffffff81318a66 R14: 0000000000000000 R15: 0000000000000001
      	...
      	Call Trace:
      	  kfree+0xde/0x1bc
      	  assoc_array_cancel_edit+0x1f/0x36
      	  __key_link_end+0x55/0x63
      	  key_reject_and_link+0x124/0x155
      	  keyctl_reject_key+0xb6/0xe0
      	  keyctl_negate_key+0x10/0x12
      	  SyS_keyctl+0x9f/0xe7
      	  do_syscall_64+0x63/0x13a
      	  entry_SYSCALL64_slow_path+0x25/0x25
      
      Fixes: f70e2e06 ('KEYS: Do preallocation for __key_link()')
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      38327424
    • D
      arm64: kgdb: Match pstate size with gdbserver protocol · 0d15ef67
      Daniel Thompson 提交于
      Current versions of gdb do not interoperate cleanly with kgdb on arm64
      systems because gdb and kgdb do not use the same register description.
      This patch modifies kgdb to work with recent releases of gdb (>= 7.8.1).
      
      Compatibility with gdb (after the patch is applied) is as follows:
      
        gdb-7.6 and earlier  Ok
        gdb-7.7 series       Works if user provides custom target description
        gdb-7.8(.0)          Works if user provides custom target description
        gdb-7.8.1 and later  Ok
      
      When commit 44679a4f ("arm64: KGDB: Add step debugging support") was
      introduced it was paired with a gdb patch that made an incompatible
      change to the gdbserver protocol. This patch was eventually merged into
      the gdb sources:
      https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=a4d9ba85ec5597a6a556afe26b712e878374b9dd
      
      The change to the protocol was mostly made to simplify big-endian support
      inside the kernel gdb stub. Unfortunately the gdb project released
      gdb-7.7.x and gdb-7.8.0 before the protocol incompatibility was identified
      and reversed:
      https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=bdc144174bcb11e808b4e73089b850cf9620a7ee
      
      This leaves us in a position where kgdb still uses the no-longer-used
      protocol; gdb-7.8.1, which restored the original behaviour, was
      released on 2014-10-29.
      
      I don't believe it is possible to detect/correct the protocol
      incompatiblity which means the kernel must take a view about which
      version of the gdb remote protocol is "correct". This patch takes the
      view that the original/current version of the protocol is correct
      and that version found in gdb-7.7.x and gdb-7.8.0 is anomalous.
      Signed-off-by: NDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      0d15ef67
  4. 16 6月, 2016 1 次提交
    • V
      PM / OPP: Add 'UNKNOWN' status for shared_opp in struct opp_table · 79ee2e8f
      Viresh Kumar 提交于
      dev_pm_opp_get_sharing_cpus() returns 0 even in the case when the OPP
      core doesn't know whether or not the table is shared. It works on the
      majority of platforms, where the OPP table is never created before
      invoking the function and then -ENODEV is returned by it.
      
      But in the case of one platform (Jetson TK1) at least, the situation
      is a bit different. The OPP table has been created (somehow) before
      dev_pm_opp_get_sharing_cpus() is called and it returns 0. Its caller
      treats that as 'the CPUs don't share OPPs' and that leads to degraded
      performance.
      
      Fix this by converting 'shared_opp' in struct opp_table to an enum
      and making dev_pm_opp_get_sharing_cpus() return -EINVAL in case when
      the value of that field is "access unknown", so that the caller can
      handle it accordingly (cpufreq-dt considers that as 'all CPUs share
      the table', for example).
      
      Fixes: 6f707daa "PM / OPP: Add dev_pm_opp_get_sharing_cpus()"
      Reported-and-tested-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      [ rjw : Subject & changelog ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      79ee2e8f