1. 18 Oct, 2019 5 commits
    • Hans de Goede's avatar
      HID: i2c-hid: add Trekstor Primebook C11B to descriptor override · 09f3dbe4
      Hans de Goede authored
      The Primebook C11B uses the SIPODEV SP1064 touchpad. There are 2 versions
      of this 2-in-1 and the touchpad in the older version does not supply
      descriptors, so it has to be added to the override list.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      09f3dbe4
    • Andrey Smirnov's avatar
      HID: logitech-hidpp: do all FF cleanup in hidpp_ff_destroy() · 08c453f6
      Andrey Smirnov authored
      All of the FF-related resources belong to corresponding FF device, so
      they should be freed as a part of hidpp_ff_destroy() to avoid
      potential race condidions.
      
      Fixes: ff21a635 ("HID: logitech-hidpp: Force feedback support for the Logitech G920")
      Suggested-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Henrik Rydberg <rydberg@bitmath.org>
      Cc: Pierre-Loup A. Griffais <pgriffais@valvesoftware.com>
      Cc: Austin Palmer <austinp@valvesoftware.com>
      Cc: linux-input@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org # 5.2+
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      08c453f6
    • Andrey Smirnov's avatar
      HID: logitech-hidpp: rework device validation · 905d754c
      Andrey Smirnov authored
      G920 device only advertises REPORT_ID_HIDPP_LONG and
      REPORT_ID_HIDPP_VERY_LONG in its HID report descriptor, so querying
      for REPORT_ID_HIDPP_SHORT with optional=false will always fail and
      prevent G920 to be recognized as a valid HID++ device.
      
      To fix this and improve some other aspects, modify
      hidpp_validate_device() as follows:
      
        - Inline the code of hidpp_validate_report() to simplify
          distingushing between non-present and invalid report descriptors
      
        - Drop the check for id >= HID_MAX_IDS || id < 0 since all of our
          IDs are static and known to satisfy that at compile time
      
        - Change the algorithms to check all possible report
          types (including very long report) and deem the device as a valid
          HID++ device if it supports at least one
      
        - Treat invalid report length as a hard stop for the validation
          algorithm, meaning that if any of the supported reports has
          invalid length we assume the worst and treat the device as a
          generic HID device.
      
        - Fold initialization of hidpp->very_long_report_length into
          hidpp_validate_device() since it already fetches very long report
          length and validates its value
      
      Fixes: fe3ee1ec ("HID: logitech-hidpp: allow non HID++ devices to be handled by this module")
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204191Reported-by: default avatarSam Bazely <sambazley@fastmail.com>
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Henrik Rydberg <rydberg@bitmath.org>
      Cc: Pierre-Loup A. Griffais <pgriffais@valvesoftware.com>
      Cc: Austin Palmer <austinp@valvesoftware.com>
      Cc: linux-input@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org # 5.2+
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      905d754c
    • Andrey Smirnov's avatar
      HID: logitech-hidpp: split g920_get_config() · abdd3d0b
      Andrey Smirnov authored
      Original version of g920_get_config() contained two kind of actions:
      
          1. Device specific communication to query/set some parameters
             which requires active communication channel with the device,
             or, put in other way, for the call to be sandwiched between
             hid_device_io_start() and hid_device_io_stop().
      
          2. Input subsystem specific FF controller initialization which, in
             order to access a valid 'struct hid_input' via
             'hid->inputs.next', requires claimed hidinput which means be
             executed after the call to hid_hw_start() with connect_mask
             containing HID_CONNECT_HIDINPUT.
      
      Location of g920_get_config() can only fulfill requirements for #1 and
      not #2, which might result in following backtrace:
      
      [   88.312258] logitech-hidpp-device 0003:046D:C262.0005: HID++ 4.2 device connected.
      [   88.320298] BUG: kernel NULL pointer dereference, address: 0000000000000018
      [   88.320304] #PF: supervisor read access in kernel mode
      [   88.320307] #PF: error_code(0x0000) - not-present page
      [   88.320309] PGD 0 P4D 0
      [   88.320315] Oops: 0000 [#1] SMP PTI
      [   88.320320] CPU: 1 PID: 3080 Comm: systemd-udevd Not tainted 5.4.0-rc1+ #31
      [   88.320322] Hardware name: Apple Inc. MacBookPro11,1/Mac-189A3D4F975D5FFC, BIOS 149.0.0.0.0 09/17/2018
      [   88.320334] RIP: 0010:hidpp_probe+0x61f/0x948 [hid_logitech_hidpp]
      [   88.320338] Code: 81 00 00 48 89 ef e8 f0 d6 ff ff 41 89 c6 85 c0 75 b5 0f b6 44 24 28 48 8b 5d 00 88 44 24 1e 89 44 24 0c 48 8b 83 18 1c 00 00 <48> 8b 48 18 48 8b 83 10 19 00 00 48 8b 40 40 48 89 0c 24 0f b7 80
      [   88.320341] RSP: 0018:ffffb0a6824aba68 EFLAGS: 00010246
      [   88.320345] RAX: 0000000000000000 RBX: ffff93a50756e000 RCX: 0000000000010408
      [   88.320347] RDX: 0000000000000000 RSI: ffff93a51f0ad0a0 RDI: 000000000002d0a0
      [   88.320350] RBP: ffff93a50416da28 R08: ffff93a50416da70 R09: ffff93a50416da70
      [   88.320352] R10: 000000148ae9e60c R11: 00000000000f1525 R12: ffff93a50756e000
      [   88.320354] R13: ffff93a50756f8d0 R14: 0000000000000000 R15: ffff93a50756fc38
      [   88.320358] FS:  00007f8d8c1e0940(0000) GS:ffff93a51f080000(0000) knlGS:0000000000000000
      [   88.320361] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   88.320363] CR2: 0000000000000018 CR3: 00000003996d8003 CR4: 00000000001606e0
      [   88.320366] Call Trace:
      [   88.320377]  ? _cond_resched+0x15/0x30
      [   88.320387]  ? create_pinctrl+0x2f/0x3c0
      [   88.320393]  ? kernfs_link_sibling+0x94/0xe0
      [   88.320398]  ? _cond_resched+0x15/0x30
      [   88.320402]  ? kernfs_activate+0x5f/0x80
      [   88.320406]  ? kernfs_add_one+0xe2/0x130
      [   88.320411]  hid_device_probe+0x106/0x170
      [   88.320419]  really_probe+0x147/0x3c0
      [   88.320424]  driver_probe_device+0xb6/0x100
      [   88.320428]  device_driver_attach+0x53/0x60
      [   88.320433]  __driver_attach+0x8a/0x150
      [   88.320437]  ? device_driver_attach+0x60/0x60
      [   88.320440]  bus_for_each_dev+0x78/0xc0
      [   88.320445]  bus_add_driver+0x14d/0x1f0
      [   88.320450]  driver_register+0x6c/0xc0
      [   88.320453]  ? 0xffffffffc0d67000
      [   88.320457]  __hid_register_driver+0x4c/0x80
      [   88.320464]  do_one_initcall+0x46/0x1f4
      [   88.320469]  ? _cond_resched+0x15/0x30
      [   88.320474]  ? kmem_cache_alloc_trace+0x162/0x220
      [   88.320481]  ? do_init_module+0x23/0x230
      [   88.320486]  do_init_module+0x5c/0x230
      [   88.320491]  load_module+0x26e1/0x2990
      [   88.320502]  ? ima_post_read_file+0xf0/0x100
      [   88.320508]  ? __do_sys_finit_module+0xaa/0x110
      [   88.320512]  __do_sys_finit_module+0xaa/0x110
      [   88.320520]  do_syscall_64+0x5b/0x180
      [   88.320525]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      [   88.320528] RIP: 0033:0x7f8d8d1f01fd
      [   88.320532] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 5b 8c 0c 00 f7 d8 64 89 01 48
      [   88.320535] RSP: 002b:00007ffefa3bb068 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      [   88.320539] RAX: ffffffffffffffda RBX: 000055922040cb40 RCX: 00007f8d8d1f01fd
      [   88.320541] RDX: 0000000000000000 RSI: 00007f8d8ce4984d RDI: 0000000000000006
      [   88.320543] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000007
      [   88.320545] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f8d8ce4984d
      [   88.320547] R13: 0000000000000000 R14: 000055922040efc0 R15: 000055922040cb40
      [   88.320551] Modules linked in: hid_logitech_hidpp(+) fuse rfcomm ccm xt_CHECKSUM xt_MASQUERADE bridge stp llc nf_nat_tftp nf_conntrack_tftp nf_conntrack_netbios_ns nf_conntrack_broadcast xt_CT ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_nat ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat tun iptable_mangle iptable_raw iptable_security nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_set nfnetlink ebtable_filter ebtables ip6table_filter ip6_tables cmac bnep sunrpc dm_crypt nls_utf8 hfsplus intel_rapl_msr intel_rapl_common ath9k_htc ath9k_common x86_pkg_temp_thermal intel_powerclamp b43 ath9k_hw coretemp snd_hda_codec_hdmi cordic kvm_intel snd_hda_codec_cirrus mac80211 snd_hda_codec_generic ledtrig_audio kvm snd_hda_intel snd_intel_nhlt irqbypass snd_hda_codec btusb btrtl snd_hda_core ath btbcm ssb snd_hwdep btintel snd_seq crct10dif_pclmul iTCO_wdt snd_seq_device crc32_pclmul bluetooth mmc_core iTCO_vendor_support joydev cfg80211
      [   88.320602]  applesmc ghash_clmulni_intel ecdh_generic snd_pcm input_polldev intel_cstate ecc intel_uncore thunderbolt snd_timer i2c_i801 libarc4 rfkill intel_rapl_perf lpc_ich mei_me pcspkr bcm5974 snd bcma mei soundcore acpi_als sbs kfifo_buf sbshc industrialio apple_bl i915 i2c_algo_bit drm_kms_helper drm uas crc32c_intel usb_storage video hid_apple
      [   88.320630] CR2: 0000000000000018
      [   88.320633] ---[ end trace 933491c8a4fadeb7 ]---
      [   88.320642] RIP: 0010:hidpp_probe+0x61f/0x948 [hid_logitech_hidpp]
      [   88.320645] Code: 81 00 00 48 89 ef e8 f0 d6 ff ff 41 89 c6 85 c0 75 b5 0f b6 44 24 28 48 8b 5d 00 88 44 24 1e 89 44 24 0c 48 8b 83 18 1c 00 00 <48> 8b 48 18 48 8b 83 10 19 00 00 48 8b 40 40 48 89 0c 24 0f b7 80
      [   88.320647] RSP: 0018:ffffb0a6824aba68 EFLAGS: 00010246
      [   88.320650] RAX: 0000000000000000 RBX: ffff93a50756e000 RCX: 0000000000010408
      [   88.320652] RDX: 0000000000000000 RSI: ffff93a51f0ad0a0 RDI: 000000000002d0a0
      [   88.320655] RBP: ffff93a50416da28 R08: ffff93a50416da70 R09: ffff93a50416da70
      [   88.320657] R10: 000000148ae9e60c R11: 00000000000f1525 R12: ffff93a50756e000
      [   88.320659] R13: ffff93a50756f8d0 R14: 0000000000000000 R15: ffff93a50756fc38
      [   88.320662] FS:  00007f8d8c1e0940(0000) GS:ffff93a51f080000(0000) knlGS:0000000000000000
      [   88.320664] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   88.320667] CR2: 0000000000000018 CR3: 00000003996d8003 CR4: 00000000001606e0
      
      To solve this issue:
      
         1. Split g920_get_config() such that all of the device specific
            communication remains a part of the function and input subsystem
            initialization bits go to hidpp_ff_init()
      
         2. Move call to hidpp_ff_init() from being a part of
            g920_get_config() to be the last step of .probe(), right after a
            call to hid_hw_start() with connect_mask containing
            HID_CONNECT_HIDINPUT.
      
      Fixes: 91cf9a98 ("HID: logitech-hidpp: make .probe usbhid capable")
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Tested-by: default avatarSam Bazley <sambazley@fastmail.com>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Henrik Rydberg <rydberg@bitmath.org>
      Cc: Pierre-Loup A. Griffais <pgriffais@valvesoftware.com>
      Cc: Austin Palmer <austinp@valvesoftware.com>
      Cc: linux-input@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org # 5.2+
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      abdd3d0b
    • Kai-Heng Feng's avatar
      HID: i2c-hid: Remove runtime power management · 67b18dfb
      Kai-Heng Feng authored
      Runtime power management in i2c-hid brings lots of issues, such as:
      - When transitioning from display manager to desktop session, i2c-hid
      was closed and opened, so the device was set to SLEEP and ON in a short
      period. Vendors confirmed that their devices can't handle fast ON/SLEEP
      command because Windows doesn't have this behavior.
      
      - When rebooting, i2c-hid was closed, and the driver core put the device
      back to full power before shutdown. This behavior also triggers a quick
      SLEEP and ON commands that some devices can't handle, renders an
      unusable touchpad after reboot.
      
      - Most importantly, my power meter reports little to none energy saving
      when i2c-hid is runtime suspended.
      
      So let's remove runtime power management since there is no actual
      benefit.
      Signed-off-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      67b18dfb
  2. 16 Oct, 2019 1 commit
  3. 10 Oct, 2019 1 commit
  4. 03 Oct, 2019 1 commit
    • Alan Stern's avatar
      HID: Fix assumption that devices have inputs · d9d4b1e4
      Alan Stern authored
      The syzbot fuzzer found a slab-out-of-bounds write bug in the hid-gaff
      driver.  The problem is caused by the driver's assumption that the
      device must have an input report.  While this will be true for all
      normal HID input devices, a suitably malicious device can violate the
      assumption.
      
      The same assumption is present in over a dozen other HID drivers.
      This patch fixes them by checking that the list of hid_inputs for the
      hid_device is nonempty before allowing it to be used.
      
      Reported-and-tested-by: syzbot+403741a091bf41d4ae79@syzkaller.appspotmail.com
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      d9d4b1e4
  5. 01 Oct, 2019 2 commits
  6. 23 Sep, 2019 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 1ad0bc78
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - syzbot memory corruption fixes for hidraw, Prodikeys, Logitech and
         Sony drivers from Alan Stern and Roderick Colenbrander
      
       - stuck 'fn' key fix for hid-apple from Joao Moreno
      
       - proper propagation of EPOLLOUT from hiddev and hidraw, from Fabian
         Henneke
      
       - fixes for handling power management for intel-ish devices with NO_D3
         flag set, from Zhang Lixu
      
       - extension of supported usage range for customer page, as some
         Logitech devices are actually making use of it. From Olivier Gay.
      
       - hid-multitouch is no longer filtering mice node creation, from
         Benjamin Tissoires
      
       - MobileStudio Pro 13 support, from Ping Cheng
      
       - a few other device ID additions and assorted smaller fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (27 commits)
        HID: core: fix dmesg flooding if report field larger than 32bit
        HID: core: Add printk_once variants to hid_warn() etc
        HID: core: reformat and reduce hid_printk macros
        HID: prodikeys: Fix general protection fault during probe
        HID: wacom: add new MobileStudio Pro 13 support
        HID: sony: Fix memory corruption issue on cleanup.
        HID: i2c-hid: modify quirks for weida's devices
        HID: apple: Fix stuck function keys when using FN
        HID: sb0540: add support for Creative SB0540 IR receivers
        HID: Add quirk for HP X500 PIXART OEM mouse
        HID: logitech-dj: Fix crash when initial logi_dj_recv_query_paired_devices fails
        hid-logitech-dj: add the new Lightspeed receiver
        HID: logitech-dj: add support of the G700(s) receiver
        HID: multitouch: add support for the Smart Tech panel
        HID: multitouch: do not filter mice nodes
        HID: do not call hid_set_drvdata(hdev, NULL) in drivers
        HID: wacom: do not call hid_set_drvdata(hdev, NULL)
        HID: logitech: Fix general protection fault caused by Logitech driver
        HID: hidraw: Fix invalid read in hidraw_ioctl
        HID: wacom: support named keys on older devices
        ...
      1ad0bc78
    • Linus Torvalds's avatar
      Merge tag 'safesetid-bugfix-5.4' of git://github.com/micah-morton/linux · 1b5fb415
      Linus Torvalds authored
      Pull SafeSetID fix from Micah Morton:
       "Jann Horn sent some patches to fix some bugs in SafeSetID for 5.3.
        After he had done his testing there were a couple small code tweaks
        that went in and caused this bug.
      
        From what I can see SafeSetID is broken in 5.3 and crashes the kernel
        every time during initialization if you try to use it. I came across
        this bug when backporting Jann's changes for 5.3 to older kernels
        (4.14 and 4.19). I've tested on a Chrome OS device with those kernels
        and verified that this change fixes things.
      
        It doesn't seem super useful to have this bake in linux-next, since it
        is completely broken in 5.3 and nobody noticed"
      
      * tag 'safesetid-bugfix-5.4' of git://github.com/micah-morton/linux:
        LSM: SafeSetID: Stop releasing uninitialized ruleset
      1b5fb415
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20190917' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 5825a95f
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
      
       - Add LSM hooks, and SELinux access control hooks, for dnotify,
         fanotify, and inotify watches. This has been discussed with both the
         LSM and fs/notify folks and everybody is good with these new hooks.
      
       - The LSM stacking changes missed a few calls to current_security() in
         the SELinux code; we fix those and remove current_security() for
         good.
      
       - Improve our network object labeling cache so that we always return
         the object's label, even when under memory pressure. Previously we
         would return an error if we couldn't allocate a new cache entry, now
         we always return the label even if we can't create a new cache entry
         for it.
      
       - Convert the sidtab atomic_t counter to a normal u32 with
         READ/WRITE_ONCE() and memory barrier protection.
      
       - A few patches to policydb.c to clean things up (remove forward
         declarations, long lines, bad variable names, etc)
      
      * tag 'selinux-pr-20190917' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        lsm: remove current_security()
        selinux: fix residual uses of current_security() for the SELinux blob
        selinux: avoid atomic_t usage in sidtab
        fanotify, inotify, dnotify, security: add security hook for fs notifications
        selinux: always return a secid from the network caches if we find one
        selinux: policydb - rename type_val_to_struct_array
        selinux: policydb - fix some checkpatch.pl warnings
        selinux: shuffle around policydb.c to get rid of forward declarations
      5825a95f
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 3c6a6910
      Linus Torvalds authored
      Pull crypto fixes froim Herbert Xu:
       "This fixes the following issues:
      
         - potential boot hang in hwrng
      
         - missing switch/break in talitos
      
         - bugs and warnings in hisilicon
      
         - build warning in inside-secure"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: hisilicon - avoid unused function warning
        hwrng: core - don't wait on add_early_randomness()
        crypto: hisilicon - Fix return value check in hisi_zip_acompress()
        crypto: hisilicon - Matching the dma address for dma_pool_free()
        crypto: hisilicon - Fix double free in sec_free_hw_sgl()
        crypto: inside-secure - Fix unused variable warning when CONFIG_PCI=n
        crypto: talitos - fix missing break in switch statement
      3c6a6910
  7. 22 Sep, 2019 21 commits
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/wacom' into for-linus · 8ca06d6f
      Jiri Kosina authored
      - MobileStudio Pro 13 support, from Ping Cheng
      
      - a few other assorted fixes
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      8ca06d6f
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/sb0540' into for-linus · 7af0f839
      Jiri Kosina authored
      - support for Creative SB0540 IR receivers, from Bastien Nocera
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7af0f839
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/multitouch' into for-linus · 67fe00d8
      Jiri Kosina authored
      - support for the Smart Tech panel, from Benjamin Tissoires
      
      - hid-multitouch is no longer filtering mice node creation,
        from Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      67fe00d8
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/logitech' into for-linus · 08115756
      Jiri Kosina authored
      - extension of supported usage range for customer page, as some Logitech
        devices are actually making use of it. From Olivier Gay.
      
      - support for Lightspeed and G700(s) receivers from Filipe Laíns and
        Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      08115756
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/ish' into for-linus · 979d859d
      Jiri Kosina authored
      - fixes for handling power management for intel-ish devices with NO_D3 flag
        set, from Zhang Lixu
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      979d859d
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/hidraw-hiddev-epoll' into for-linus · 98656d50
      Jiri Kosina authored
      - proper propagation of EPOLLOUT from hiddev and hidraw, from
        Fabian Henneke
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      98656d50
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/core' into for-linus · ad049d52
      Jiri Kosina authored
      - fixes for formatting / ratelimiting kernel log by HID core, from
        Joshua Clayton
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ad049d52
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/cleanup' into for-linus · 7147935a
      Jiri Kosina authored
      - cleanup of ->drvdata handling between HID core and drivers, from
        Benjamin Tissoires
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7147935a
    • Jiri Kosina's avatar
      Merge branch 'for-5.4/apple' into for-linus · 53c71641
      Jiri Kosina authored
      - stuck 'fn' key fix for hid-apple from Joao Moreno
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      53c71641
    • Jiri Kosina's avatar
      Merge branch 'for-5.3/upstream-fixes' into for-linus · e6d64ce0
      Jiri Kosina authored
      - syzbot memory corruption fixes for hidraw, Prodikeys, Logitech and Sony
        drivers from Alan Stern and Roderick Colenbrander
      - error handling fix for Logitech unifying receivers from Hans de Goede
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e6d64ce0
    • Linus Torvalds's avatar
      Merge tag 'for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 619e17cf
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Core:
         - Ensure HWMON devices are registered with valid names
         - Fix device wakeup code
      
        Drivers:
         - bq25890_charger: Add BQ25895 support
         - axp288_fuel_gauge: Add Minix Neo Z83-4 to blacklist
         - sc27xx: improve battery calibration
         - misc small fixes all over drivers"
      
      * tag 'for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (24 commits)
        power: supply: cpcap-charger: Enable vbus boost voltage
        power: supply: sc27xx: Add POWER_SUPPLY_PROP_CALIBRATE attribute
        power: supply: sc27xx: Optimize the battery capacity calibration
        power: supply: sc27xx: Make sure the alarm capacity is larger than 0
        power: supply: sc27xx: Fix the the accuracy issue of coulomb calculation
        power: supply: sc27xx: Fix conditon to enable the FGU interrupt
        power: supply: sc27xx: Add POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN attribute
        power: supply: max77650: add MODULE_ALIAS()
        power: supply: isp1704: remove redundant assignment to variable ret
        power: supply: bq25890_charger: Add the BQ25895 part
        power: supply: sc27xx: Replace devm_add_action() followed by failure action with devm_add_action_or_reset()
        power: supply: sc27xx: Introduce local variable 'struct device *dev'
        power: reset: reboot-mode: Fix author email format
        power: supply: ab8500: remove set but not used variables 'vbup33_vrtcn' and 'bup_vch_range'
        power: supply: max17042_battery: Fix a typo in function names
        power: reset: gpio-restart: Fix typo when gpio reset is not found
        power: supply: Init device wakeup after device_add()
        power: supply: ab8500_charger: Mark expected switch fall-through
        power: supply: sbs-battery: only return health when battery present
        MAINTAINERS: N900: Remove isp1704_charger.h record
        ...
      619e17cf
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 57f1c3ca
      Linus Torvalds authored
      Pull HSI updates from Sebastian Reichel:
       "Misc cleanups"
      
      * tag 'hsi-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: Remove dev_err() usage after platform_get_irq()
        HSI: ssi_protocol: Mark expected switch fall-throughs
      57f1c3ca
    • Linus Torvalds's avatar
      firmware: bcm47xx_nvram: _really_ correct size_t printf format · 5d4156ac
      Linus Torvalds authored
      Commit feb4eb06 ("firmware: bcm47xx_nvram: Correct size_t printf
      format") was wrong, and changed a printout of 'header.len' - which is an
      u32 type - to use '%zu'.
      
      It apparently did pattern matching on the other case, where it printed
      out 'nvram_len', which is indeed of type 'size_t'.
      
      Rather than undoing the change, this just makes it use the variable that
      the change seemed to expect to be used.
      
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5d4156ac
    • Linus Torvalds's avatar
      modules: make MODULE_IMPORT_NS() work even when modular builds are disabled · 3e4d890a
      Linus Torvalds authored
      It's an unusual configuration, and was apparently never tested, and not
      caught in linux-next because of a combination of travels and it making
      it into the tree too late.
      
      The fix is to simply move the #define to outside the CONFIG_MODULE
      section, since MODULE_INFO() will do the right thing.
      
      Cc: Martijn Coenen <maco@android.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Matthias Maennich <maennich@google.com>
      Cc: Jessica Yu <jeyu@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e4d890a
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 9dbd83f6
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Two new drivers and the new pcf2127 feature make the bulk of the
        additions. The rest are the usual fixes and new features.
      
        Subsystem:
         - add debug message when registration fails
      
        New drivers:
         - Amlogic Virtual Wake
         - Freescale FlexTimer Module alarm
      
        Drivers:
         - remove superfluous error messages
         - convert to i2c_new_dummy_device and devm_i2c_new_dummy_device
         - Remove dev_err() usage after platform_get_irq()
         - Set RTC range for: pcf2123, pcf8563, snvs.
         - pcf2127: tamper detection and watchdog support
         - pcf85363: fix regmap issue
         - sun6i: H6 support
         - remove w90x900/nuc900 driver"
      
      * tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (51 commits)
        rtc: meson: mark PM functions as __maybe_unused
        rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag
        dt-bindings: rtc: ds1307: add rx8130 compatible
        rtc: sun6i: Allow using as wakeup source from suspend
        rtc: pcf8563: let the core handle range offsetting
        rtc: pcf8563: remove useless indirection
        rtc: pcf8563: convert to devm_rtc_allocate_device
        rtc: pcf8563: add Microcrystal RV8564 compatible
        rtc: pcf8563: add Epson RTC8564 compatible
        rtc: s35390a: convert to devm_i2c_new_dummy_device()
        rtc: max77686: convert to devm_i2c_new_dummy_device()
        rtc: pcf85363/pcf85263: fix regmap error in set_time
        rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64
        rtc: snvs: set range
        rtc: snvs: fix possible race condition
        rtc: pcf2127: bugfix: watchdog build dependency
        rtc: pcf2127: add tamper detection support
        rtc: pcf2127: add watchdog feature support
        rtc: pcf2127: bugfix: read rtc disables watchdog
        rtc: pcf2127: cleanup register and bit defines
        ...
      9dbd83f6
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 379bb045
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This contains updates to make the rpmsg sample driver more useful,
        fixes the naming of GLINK devices to avoid naming collisions and a few
        minor bug fixes. It also updates MAINTAINERS to reflect the move to
        kernel.org"
      
      * tag 'rpmsg-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: glink-smem: Name the edge based on parent remoteproc
        rpmsg: glink: Use struct_size() helper
        rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"
        MAINTAINERS: rpmsg: fix git tree location
        rpmsg: core: fix comments
        samples/rpmsg: Introduce a module parameter for message count
        samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()
      379bb045
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 28de978b
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This exposes the remoteproc's name in sysfs, allows stm32 to enter
        platform standby and provides bug fixes for stm32 and Qualcomm's modem
        remoteproc drivers. Finally it updates MAINTAINERS to reflect the move
        to kernel.org"
      
      * tag 'rproc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        MAINTAINERS: remoteproc: update git tree location
        remoteproc: Remove dev_err() usage after platform_get_irq()
        remoteproc: stm32: manage the get_irq probe defer case
        remoteproc: stm32: clear MCU PDDS at firmware start
        remoteproc: qcom: q6v5-mss: fixup q6v5_pds_enable error handling
        remoteproc: Add a sysfs interface for name
        remoteproc: qcom: Move glink_ssr notification after stop
      28de978b
    • Linus Torvalds's avatar
      Merge tag 'soundwire-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 8d7ead5c
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "This includes DT support thanks to Srini and more work done by Intel
        (Pierre) on improving cadence and intel support.
      
        Summary:
      
         - Add DT bindings and DT support in core
      
         - Add debugfs support for soundwire properties
      
         - Improvements on streaming handling to core
      
         - Improved handling of Cadence module
      
         - More updates and improvements to Intel driver"
      
      * tag 'soundwire-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (30 commits)
        soundwire: stream: make stream name a const pointer
        soundwire: Add compute_params callback
        soundwire: core: add device tree support for slave devices
        dt-bindings: soundwire: add slave bindings
        soundwire: bus: set initial value to port_status
        soundwire: intel: handle disabled links
        soundwire: intel: add debugfs register dump
        soundwire: cadence_master: add debugfs register dump
        soundwire: add debugfs support
        soundwire: intel: remove unused variables
        soundwire: intel: move shutdown() callback and don't export symbol
        soundwire: cadence_master: add kernel parameter to override interrupt mask
        soundwire: intel_init: add kernel module parameter to filter out links
        soundwire: cadence_master: fix divider setting in clock register
        soundwire: cadence_master: make use of mclk_freq property
        soundwire: intel: read mclk_freq property from firmware
        soundwire: add new mclk_freq field for properties
        soundwire: stream: remove unnecessary variable initializations
        soundwire: stream: fix disable sequence
        soundwire: include mod_devicetable.h to avoid compiling warnings
        ...
      8d7ead5c
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · e0703556
      Linus Torvalds authored
      Pull modules updates from Jessica Yu:
       "The main bulk of this pull request introduces a new exported symbol
        namespaces feature. The number of exported symbols is increasingly
        growing with each release (we're at about 31k exports as of 5.3-rc7)
        and we currently have no way of visualizing how these symbols are
        "clustered" or making sense of this huge export surface.
      
        Namespacing exported symbols allows kernel developers to more
        explicitly partition and categorize exported symbols, as well as more
        easily limiting the availability of namespaced symbols to other parts
        of the kernel. For starters, we have introduced the USB_STORAGE
        namespace to demonstrate the API's usage. I have briefly summarized
        the feature and its main motivations in the tag below.
      
        Summary:
      
         - Introduce exported symbol namespaces.
      
           This new feature allows subsystem maintainers to partition and
           categorize their exported symbols into explicit namespaces. Module
           authors are now required to import the namespaces they need.
      
           Some of the main motivations of this feature include: allowing
           kernel developers to better manage the export surface, allow
           subsystem maintainers to explicitly state that usage of some
           exported symbols should only be limited to certain users (think:
           inter-module or inter-driver symbols, debugging symbols, etc), as
           well as more easily limiting the availability of namespaced symbols
           to other parts of the kernel.
      
           With the module import requirement, it is also easier to spot the
           misuse of exported symbols during patch review.
      
           Two new macros are introduced: EXPORT_SYMBOL_NS() and
           EXPORT_SYMBOL_NS_GPL(). The API is thoroughly documented in
           Documentation/kbuild/namespaces.rst.
      
         - Some small code and kbuild cleanups here and there"
      
      * tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Remove leftover '#undef' from export header
        module: remove unneeded casts in cmp_name()
        module: move CONFIG_UNUSED_SYMBOLS to the sub-menu of MODULES
        module: remove redundant 'depends on MODULES'
        module: Fix link failure due to invalid relocation on namespace offset
        usb-storage: export symbols in USB_STORAGE namespace
        usb-storage: remove single-use define for debugging
        docs: Add documentation for Symbol Namespaces
        scripts: Coccinelle script for namespace dependencies.
        modpost: add support for generating namespace dependencies
        export: allow definition default namespaces in Makefiles or sources
        module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
        modpost: add support for symbol namespaces
        module: add support for symbol namespaces.
        export: explicitly align struct kernel_symbol
        module: support reading multiple values per modinfo tag
      e0703556
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 8808cf8c
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - fix various clang build and cppcheck issues
      
       - switch ARM to use new common outgoing-CPU-notification code
      
       - add some additional explanation about the boot code
      
       - kbuild "make clean" fixes
      
       - get rid of another "(____ptrval____)", this time for the VDSO code
      
       - avoid treating cache maintenance faults as a write
      
       - add a frame pointer unwinder implementation for clang
      
       - add EDAC support for Aurora L2 cache
      
       - improve robustness of adjust_lowmem_bounds() finding the bounds of
         lowmem.
      
       - add reset control for AMBA primecell devices
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (24 commits)
        ARM: 8906/1: drivers/amba: add reset control to amba bus probe
        ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer
        ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
        ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
        ARM: 8891/1: EDAC: armada_xp: Add support for more SoCs
        ARM: 8888/1: EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC
        ARM: 8892/1: EDAC: Add missing debugfs_create_x32 wrapper
        ARM: 8890/1: l2x0: add marvell,ecc-enable property for aurora
        ARM: 8889/1: dt-bindings: document marvell,ecc-enable binding
        ARM: 8886/1: l2x0: support parity-enable/disable on aurora
        ARM: 8885/1: aurora-l2: add defines for parity and ECC registers
        ARM: 8887/1: aurora-l2: add prefix to MAX_RANGE_SIZE
        ARM: 8902/1: l2c: move cache-aurora-l2.h to asm/hardware
        ARM: 8900/1: UNWINDER_FRAME_POINTER implementation for Clang
        ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes
        ARM: 8896/1: VDSO: Don't leak kernel addresses
        ARM: 8895/1: visit mach-* and plat-* directories when cleaning
        ARM: 8894/1: boot: Replace open-coded nop with macro
        ARM: 8893/1: boot: Explain the 8 nops
        ARM: 8876/1: fix O= building with CONFIG_FPE_FASTFPE
        ...
      8808cf8c
    • Linus Torvalds's avatar
      Merge tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 5c6bd5de
      Linus Torvalds authored
      Pull MIPS updates from Paul Burton:
       "Main MIPS changes:
      
         - boot_mem_map is removed, providing a nice cleanup made possible by
           the recent removal of bootmem.
      
         - Some fixes to atomics, in general providing compiler barriers for
           smp_mb__{before,after}_atomic plus fixes specific to Loongson CPUs
           or MIPS32 systems using cmpxchg64().
      
         - Conversion to the new generic VDSO infrastructure courtesy of
           Vincenzo Frascino.
      
         - Removal of undefined behavior in set_io_port_base(), fixing the
           behavior of some MIPS kernel configurations when built with recent
           clang versions.
      
         - Initial MIPS32 huge page support, functional on at least Ingenic
           SoCs.
      
         - pte_special() is now supported for some configurations, allowing
           among other things generic fast GUP to be used.
      
         - Miscellaneous fixes & cleanups.
      
        And platform specific changes:
      
         - Major improvements to Ingenic SoC support from Paul Cercueil,
           mostly enabled by the inclusion of the new TCU (timer-counter unit)
           drivers he's spent a very patient year or so working on. Plus some
           fixes for X1000 SoCs from Zhou Yanjie.
      
         - Netgear R6200 v1 systems are now supported by the bcm47xx platform.
      
         - DT updates for BMIPS, Lantiq & Microsemi Ocelot systems"
      
      * tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (89 commits)
        MIPS: Detect bad _PFN_SHIFT values
        MIPS: Disable pte_special() for MIPS32 with RiXi
        MIPS: ralink: deactivate PCI support for SOC_MT7621
        mips: compat: vdso: Use legacy syscalls as fallback
        MIPS: Drop Loongson _CACHE_* definitions
        MIPS: tlbex: Remove cpu_has_local_ebase
        MIPS: tlbex: Simplify r3k check
        MIPS: Select R3k-style TLB in Kconfig
        MIPS: PCI: refactor ioc3 special handling
        mips: remove ioremap_cachable
        mips/atomic: Fix smp_mb__{before,after}_atomic()
        mips/atomic: Fix loongson_llsc_mb() wreckage
        mips/atomic: Fix cmpxchg64 barriers
        MIPS: Octeon: remove duplicated include from dma-octeon.c
        firmware: bcm47xx_nvram: Allow COMPILE_TEST
        firmware: bcm47xx_nvram: Correct size_t printf format
        MIPS: Treat Loongson Extensions as ASEs
        MIPS: Remove dev_err() usage after platform_get_irq()
        MIPS: dts: mscc: describe the PTP ready interrupt
        MIPS: dts: mscc: describe the PTP register range
        ...
      5c6bd5de
  8. 21 Sep, 2019 5 commits
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · f7c3bf8f
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Use asynchronous glocks and timeouts to recover from deadlocks during
         rename and exchange: the lock ordering constraints the vfs uses are
         not sufficient to prevent deadlocks across multiple nodes.
      
       - Add support for IOMAP_ZERO and use iomap_zero_range to replace gfs2
         specific code.
      
       - Various other minor fixes and cleanups.
      
      * tag 'gfs2-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps
        gfs2: Improve mmap write vs. truncate consistency
        gfs2: Use async glocks for rename
        gfs2: create function gfs2_glock_update_hold_time
        gfs2: separate holder for rgrps in gfs2_rename
        gfs2: Delete an unnecessary check before brelse()
        gfs2: Minor PAGE_SIZE arithmetic cleanups
        gfs2: Fix recovery slot bumping
        gfs2: Fix possible fs name overflows
        gfs2: untangle the logic in gfs2_drevalidate
        gfs2: Always mark inode dirty in fallocate
        gfs2: Minor gfs2_alloc_inode cleanup
        gfs2: implement gfs2_block_zero_range using iomap_zero_range
        gfs2: Add support for IOMAP_ZERO
        gfs2: gfs2_iomap_begin cleanup
      f7c3bf8f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · fbc246a1
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we introduced casefolding support in f2fs, and fixed
        various bugs in individual features such as IO alignment,
        checkpoint=disable, quota, and swapfile.
      
        Enhancement:
         - support casefolding w/ enhancement in ext4
         - support fiemap for directory
         - support FS_IO_GET|SET_FSLABEL
      
        Bug fix:
         - fix IO stuck during checkpoint=disable
         - avoid infinite GC loop
         - fix panic/overflow related to IO alignment feature
         - fix livelock in swap file
         - fix discard command leak
         - disallow dio for atomic_write"
      
      * tag 'f2fs-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
        f2fs: add a condition to detect overflow in f2fs_ioc_gc_range()
        f2fs: fix to add missing F2FS_IO_ALIGNED() condition
        f2fs: fix to fallback to buffered IO in IO aligned mode
        f2fs: fix to handle error path correctly in f2fs_map_blocks
        f2fs: fix extent corrupotion during directIO in LFS mode
        f2fs: check all the data segments against all node ones
        f2fs: Add a small clarification to CONFIG_FS_F2FS_FS_SECURITY
        f2fs: fix inode rwsem regression
        f2fs: fix to avoid accessing uninitialized field of inode page in is_alive()
        f2fs: avoid infinite GC loop due to stale atomic files
        f2fs: Fix indefinite loop in f2fs_gc()
        f2fs: convert inline_data in prior to i_size_write
        f2fs: fix error path of f2fs_convert_inline_page()
        f2fs: add missing documents of reserve_root/resuid/resgid
        f2fs: fix flushing node pages when checkpoint is disabled
        f2fs: enhance f2fs_is_checkpoint_ready()'s readability
        f2fs: clean up __bio_alloc()'s parameter
        f2fs: fix wrong error injection path in inc_valid_block_count()
        f2fs: fix to writeout dirty inode during node flush
        f2fs: optimize case-insensitive lookups
        ...
      fbc246a1
    • Linus Torvalds's avatar
      Merge tag 'for_v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7ce1e15d
      Linus Torvalds authored
      Pull ext2, quota, udf fixes and cleanups from Jan Kara:
      
       - two small quota fixes (in grace time handling and possible missed
         accounting of preallocated blocks beyond EOF).
      
       - some ext2 cleanups
      
       - udf fixes for better compatibility with Windows 10 generated media
         (named streams, write-protection using domain-identifier, placement
         of volume recognition sequence)
      
       - some udf cleanups
      
      * tag 'for_v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: fix wrong condition in is_quota_modification()
        fs-udf: Delete an unnecessary check before brelse()
        ext2: Delete an unnecessary check before brelse()
        udf: Drop forward function declarations
        udf: Verify domain identifier fields
        udf: augment UDF permissions on new inodes
        udf: Use dynamic debug infrastructure
        udf: reduce leakage of blocks related to named streams
        udf: prevent allocation beyond UDF partition
        quota: fix condition for resetting time limit in do_set_dqblk()
        ext2: code cleanup for ext2_free_blocks()
        ext2: fix block range in ext2_data_block_valid()
        udf: support 2048-byte spacing of VRS descriptors on 4K media
        udf: refactor VRS descriptor identification
      7ce1e15d
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 70cb0d02
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Added new ext4 debugging ioctls to allow userspace to get information
        about the state of the extent status cache.
      
        Dropped workaround for pre-1970 dates which were encoded incorrectly
        in pre-4.4 kernels. Since both the kernel correctly generates, and
        e2fsck detects and fixes this issue for the past four years, it'e time
        to drop the workaround. (Also, it's not like files with dates in the
        distant past were all that common in the first place.)
      
        A lot of miscellaneous bug fixes and cleanups, including some ext4
        Documentation fixes. Also included are two minor bug fixes in
        fs/unicode"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
        unicode: make array 'token' static const, makes object smaller
        unicode: Move static keyword to the front of declarations
        ext4: add missing bigalloc documentation.
        ext4: fix kernel oops caused by spurious casefold flag
        ext4: fix integer overflow when calculating commit interval
        ext4: use percpu_counters for extent_status cache hits/misses
        ext4: fix potential use after free after remounting with noblock_validity
        jbd2: add missing tracepoint for reserved handle
        ext4: fix punch hole for inline_data file systems
        ext4: rework reserved cluster accounting when invalidating pages
        ext4: documentation fixes
        ext4: treat buffers with write errors as containing valid data
        ext4: fix warning inside ext4_convert_unwritten_extents_endio
        ext4: set error return correctly when ext4_htree_store_dirent fails
        ext4: drop legacy pre-1970 encoding workaround
        ext4: add new ioctl EXT4_IOC_GET_ES_CACHE
        ext4: add a new ioctl EXT4_IOC_GETSTATE
        ext4: add a new ioctl EXT4_IOC_CLEAR_ES_CACHE
        jbd2: flush_descriptor(): Do not decrease buffer head's ref count
        ext4: remove unnecessary error check
        ...
      70cb0d02
    • Linus Torvalds's avatar
      Merge tag 'upstream-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 104c0d6b
      Linus Torvalds authored
      Pull UBI, UBIFS and JFFS2 updates from Richard Weinberger:
       "UBI:
         - Be less stupid when placing a fastmap anchor
         - Try harder to get an empty PEB in case of contention
         - Make ubiblock to warn if image is not a multiple of 512
      
        UBIFS:
         - Various fixes in error paths
      
        JFFS2:
         - Various fixes in error paths"
      
      * tag 'upstream-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        jffs2: Fix memory leak in jffs2_scan_eraseblock() error path
        jffs2: Remove jffs2_gc_fetch_page and jffs2_gc_release_page
        jffs2: Fix possible null-pointer dereferences in jffs2_add_frag_to_fragtree()
        ubi: block: Warn if volume size is not multiple of 512
        ubifs: Fix memory leak bug in alloc_ubifs_info() error path
        ubifs: Fix memory leak in __ubifs_node_verify_hmac error path
        ubifs: Fix memory leak in read_znode() error path
        ubi: ubi_wl_get_peb: Increase the number of attempts while getting PEB
        ubi: Don't do anchor move within fastmap area
        ubifs: Remove redundant assignment to pointer fname
      104c0d6b