1. 18 11月, 2015 1 次提交
  2. 17 11月, 2015 2 次提交
    • V
      drm/i915: Don't clobber the addfb2 ioctl params · 76dc3769
      Ville Syrjälä 提交于
      We try to convert the old way of of specifying fb tiling (obj->tiling)
      into the new fb modifiers. We store the result in the passed in mode_cmd
      structure. But that structure comes directly from the addfb2 ioctl, and
      gets copied back out to userspace, which means we're clobbering the
      modifiers that the user provided (all 0 since the DRM_MODE_FB_MODIFIERS
      flag wasn't even set by the user). Hence if the user reuses the struct
      for another addfb2, the ioctl will be rejected since it's now asking for
      some modifiers w/o the flag set.
      
      Fix the problem by making a copy of the user provided structure. We can
      play any games we want with the copy.
      
      IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64)
      ...
      Subtest basic-X-tiled: SUCCESS (0.001s)
      Test assertion failure function pitch_tests, file kms_addfb_basic.c:167:
      Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0
      Last errno: 22, Invalid argument
      Stack trace:
        #0 [__igt_fail_assert+0x101]
        #1 [pitch_tests+0x619]
        #2 [__real_main426+0x2f]
        #3 [main+0x23]
        #4 [__libc_start_main+0xf0]
        #5 [_start+0x29]
        #6 [<unknown>+0x29]
        Subtest framebuffer-vs-set-tiling failed.
        **** DEBUG ****
        Test assertion failure function pitch_tests, file kms_addfb_basic.c:167:
        Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0
        Last errno: 22, Invalid argument
        ****  END  ****
        Subtest framebuffer-vs-set-tiling: FAIL (0.003s)
        ...
      
      IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64)
      Subtest framebuffer-vs-set-tiling: SUCCESS (0.000s)
      
      Cc: stable@vger.kernel.org # v4.1+
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Fixes: 2a80eada ("drm/i915: Add fb format modifier support")
      Testcase: igt/kms_addfb_basic/clobbered-modifier
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447261890-3960-1-git-send-email-ville.syrjala@linux.intel.com
      76dc3769
    • M
      drm/i915: Clear intel_crtc->atomic before updating it. · ba8af3e5
      Maarten Lankhorst 提交于
      If an atomic update fails intel_crtc->atomic may have have some values left
      from the last atomic check. One example is atomic->wait_for_vblank,
      which results in spurious errors in kms_flip.
      
      [ 1551.892708] ------------[ cut here ]------------
      [ 1551.892721] WARNING: CPU: 3 PID: 4179 at ../drivers/gpu/drm/drm_irq.c:1199 drm_wait_one_vblank+0x197/0x1a0 [drm]()
      [ 1551.892722] vblank not available on crtc 2, ret=-22
      [ 1551.892751] Modules linked in: snd_hda_intel i915 drm_kms_helper drm
      intel_gtt i2c_algo_bit cfbfillrect syscopyarea cfbimgblt sysfillrect
      sysimgblt fb_sys_fops cfbcopyarea agpgart cfg80211 binfmt_misc
      snd_hda_codec_hdmi intel_rapl iosf_mbi x86_pkg_temp_thermal coretemp
      kvm_intel snd_hda_codec_realtek kvm snd_hda_codec_generic iTCO_wdt
      aesni_intel aes_x86_64 glue_helper lrw snd_hda_codec gf128mul
      ablk_helper cryptd snd_hwdep psmouse snd_hda_core pcspkr snd_pcm
      snd_timer snd lpc_ich i2c_i801 mfd_core soundcore wmi evdev [last
      unloaded: drm]
      [ 1551.892753] CPU: 3 PID: 4179 Comm: kms_pipe_crc_ba Tainted: G     U  W       4.3.0-reg+ #6
      [ 1551.892754] Hardware name:                  /DZ77BH-55K, BIOS BHZ7710H.86A.0100.2013.0517.0942 05/17/2013
      [ 1551.892758]  ffffffffa03128d8 ffff8800cec73890 ffffffff812c0f3c ffff8800cec738d8
      [ 1551.892760]  ffff8800cec738c8 ffffffff8104ff36 ffff880116ae2290 0000000000000002
      [ 1551.892762]  ffff8800d39fcda0 ffff8800d038b4d0 ffff8800d42b5550 ffff8800cec73928
      [ 1551.892763] Call Trace:
      [ 1551.892768]  [<ffffffff812c0f3c>] dump_stack+0x4e/0x82
      [ 1551.892771]  [<ffffffff8104ff36>] warn_slowpath_common+0x86/0xc0
      [ 1551.892773]  [<ffffffff8104ffbc>] warn_slowpath_fmt+0x4c/0x50
      [ 1551.892781]  [<ffffffffa02e6708>] ? drm_vblank_get+0x78/0xd0 [drm]
      [ 1551.892787]  [<ffffffffa02e6d47>] drm_wait_one_vblank+0x197/0x1a0 [drm]
      [ 1551.892813]  [<ffffffffa03d052f>] intel_post_plane_update+0xef/0x120 [i915]
      [ 1551.892832]  [<ffffffffa03d11d2>] intel_atomic_commit+0x4c2/0x1600 [i915]
      [ 1551.892862]  [<ffffffffa02ff0c7>] ? drm_atomic_check_only+0x147/0x5e0 [drm]
      [ 1551.892872]  [<ffffffffa02feeb7>] ? drm_atomic_add_affected_connectors+0x27/0xf0 [drm]
      [ 1551.892881]  [<ffffffffa02ff597>] drm_atomic_commit+0x37/0x60 [drm]
      [ 1551.892887]  [<ffffffffa034301a>] restore_fbdev_mode+0x28a/0x2c0 [drm_kms_helper]
      [ 1551.892895]  [<ffffffffa0345253>] drm_fb_helper_restore_fbdev_mode_unlocked+0x33/0x80 [drm_kms_helper]
      [ 1551.892900]  [<ffffffffa03452cd>] drm_fb_helper_set_par+0x2d/0x50 [drm_kms_helper]
      [ 1551.892920]  [<ffffffffa03e7a9a>] intel_fbdev_set_par+0x1a/0x60 [i915]
      [ 1551.892923]  [<ffffffff8131a5a7>] fb_set_var+0x1a7/0x3f0
      [ 1551.892927]  [<ffffffff8109732f>] ? trace_hardirqs_on_caller+0x12f/0x1c0
      [ 1551.892931]  [<ffffffff81314f32>] fbcon_blank+0x212/0x2f0
      [ 1551.892935]  [<ffffffff81373f4a>] do_unblank_screen+0xba/0x1d0
      [ 1551.892937]  [<ffffffff8136b725>] vt_ioctl+0x13d5/0x1450
      [ 1551.892940]  [<ffffffff8107cdd1>] ? preempt_count_sub+0x41/0x50
      [ 1551.892943]  [<ffffffff8135d8a3>] tty_ioctl+0x423/0xe30
      [ 1551.892947]  [<ffffffff8119f721>] do_vfs_ioctl+0x301/0x560
      [ 1551.892949]  [<ffffffff8119b1e3>] ? putname+0x53/0x60
      [ 1551.892952]  [<ffffffff811ab376>] ? __fget_light+0x66/0x90
      [ 1551.892955]  [<ffffffff8119f9f9>] SyS_ioctl+0x79/0x90
      [ 1551.892958]  [<ffffffff81552e97>] entry_SYSCALL_64_fastpath+0x12/0x6f
      [ 1551.892961] ---[ end trace 3e764d4b6628c91c ]---
      
      Testcase: kms_flip
      Reported-and-tested-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org #v4.3
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NDaniel Stone <daniels@collabora.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/5649C2BA.6080300@mblankhorst.nl
      ba8af3e5
  3. 16 11月, 2015 11 次提交
  4. 15 11月, 2015 2 次提交
    • L
      Merge tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 12b76f3b
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Here are a collection of small fixes tha have been gathered for
        4.4-rc1.  The only significant changes are those in PCI drivers
        Kconfig, to use "depends on" instead of "select" for CONFIG_ZONE_DMA.
        A reverse select is often more user-friendly, but in this case, it
        makes hard to manage with the conflict with ZONE_DEVICE, so changed in
        such a way for now.
      
        Others are all small fixes and quirks: an error check in soundcore
        reigster_chrdev(), HD-audio HDMI/DP phantom jack fix, Intel Broxton DP
        quirk, USB-audio DSD device quirk, some constifications, etc"
      
      * tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: pci: depend on ZONE_DMA
        ALSA: hda - Simplify phantom jack handling for HDMI/DP
        ALSA: hda/hdmi - apply Skylake fix-ups to Broxton display codec
        ALSA: ctxfi: constify rsc ops structures
        ALSA: usb: Add native DSD support for Aune X1S
        ALSA: oxfw: add an comment to Kconfig for TASCAM FireOne
        sound: fix check for error condition of register_chrdev()
      12b76f3b
    • L
      Merge tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · b3a0d9a2
      Linus Torvalds 提交于
      Pull ARC fixes from Vineet Gupta:
       "Found a couple of brown paper bag bugs with the prev pull request
        (including a SMP build breakage report from Guenter).  Since these are
        urgent I also decided to send over a bunch of other pending fixes
        which could have otherwise waited an rc or two.
      
        Summary:
      
         - A bunch of brown paper bag bugs (MAINTAINERS list email, SMP build
           failure)
         - cpu_relax() now compiler barrier for UP as well
         - handling of userspace Bus Errors for ARCompact builds"
      
      * tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: Fix silly typo in MAINTAINERS file
        ARC: cpu_relax() to be compiler barrier even for UP
        ARC: use ASL assembler mnemonic
        ARC: [arcompact] Handle bus error from userspace as Interrupt not exception
        ARC: remove extraneous header include
        ARCv2: lib: memcpy: use local symbols
      b3a0d9a2
  5. 14 11月, 2015 24 次提交
    • V
      ARC: Fix silly typo in MAINTAINERS file · 30b9dbee
      Vineet Gupta 提交于
      30b9dbee
    • V
      ARC: cpu_relax() to be compiler barrier even for UP · 1cfc05cb
      Vineet Gupta 提交于
      cpu_relax() on ARC has been barrier only for SMP (and no-op for UP). Per
      recent discussions, it is safer to make it a compiler barrier
      unconditionally.
      
      Link: http://lkml.kernel.org/r/53A7D3AA.9020100@synopsys.comAcked-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      1cfc05cb
    • V
      ARC: use ASL assembler mnemonic · a6416f57
      Vineet Gupta 提交于
      ARCompact and ARCv2 only have ASL, while binutils used to support LSL as
      a alias mnemonic.
      
      Newer binutils (upstream) don't want to do that so replace it.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      a6416f57
    • V
      ARC: [arcompact] Handle bus error from userspace as Interrupt not exception · 541366da
      Vineet Gupta 提交于
      Bus errors from userspace on ARCompact based cores are handled by core
      as a high priority L2 interrupt but current code treated it as interrupt
      Handling an interrupt like exception is certainly not going to go unnoticed.
      (and it worked so far as we never saw a Bus error from userspace until
      IPPK guys tested a DDR controller with ECC error detection etc hence
      needed to explicitly trigger/handle such errors)
      
       - So move mem_service exception handler from common code into ARCv2 code.
       - In ARCompact code, define  mem_service as L2 interrupt handler which
         just drops down to pure kernel mode and goes of to enqueue SIGBUS
      Reported-by: NNelson Pereira <npereira@synopsys.com>
      Tested-by: NAna Martins <amartins@synopsys.com>
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      541366da
    • V
      ARC: remove extraneous header include · 76a8c40c
      Vineet Gupta 提交于
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      76a8c40c
    • L
      Merge tag 'chrome-platform-4.4' of... · 63f4f7e8
      Linus Torvalds 提交于
      Merge tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform
      
      Pull chrome platform updates from Olof Johansson:
       "Here's the branch of chrome platform changes for v4.4.  Some have been
        queued up for the full 4.3 release cycle since I forgot to send them
        in for that round (rebased early on to deal with fixes conflicts).
      
        Most of these enable EC communication stuff -- Pixel 2015 support,
        enabling building for ARM64 platforms, and a few fixes for memory
        leaks.
      
        There's also a patch in here to allow reading/writing the verified
        boot context, which depends on a sysfs patch acked by Greg"
      
      * tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
        platform/chrome: Fix i2c-designware adapter name
        platform/chrome: Support reading/writing the vboot context
        sysfs: Support is_visible() on binary attributes
        platform/chrome: cros_ec: Fix possible leak in led_rgb_store()
        platform/chrome: cros_ec: Fix leak in sequence_store()
        platform/chrome: Enable Chrome platforms on 64-bit ARM
        platform/chrome: cros_ec_dev - Add a platform device ID table
        platform/chrome: cros_ec_lpc - Add support for Google Pixel 2
        platform/chrome: cros_ec_lpc - Use existing function to check EC result
        platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO
        Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM"
      63f4f7e8
    • L
      Merge tag 'platform-drivers-x86-v4.4-2' of... · 4bfc89d2
      Linus Torvalds 提交于
      Merge tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull another x86 platform driver update from Darren Hart:
       "Support for the unfortunately rather unique ESC key on the Ideapad
        Yoga 3 and two DMI matches for rfkill support.  Solitary fix for
        potential missed errors for asus-wmi.  Downgrade a thinkpad_acpi
        message to info.
      
        asus-wmi:
         - fix error handling in store_sys_wmi()
      
        ideapad-laptop:
         - Add Lenovo Yoga 900 to no_hw_rfkill dmi list
         - include Yoga 3 1170 in add rfkill whitelist
         - add support for Yoga 3 ESC key
      
        thinkpad_acpi:
         - Don't yell on unsupported brightness interfaces"
      
      * tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
        asus-wmi: fix error handling in store_sys_wmi()
        ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list
        ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist
        ideapad-laptop: add support for Yoga 3 ESC key
        thinkpad_acpi: Don't yell on unsupported brightness interfaces
      4bfc89d2
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a30b7ca2
      Linus Torvalds 提交于
      Pull more input updates from Dmitry Torokhov:
       "An update to the tsc2005 driver that allows it to also support tsc2004
        (basically the same controller, but uses i2c instead of spi bus), and
        a couple of bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: parkbd - drop bogus __init from parkbd_allocate_serio()
        Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled
        Input: tsc2004 - add support for tsc2004
        Input: tsc200x-core - rename functions and variables
        Input: tsc2005 - separate SPI and core functions
      a30b7ca2
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · d83763f4
      Linus Torvalds 提交于
      Pull final round of SCSI updates from James Bottomley:
       "Sorry for the delay in this patch which was mostly caused by getting
        the merger of the mpt2/mpt3sas driver, which was seen as an essential
        item of maintenance work to do before the drivers diverge too much.
        Unfortunately, this caused a compile failure (detected by linux-next),
        which then had to be fixed up and incubated.
      
        In addition to the mpt2/3sas rework, there are updates from pm80xx,
        lpfc, bnx2fc, hpsa, ipr, aacraid, megaraid_sas, storvsc and ufs plus
        an assortment of changes including some year 2038 issues, a fix for a
        remove before detach issue in some drivers and a couple of other minor
        issues"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits)
        mpt3sas: fix inline markers on non inline function declarations
        sd: Clear PS bit before Mode Select.
        ibmvscsi: set max_lun to 32
        ibmvscsi: display default value for max_id, max_lun and max_channel.
        mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl()
        scsi: pmcraid: replace struct timeval with ktime_get_real_seconds()
        mvumi: 64bit value for seconds_since1970
        be2iscsi: Fix bogus WARN_ON length check
        scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice
        mpt3sas: Bump mpt3sas driver version to 09.102.00.00
        mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs
        mpt2sas, mpt3sas: Update the driver versions
        mpt3sas: setpci reset kernel oops fix
        mpt3sas: Added OEM Gen2 PnP ID branding names
        mpt3sas: Refcount fw_events and fix unsafe list usage
        mpt3sas: Refcount sas_device objects and fix unsafe list usage
        mpt3sas: sysfs attribute to report Backup Rail Monitor Status
        mpt3sas: Ported WarpDrive product SSS6200 support
        mpt3sas: fix for driver fails EEH, recovery from injected pci bus error
        mpt3sas: Manage MSI-X vectors according to HBA device type
        ...
      d83763f4
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 9aa3d651
      Linus Torvalds 提交于
      Pull SCSI target updates from Nicholas Bellinger:
       "This series contains HCH's changes to absorb configfs attribute
        ->show() + ->store() function pointer usage from it's original
        tree-wide consumers, into common configfs code.
      
        It includes usb-gadget, target w/ drivers, netconsole and ocfs2
        changes to realize the improved simplicity, that now renders the
        original include/target/configfs_macros.h CPP magic for fabric drivers
        and others, unnecessary and obsolete.
      
        And with common code in place, new configfs attributes can be added
        easier than ever before.
      
        Note, there are further improvements in-flight from other folks for
        v4.5 code in configfs land, plus number of target fixes for post -rc1
        code"
      
      In the meantime, a new user of the now-removed old configfs API came in
      through the char/misc tree in commit 7bd1d409 ("stm class: Introduce
      an abstraction for System Trace Module devices").
      
      This merge resolution comes from Alexander Shishkin, who updated his stm
      class tracing abstraction to account for the removal of the old
      show_attribute and store_attribute methods in commit 51798222
      ("configfs: remove old API") from this pull.  As Alexander says about
      that patch:
      
       "There's no need to keep an extra wrapper structure per item and the
        awkward show_attribute/store_attribute item ops are no longer needed.
      
        This patch converts policy code to the new api, all the while making
        the code quite a bit smaller and easier on the eyes.
      
        Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>"
      
      That patch was folded into the merge so that the tree should be fully
      bisectable.
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (23 commits)
        configfs: remove old API
        ocfs2/cluster: use per-attribute show and store methods
        ocfs2/cluster: move locking into attribute store methods
        netconsole: use per-attribute show and store methods
        target: use per-attribute show and store methods
        spear13xx_pcie_gadget: use per-attribute show and store methods
        dlm: use per-attribute show and store methods
        usb-gadget/f_serial: use per-attribute show and store methods
        usb-gadget/f_phonet: use per-attribute show and store methods
        usb-gadget/f_obex: use per-attribute show and store methods
        usb-gadget/f_uac2: use per-attribute show and store methods
        usb-gadget/f_uac1: use per-attribute show and store methods
        usb-gadget/f_mass_storage: use per-attribute show and store methods
        usb-gadget/f_sourcesink: use per-attribute show and store methods
        usb-gadget/f_printer: use per-attribute show and store methods
        usb-gadget/f_midi: use per-attribute show and store methods
        usb-gadget/f_loopback: use per-attribute show and store methods
        usb-gadget/ether: use per-attribute show and store methods
        usb-gadget/f_acm: use per-attribute show and store methods
        usb-gadget/f_hid: use per-attribute show and store methods
        ...
      9aa3d651
    • L
      Merge branch 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5d2eb548
      Linus Torvalds 提交于
      Pull vfs xattr cleanups from Al Viro.
      
      * 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        f2fs: xattr simplifications
        squashfs: xattr simplifications
        9p: xattr simplifications
        xattr handlers: Pass handler to operations instead of flags
        jffs2: Add missing capability check for listing trusted xattrs
        hfsplus: Remove unused xattr handler list operations
        ubifs: Remove unused security xattr handler
        vfs: Fix the posix_acl_xattr_list return value
        vfs: Check attribute names in posix acl xattr handers
      5d2eb548
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 2870f6c4
      Linus Torvalds 提交于
      Pull libnvdimm fixes from Dan Williams:
      
       - three fixes tagged for -stable including a crash fix, simple
         performance tweak, and an invalid i/o error.
      
       - build regression fix for the nvdimm unit tests
      
       - nvdimm documentation update
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        dax: fix __dax_pmd_fault crash
        libnvdimm: documentation clarifications
        libnvdimm, pmem: fix size trim in pmem_direct_access()
        libnvdimm, e820: fix numa node for e820-type-12 pmem ranges
        tools/testing/nvdimm, acpica: fix flag rename build breakage
      2870f6c4
    • A
      f2fs: xattr simplifications · 29608d20
      Andreas Gruenbacher 提交于
      Now that the xattr handler is passed to the xattr handler operations, we
      have access to the attribute name prefix, so simplify
      f2fs_xattr_generic_list.
      
      Also, f2fs_xattr_advise_list is only ever called for
      f2fs_xattr_advise_handler; there is no need to double check for that.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Cc: Jaegeuk Kim <jaegeuk@kernel.org>
      Cc: Changman Lee <cm224.lee@samsung.com>
      Cc: Chao Yu <chao2.yu@samsung.com>
      Cc: linux-f2fs-devel@lists.sourceforge.net
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      29608d20
    • A
      squashfs: xattr simplifications · 0ddaf72c
      Andreas Gruenbacher 提交于
      Now that the xattr handler is passed to the xattr handler operations, we
      have access to the attribute name prefix, so simplify the squashfs xattr
      handlers a bit.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Cc: Phillip Lougher <phillip@squashfs.org.uk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      0ddaf72c
    • A
      9p: xattr simplifications · e409de99
      Andreas Gruenbacher 提交于
      Now that the xattr handler is passed to the xattr handler operations, we
      can use the same get and set operations for the user, trusted, and security
      xattr namespaces.  In those namespaces, we can access the full attribute
      name by "reattaching" the name prefix the vfs has skipped for us.  Add a
      xattr_full_name helper to make this obvious in the code.
      
      For the "system.posix_acl_access" and "system.posix_acl_default"
      attributes, handler->prefix is the full attribute name; the suffix is the
      empty string.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Cc: Eric Van Hensbergen <ericvh@gmail.com>
      Cc: Ron Minnich <rminnich@sandia.gov>
      Cc: Latchesar Ionkov <lucho@ionkov.net>
      Cc: v9fs-developer@lists.sourceforge.net
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e409de99
    • A
      xattr handlers: Pass handler to operations instead of flags · d9a82a04
      Andreas Gruenbacher 提交于
      The xattr_handler operations are currently all passed a file system
      specific flags value which the operations can use to disambiguate between
      different handlers; some file systems use that to distinguish the xattr
      namespace, for example.  In some oprations, it would be useful to also have
      access to the handler prefix.  To allow that, pass a pointer to the handler
      to operations instead of the flags value alone.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d9a82a04
    • A
      jffs2: Add missing capability check for listing trusted xattrs · bf781714
      Andreas Gruenbacher 提交于
      The vfs checks if a task has the appropriate access for get and set
      operations, but it cannot do that for the list operation; the file system
      must check for that itself.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: linux-mtd@lists.infradead.org
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      bf781714
    • A
      hfsplus: Remove unused xattr handler list operations · e282fb7f
      Andreas Gruenbacher 提交于
      The list operations can never be called; they are even documented to be
      unused.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e282fb7f
    • A
      ubifs: Remove unused security xattr handler · 13d3408f
      Andreas Gruenbacher 提交于
      Ubifs installs a security xattr handler in sb->s_xattr but doesn't use the
      generic_{get,set,list,remove}xattr inode operations needed for processing
      this list of attribute handlers; the handler is never called.  Instead,
      ubifs uses its own xattr handlers which also process security xattrs.
      
      Remove the dead code.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: NRichard Weinberger <richard@nod.at>
      Cc: Artem Bityutskiy <dedekind1@gmail.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: linux-mtd@lists.infradead.org
      Cc: Subodh Nijsure <snijsure@grid-net.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      13d3408f
    • A
      vfs: Fix the posix_acl_xattr_list return value · dae5f57a
      Andreas Gruenbacher 提交于
      When a filesystem that contains POSIX ACLs is mounted without ACL support
      (-o noacl), the appropriate behavior is not to list any existing POSIX ACL
      xattrs.  The return value for list xattr handlers in this case is 0, not an
      error code: several filesystems that use the POSIX ACL xattr handlers do
      not expect the list operation to fail.
      
      Symlinks cannot have ACLs, so posix_acl_xattr_list will never be called for
      symlinks in the first place.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      dae5f57a
    • A
      vfs: Check attribute names in posix acl xattr handers · c361016a
      Andreas Gruenbacher 提交于
      The get and set operations of the POSIX ACL xattr handlers failed to check
      the attribute names, so all names with "system.posix_acl_access" or
      "system.posix_acl_default" as a prefix were accepted.  Reject invalid names
      from now on.
      Signed-off-by: NAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      c361016a
    • L
      Merge tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio · 934f98d7
      Linus Torvalds 提交于
      Pull VFIO updates from Alex Williamson:
       - Use kernel interfaces for VPD emulation (Alex Williamson)
       - Platform fix for releasing IRQs (Eric Auger)
       - Type1 IOMMU always advertises PAGE_SIZE support when smaller mapping
         sizes are available (Eric Auger)
       - Platform fixes for incorrectly using copies of structures rather than
         pointers to structures (James Morse)
       - Rework platform reset modules, fix leak, and add AMD xgbe reset
         module (Eric Auger)
       - Fix vfio_device_get_from_name() return value (Joerg Roedel)
       - No-IOMMU interface (Alex Williamson)
       - Fix potential out of bounds array access in PCI config handling (Dan
         Carpenter)
      
      * tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio:
        vfio/pci: make an array larger
        vfio: Include No-IOMMU mode
        vfio: Fix bug in vfio_device_get_from_name()
        VFIO: platform: reset: AMD xgbe reset module
        vfio: platform: reset: calxedaxgmac: fix ioaddr leak
        vfio: platform: add dev_info on device reset
        vfio: platform: use list of registered reset function
        vfio: platform: add compat in vfio_platform_device
        vfio: platform: reset: calxedaxgmac: add reset function registration
        vfio: platform: introduce module_vfio_reset_handler macro
        vfio: platform: add capability to register a reset function
        vfio: platform: introduce vfio-platform-base module
        vfio/platform: store mapped memory in region, instead of an on-stack copy
        vfio/type1: handle case where IOMMU does not support PAGE_SIZE size
        VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ
        vfio/pci: Use kernel VPD access functions
        vfio: Whitelist PCI bridges
      934f98d7
    • L
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · f3996e6a
      Linus Torvalds 提交于
      Pull SMB3 updates from Steve French:
       "A collection of SMB3 patches adding some reliability features
        (persistent and resilient handles) and improving SMB3 copy offload.
      
        I will have some additional patches for SMB3 encryption and SMB3.1.1
        signing (important security features), and also for improving SMB3
        persistent handle reconnection (setting ChannelSequence number e.g.)
        that I am still working on but wanted to get this set in since they
        can stand alone"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        Allow copy offload (CopyChunk) across shares
        Add resilienthandles mount parm
        [SMB3] Send durable handle v2 contexts when use of persistent handles required
        [SMB3] Display persistenthandles in /proc/mounts for SMB3 shares if enabled
        [SMB3] Enable checking for continuous availability and persistent handle support
        [SMB3] Add parsing for new mount option controlling persistent handles
        Allow duplicate extents in SMB3 not just SMB3.1.1
      f3996e6a
    • L
      Merge branch 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e75cdf98
      Linus Torvalds 提交于
      Pull btrfs fixes and cleanups from Chris Mason:
       "Some of this got cherry-picked from a github repo this week, but I
        verified the patches.
      
        We have three small scrub cleanups and a collection of fixes"
      
      * 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        btrfs: Use fs_info directly in btrfs_delete_unused_bgs
        btrfs: Fix lost-data-profile caused by balance bg
        btrfs: Fix lost-data-profile caused by auto removing bg
        btrfs: Remove len argument from scrub_find_csum
        btrfs: Reduce unnecessary arguments in scrub_recheck_block
        btrfs: Use scrub_checksum_data and scrub_checksum_tree_block for scrub_recheck_block_checksum
        btrfs: Reset sblock->xxx_error stats before calling scrub_recheck_block_checksum
        btrfs: scrub: setup all fields for sblock_to_check
        btrfs: scrub: set error stats when tree block spanning stripes
        Btrfs: fix race when listing an inode's xattrs
        Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow
        Btrfs: fix race leading to incorrect item deletion when dropping extents
        Btrfs: fix sleeping inside atomic context in qgroup rescan worker
        Btrfs: fix race waiting for qgroup rescan worker
        btrfs: qgroup: exit the rescan worker during umount
        Btrfs: fix extent accounting for partial direct IO writes
      e75cdf98