1. 26 11月, 2017 3 次提交
  2. 25 11月, 2017 5 次提交
    • M
      bcache: check return value of register_shrinker · 6c4ca1e3
      Michael Lyle 提交于
      register_shrinker is now __must_check, so check it to kill a warning.
      Caller of bch_btree_cache_alloc in super.c appropriately checks return
      value so this is fully plumbed through.
      
      This V2 fixes checkpatch warnings and improves the commit description,
      as I was too hasty getting the previous version out.
      Signed-off-by: NMichael Lyle <mlyle@lyle.org>
      Reviewed-by: NVojtech Pavlik <vojtech@suse.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      6c4ca1e3
    • R
      bcache: recover data from backing when data is clean · e393aa24
      Rui Hua 提交于
      When we send a read request and hit the clean data in cache device, there
      is a situation called cache read race in bcache(see the commit in the tail
      of cache_look_up(), the following explaination just copy from there):
      The bucket we're reading from might be reused while our bio is in flight,
      and we could then end up reading the wrong data. We guard against this
      by checking (in bch_cache_read_endio()) if the pointer is stale again;
      if so, we treat it as an error (s->iop.error = -EINTR) and reread from
      the backing device (but we don't pass that error up anywhere)
      
      It should be noted that cache read race happened under normal
      circumstances, not the circumstance when SSD failed, it was counted
      and shown in  /sys/fs/bcache/XXX/internal/cache_read_races.
      
      Without this patch, when we use writeback mode, we will never reread from
      the backing device when cache read race happened, until the whole cache
      device is clean, because the condition
      (s->recoverable && (dc && !atomic_read(&dc->has_dirty))) is false in
      cached_dev_read_error(). In this situation, the s->iop.error(= -EINTR)
      will be passed up, at last, user will receive -EINTR when it's bio end,
      this is not suitable, and wield to up-application.
      
      In this patch, we use s->read_dirty_data to judge whether the read
      request hit dirty data in cache device, it is safe to reread data from
      the backing device when the read request hit clean data. This can not
      only handle cache read race, but also recover data when failed read
      request from cache device.
      
      [edited by mlyle to fix up whitespace, commit log title, comment
      spelling]
      
      Fixes: d59b2379 ("bcache: only permit to recovery read error when cache device is clean")
      Cc: <stable@vger.kernel.org> # 4.14
      Signed-off-by: NHua Rui <huarui.dev@gmail.com>
      Reviewed-by: NMichael Lyle <mlyle@lyle.org>
      Reviewed-by: NColy Li <colyli@suse.de>
      Signed-off-by: NMichael Lyle <mlyle@lyle.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      e393aa24
    • H
      bcache: Fix building error on MIPS · cf33c1ee
      Huacai Chen 提交于
      This patch try to fix the building error on MIPS. The reason is MIPS
      has already defined the PTR macro, which conflicts with the PTR macro
      in include/uapi/linux/bcache.h.
      
      [fixed by mlyle: corrected a line-length issue]
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Reviewed-by: NMichael Lyle <mlyle@lyle.org>
      Signed-off-by: NMichael Lyle <mlyle@lyle.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      cf33c1ee
    • T
      bcache: add a comment in journal bucket reading · bb22cafd
      Tang Junhui 提交于
      Journal bucket is a circular buffer, the bucket
      can be like YYYNNNYY, which means the first valid journal in
      the 7th bucket, and the latest valid journal in third bucket, in
      this case, if we do not try we the zero index first, We
      may get a valid journal in the 7th bucket, then we call
      find_next_bit(bitmap,ca->sb.njournal_buckets, l + 1) to get the
      first invalid bucket after the 7th bucket, because all these
      buckets is valid, so no bit 1 in bitmap, thus find_next_bit()
      function would return with ca->sb.njournal_buckets (8). So, after
      that, bcache only read journal in 7th and 8the bucket,
      the first to the third buckets are lost.
      
      So, it is important to let developer know that, we need to try
      the zero index at first in the hash-search, and avoid any breaks
      in future's code modification.
      
      [ML: Fixed whitespace & formatting & file permissions]
      Signed-off-by: NTang Junhui <tang.junhui@zte.com.cn>
      Signed-off-by: NMichael Lyle <mlyle@lyle.org>
      Reviewed-by: NMichael Lyle <mlyle@lyle.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      bb22cafd
    • J
      nvme-fc: don't use bit masks for set/test_bit() numbers · 26c0a26d
      Jens Axboe 提交于
      So far harmless, but it's confusing and a bug waiting to happen if the
      shifts grow larger than 4.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      26c0a26d
  3. 24 11月, 2017 5 次提交
  4. 23 11月, 2017 2 次提交
  5. 22 11月, 2017 1 次提交
    • D
      null_blk: fix dev->badblocks leak · 1addb798
      David Disseldorp 提交于
      null_alloc_dev() allocates memory for dev->badblocks, but cleanup
      currently only occurs in the configfs release codepath, missing a number
      of other places.
      
      This bug was found running the blktests block/010 test, alongside
      kmemleak:
      rapido1:/blktests# ./check block/010
      ...
      rapido1:/blktests# echo scan > /sys/kernel/debug/kmemleak
      [  306.966708] kmemleak: 32 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
      rapido1:/blktests# cat /sys/kernel/debug/kmemleak
      unreferenced object 0xffff88001f86d000 (size 4096):
        comm "modprobe", pid 231, jiffies 4294892415 (age 318.252s)
        hex dump (first 32 bytes):
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff814b0379>] kmemleak_alloc+0x49/0xa0
          [<ffffffff810f180f>] kmem_cache_alloc+0x9f/0xe0
          [<ffffffff8124e45f>] badblocks_init+0x2f/0x60
          [<ffffffffa0019fae>] 0xffffffffa0019fae
          [<ffffffffa0021273>] nullb_device_badblocks_store+0x63/0x130 [null_blk]
          [<ffffffff810004cd>] do_one_initcall+0x3d/0x170
          [<ffffffff8109fe0d>] do_init_module+0x56/0x1e9
          [<ffffffff8109ebd7>] load_module+0x1c47/0x26a0
          [<ffffffff8109f819>] SyS_finit_module+0xa9/0xd0
          [<ffffffff814b4f60>] entry_SYSCALL_64_fastpath+0x13/0x94
      
      Fixes: 2f54a613 ("nullb: badbblocks support")
      Reviewed-by: NShaohua Li <shli@fb.com>
      Signed-off-by: NDavid Disseldorp <ddiss@suse.de>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      1addb798
  6. 20 11月, 2017 14 次提交
  7. 19 11月, 2017 4 次提交
    • L
      clean up x86 platform driver default values · 0192f175
      Linus Torvalds 提交于
      The updates this merge window added several bogus default enablement for
      new features.  We don't do that.  If people want new behavior, they ask
      for it.
      
      One 'default n' was also removed as pointless.  That's great, but there
      were eight other ones in the same file that were left alone.
      
      Fix it up.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0192f175
    • L
      Merge tag 'nfsd-4.15' of git://linux-nfs.org/~bfields/linux · 4dd3c2e5
      Linus Torvalds 提交于
      Pull nfsd updates from Bruce Fields:
       "Lots of good bugfixes, including:
      
         -  fix a number of races in the NFSv4+ state code
      
         -  fix some shutdown crashes in multiple-network-namespace cases
      
         -  relax our 4.1 session limits; if you've an artificially low limit
            to the number of 4.1 clients that can mount simultaneously, try
            upgrading"
      
      * tag 'nfsd-4.15' of git://linux-nfs.org/~bfields/linux: (22 commits)
        SUNRPC: Improve ordering of transport processing
        nfsd: deal with revoked delegations appropriately
        svcrdma: Enqueue after setting XPT_CLOSE in completion handlers
        nfsd: use nfs->ns.inum as net ID
        rpc: remove some BUG()s
        svcrdma: Preserve CB send buffer across retransmits
        nfds: avoid gettimeofday for nfssvc_boot time
        fs, nfsd: convert nfs4_file.fi_ref from atomic_t to refcount_t
        fs, nfsd: convert nfs4_cntl_odstate.co_odcount from atomic_t to refcount_t
        fs, nfsd: convert nfs4_stid.sc_count from atomic_t to refcount_t
        lockd: double unregister of inetaddr notifiers
        nfsd4: catch some false session retries
        nfsd4: fix cached replies to solo SEQUENCE compounds
        sunrcp: make function _svc_create_xprt static
        SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
        nfsd: use ARRAY_SIZE
        nfsd: give out fewer session slots as limit approaches
        nfsd: increase DRC cache limit
        nfsd: remove unnecessary nofilehandle checks
        nfs_common: convert int to bool
        ...
      4dd3c2e5
    • L
      Merge tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86 · 07c455ee
      Linus Torvalds 提交于
      Pull x86 platform driver updates from Andy Shevchenko:
       "Here is the collected material against Platform Drivers x86 subsystem.
        It's rather bit busy cycle for PDx86, mostly due to Dell SMBIOS driver
        activity
      
        For this cycle we have quite an update for the Dell SMBIOS driver
        including WMI work to provide an interface for SMBIOS tokens via sysfs
        and WMI support for 2017+ Dell laptop models. SMM dispatcher code is
        split into a separate driver followed by a new WMI dispatcher. The
        latter provides a character device interface to user space.
      
        The git history also contains a merge of immutable branch from Wolfram
        Sang in order to apply a dependent fix to the Intel CherryTrail
        Battery Management driver.
      
        Other Intel drivers got a lot of cleanups. The Turbo Boost Max 3.0
        support is added for Intel Skylake.
      
        Peaq WMI hotkeys driver gets its own maintainer and white list of
        supported models.
      
        Silead DMI is expanded to support few additional platforms.
      
        Tablet mode via GMMS ACPI method is added to support some ThinkPad
        tablets.
      
        new driver:
         - Add driver to force WMI Thunderbolt controller power status
      
        asus-wmi:
         -  Add lightbar led support
      
        dell-laptop:
         -  Allocate buffer before rfkill use
      
        dell-smbios:
         -  fix string overflow
         -  Add filtering support
         -  Introduce dispatcher for SMM calls
         -  Add a sysfs interface for SMBIOS tokens
         -  only run if proper oem string is detected
         -  Prefix class/select with cmd_
         -  Add pr_fmt definition to driver
      
        dell-smbios-smm:
         -  test for WSMT
      
        dell-smbios-wmi:
         -  release mutex lock on WMI call failure
         -  introduce userspace interface
         -  Add new WMI dispatcher driver
      
        dell-smo8800:
         -  remove redundant assignments to byte_data
      
        dell-wmi:
         -  don't check length returned
         -  clean up wmi descriptor check
         -  increase severity of some failures
         -  Do not match on descriptor GUID modalias
         -  Label driver as handling notifications
      
        dell-*wmi*:
         -  Relay failed initial probe to dependent drivers
      
        dell-wmi-descriptor:
         -  check if memory was allocated
         -  split WMI descriptor into it's own driver
      
        fujitsu-laptop:
         -  Fix radio LED detection
         -  Don't oops when FUJ02E3 is not presnt
      
        hp_accel:
         -  Add quirk for HP ProBook 440 G4
      
        hp-wmi:
         -  Fix tablet mode detection for convertibles
      
        ideapad-laptop:
         -  Add Lenovo Yoga 920-13IKB to no_hw_rfkill dmi list
      
        intel_cht_int33fe:
         -  Update fusb302 type string, add properties
         -  make a couple of local functions static
         -  Work around BIOS bug on some devices
      
        intel-hid:
         -  Power button suspend on Dell Latitude 7275
      
        intel_ips:
         -  Convert timers to use timer_setup()
         -  Remove FSF address from GPL notice
         -  Remove unneeded fields and label
         -  Keep pointer to struct device
         -  Use PCI_VDEVICE() macro
         -  Switch to new PCI IRQ allocation API
         -  Simplify error handling via devres API
      
        intel_pmc_ipc:
         -  Revert Use MFD framework to create dependent devices
         -  Use MFD framework to create dependent devices
         -  Use spin_lock to protect GCR updates
         -  Use devm_* calls in driver probe function
      
        intel_punit_ipc:
         -  Fix resource ioremap warning
      
        intel_telemetry:
         -  Remove useless default in Kconfig
         -  Add needed inclusion
         -  cleanup redundant headers
         -  Fix typos
         -  Fix load failure info
      
        intel_telemetry_debugfs:
         -  Use standard ARRAY_SIZE() macro
      
        intel_turbo_max_3:
         -  Add Skylake platform
      
        intel-wmi-thunderbolt:
         -  Silence error cases
      
        mlx-platform:
         -  make a couple of structures static
      
        peaq_wmi:
         -  Fix missing terminating entry for peaq_dmi_table
      
        peaq-wmi:
         -  Remove unnecessary checks from peaq_wmi_exit
         -  Add DMI check before binding to the WMI interface
         -  Revert Blacklist Lenovo ideapad 700-15ISK
         -  Blacklist Lenovo ideapad 700-15ISK
      
        silead_dmi:
         -  Add silead, home-button property to some tablets
         -  Add entry for the Digma e200 tablet
         -  Fix GP-electronic T701 entry
         -  Add entry for the Chuwi Hi8 Pro tablet
      
        sony-laptop:
         -  Drop variable assignment in sony_nc_setup_rfkill()
         -  Fix error handling in sony_nc_setup_rfkill()
      
        thinkpad_acpi:
         -  Implement tablet mode using GMMS method
      
        tools/wmi:
         -  add a sample for dell smbios communication over WMI
      
        wmi:
         -  release mutex on module acquistion failure
         -  create userspace interface for drivers
         -  Don't allow drivers to get each other's GUIDs
         -  Add new method wmidev_evaluate_method
         -  Destroy on cleanup rather than unregister
         -  Cleanup exit routine in reverse order of init
         -  Sort include list"
      
      * tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86: (74 commits)
        platform/x86: silead_dmi: Add silead, home-button property to some tablets
        platform/x86: dell-laptop: Allocate buffer before rfkill use
        platform/x86: dell-*wmi*: Relay failed initial probe to dependent drivers
        platform/x86: dell-wmi-descriptor: check if memory was allocated
        platform/x86: Revert intel_pmc_ipc: Use MFD framework to create dependent devices
        platform/x86: dell-smbios-wmi: release mutex lock on WMI call failure
        platform/x86: wmi: release mutex on module acquistion failure
        platform/x86: dell-smbios: fix string overflow
        platform/x86: intel_pmc_ipc: Use MFD framework to create dependent devices
        platform/x86: intel_punit_ipc: Fix resource ioremap warning
        platform/x86: dell-smo8800: remove redundant assignments to byte_data
        platform/x86: hp-wmi: Fix tablet mode detection for convertibles
        platform/x86: intel_ips: Convert timers to use timer_setup()
        platform/x86: sony-laptop: Drop variable assignment in sony_nc_setup_rfkill()
        platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill()
        tools/wmi: add a sample for dell smbios communication over WMI
        platform/x86: dell-smbios-wmi: introduce userspace interface
        platform/x86: wmi: create userspace interface for drivers
        platform/x86: dell-smbios: Add filtering support
        platform/x86: dell-smbios-smm: test for WSMT
        ...
      07c455ee
    • H
      platform/x86: silead_dmi: Add silead, home-button property to some tablets · aaa40965
      Hans de Goede 提交于
      Add "silead,home-button" property to entries for tablets which have
      a capacitive home button (typically a windows logo on the front).
      
      This new property is checked for by the new capacitive home button
      support in the silead touchscreen driver.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      aaa40965
  8. 18 11月, 2017 6 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 1deab8ce
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
      
       1) Add missing cmpxchg64() for 32-bit sparc.
      
       2) Timer conversions from Allen Pais and Kees Cook.
      
       3) vDSO support, from Nagarathnam Muthusamy.
      
       4) Fix sparc64 huge page table walks based upon bug report by Al Viro,
          from Nitin Gupta.
      
       5) Optimized fls() for T4 and above, from Vijay Kumar.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix page table walk for PUD hugepages
        sparc64: Convert timers to user timer_setup()
        sparc64: convert mdesc_handle.refcnt from atomic_t to refcount_t
        sparc/led: Convert timers to use timer_setup()
        sparc64: Use sparc optimized fls and __fls for T4 and above
        sparc64: SPARC optimized __fls function
        sparc64: SPARC optimized fls function
        sparc64: Define SPARC default __fls function
        sparc64: Define SPARC default fls function
        vDSO for sparc
        sparc32: Add cmpxchg64().
        sbus: char: Move D7S_MINOR to include/linux/miscdevice.h
        sparc: time: Remove unneeded linux/miscdevice.h include
        sparc64: mmu_context: Add missing include files
      1deab8ce
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 81700247
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Revert regression inducing change to the IPSEC template resolver,
          from Steffen Klassert.
      
       2) Peeloffs can cause the wrong sk to be waken up in SCTP, fix from Xin
          Long.
      
       3) Min packet MTU size is wrong in cpsw driver, from Grygorii Strashko.
      
       4) Fix build failure in netfilter ctnetlink, from Arnd Bergmann.
      
       5) ISDN hisax driver checks pnp_irq() for errors incorrectly, from
          Arvind Yadav.
      
       6) Fix fealnx driver build failure on MIPS, from Huacai Chen.
      
       7) Fix into leak in SCTP, the scope_id of socket addresses is not
          always filled in. From Eric W. Biederman.
      
       8) MTU inheritance between physical function and representor fix in nfp
          driver, from Dirk van der Merwe.
      
       9) Fix memory leak in rsi driver, from Colin Ian King.
      
      10) Fix expiration and generation ID handling of cached ipv4 redirect
          routes, from Xin Long.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (40 commits)
        net: usb: hso.c: remove unneeded DRIVER_LICENSE #define
        ibmvnic: fix dma_mapping_error call
        ipvlan: NULL pointer dereference panic in ipvlan_port_destroy
        route: also update fnhe_genid when updating a route cache
        route: update fnhe_expires for redirect when the fnhe exists
        sctp: set frag_point in sctp_setsockopt_maxseg correctly
        rsi: fix memory leak on buf and usb_reg_buf
        net/netlabel: Add list_next_rcu() in rcu_dereference().
        nfp: remove false positive offloads in flower vxlan
        nfp: register flower reprs for egress dev offload
        nfp: inherit the max_mtu from the PF netdev
        nfp: fix vlan receive MAC statistics typo
        nfp: fix flower offload metadata flag usage
        virto_net: remove empty file 'virtio_net.'
        net/sctp: Always set scope_id in sctp_inet6_skb_msgname
        fealnx: Fix building error on MIPS
        isdn: hisax: Fix pnp_irq's error checking for setup_teles3
        isdn: hisax: Fix pnp_irq's error checking for setup_sedlbauer_isapnp
        isdn: hisax: Fix pnp_irq's error checking for setup_niccy
        isdn: hisax: Fix pnp_irq's error checking for setup_ix1micro
        ...
      81700247
    • L
      Merge tag 'hwlock-v4.15' of git://github.com/andersson/remoteproc · 27eabfaa
      Linus Torvalds 提交于
      Pull hwspinlock update from Bjorn Andersson:
       "This changes the HWSPINLOCK core Kconfig option to bool, to aid when
        other core code depends on it"
      
      * tag 'hwlock-v4.15' of git://github.com/andersson/remoteproc:
        hwspinlock: Change hwspinlock to a bool
      27eabfaa
    • L
      Merge tag 'rproc-v4.15' of git://github.com/andersson/remoteproc · 4f88bd23
      Linus Torvalds 提交于
      Pull remoteproc updates from Bjorn Andersson:
       "This adds an interface for configuring Qualcomm's "secure SMMU" and
        adds support for booting the modem Hexagon on MSM8996.
      
        Two new debugfs entries are added in the remoteproc core to introspect
        the list of memory carveouts and the loaded resource table"
      
      * tag 'rproc-v4.15' of git://github.com/andersson/remoteproc:
        remoteproc: qcom: Fix error handling paths in order to avoid memory leaks
        remoteproc: qcom: Drop pr_err in q6v5_xfer_mem_ownership()
        remoteproc: debug: add carveouts list dump feature
        remoteproc: debug: add resource table dump feature
        remoteproc: qcom: Add support for mss remoteproc on msm8996
        remoteproc: qcom: Make secure world call for mem ownership switch
        remoteproc: qcom: refactor mss fw image loading sequence
        firmware: scm: Add new SCM call API for switching memory ownership
      4f88bd23
    • L
      Merge tag 'rpmsg-v4.15' of git://github.com/andersson/remoteproc · bedf5719
      Linus Torvalds 提交于
      Pull rpmsg updates from Bjorn Andersson:
      
       - turn RPMSG_VIRTIO into a user selectable config
      
       - fix few bugs in GLINK
      
       - provide the support for specifying initial buffer sizes for GLINK
         channels.
      
      * tag 'rpmsg-v4.15' of git://github.com/andersson/remoteproc:
        rpmsg: glink: The mbox client knows_txdone
        rpmsg: glink: Add missing MODULE_LICENSE
        rpmsg: glink: Use best fit intent during tx
        rpmsg: glink: Add support to preallocate intents
        dt-bindings: soc: qcom: Support GLINK intents
        rpmsg: glink: Initialize the "intent_req_comp" completion variable
        rpmsg: Allow RPMSG_VIRTIO to be enabled via menuconfig or defconfig
      bedf5719
    • L
      Merge tag 'hwmon-for-linus-v4.15-take2' of... · d9ef1ccf
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.15-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull more hwmon updates/fixes from Guenter Roeck:
      
       - minor bug fix in k10temp driver
      
       - take advantage of added NULL check in i2c_unregister_device()
      
      * tag 'hwmon-for-linus-v4.15-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (w83793) Remove duplicate NULL check
        hwmon: (w83792d) Remove duplicate NULL check
        hwmon: (w83791d) Remove duplicate NULL check
        hwmon: (w83781d) Remove duplicate NULL check
        hwmon: (k10temp) Correct model name for Ryzen 1600X
      d9ef1ccf