1. 18 Nov, 2019 1 commit
  2. 15 Nov, 2019 2 commits
  3. 14 Nov, 2019 1 commit
    • Jinke Fan's avatar
      HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse · f1a0094c
      Jinke Fan authored
      The PixArt OEM mouse disconnets/reconnects every minute on
      Linux. All contents of dmesg are repetitive:
      
      [ 1465.810014] usb 1-2.2: USB disconnect, device number 20
      [ 1467.431509] usb 1-2.2: new low-speed USB device number 21 using xhci_hcd
      [ 1467.654982] usb 1-2.2: New USB device found, idVendor=03f0,idProduct=1f4a, bcdDevice= 1.00
      [ 1467.654985] usb 1-2.2: New USB device strings: Mfr=1, Product=2,SerialNumber=0
      [ 1467.654987] usb 1-2.2: Product: HP USB Optical Mouse
      [ 1467.654988] usb 1-2.2: Manufacturer: PixArt
      [ 1467.699722] input: PixArt HP USB Optical Mouse as /devices/pci0000:00/0000:00:07.1/0000:05:00.3/usb1/1-2/1-2.2/1-2.2:1.0/0003:03F0:1F4A.0012/input/input19
      [ 1467.700124] hid-generic 0003:03F0:1F4A.0012: input,hidraw0: USB HID v1.11 Mouse [PixArt HP USB Optical Mouse] on usb-0000:05:00.3-2.2/input0
      
      So add HID_QUIRK_ALWAYS_POLL for this one as well.
      Test the patch, the mouse is no longer disconnected and there are no
      duplicate logs in dmesg.
      
      Reference:
      https://github.com/sriemer/fix-linux-mouseSigned-off-by: default avatarJinke Fan <fanjinke@hygon.cn>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f1a0094c
  4. 06 Nov, 2019 1 commit
    • Jason Gerecke's avatar
      HID: wacom: generic: Treat serial number and related fields as unsigned · ff479731
      Jason Gerecke authored
      The HID descriptors for most Wacom devices oddly declare the serial
      number and other related fields as signed integers. When these numbers
      are ingested by the HID subsystem, they are automatically sign-extended
      into 32-bit integers. We treat the fields as unsigned elsewhere in the
      kernel and userspace, however, so this sign-extension causes problems.
      In particular, the sign-extended tool ID sent to userspace as ABS_MISC
      does not properly match unsigned IDs used by xf86-input-wacom and libwacom.
      
      We introduce a function 'wacom_s32tou' that can undo the automatic sign
      extension performed by 'hid_snto32'. We call this function when processing
      the serial number and related fields to ensure that we are dealing with
      and reporting the unsigned form. We opt to use this method rather than
      adding a descriptor fixup in 'wacom_hid_usage_quirk' since it should be
      more robust in the face of future devices.
      
      Ref: https://github.com/linuxwacom/input-wacom/issues/134
      Fixes: f85c9dc6 ("HID: wacom: generic: Support tool ID and additional tool types")
      CC: <stable@vger.kernel.org> # v4.10+
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarAaron Armstrong Skomra <aaron.skomra@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ff479731
  5. 02 Nov, 2019 1 commit
    • Hans de Goede's avatar
      HID: i2c-hid: Send power-on command after reset · 43b7029f
      Hans de Goede authored
      Before commit 67b18dfb ("HID: i2c-hid: Remove runtime power
      management"), any i2c-hid touchscreens would typically be runtime-suspended
      between the driver loading and Xorg or a Wayland compositor opening it,
      causing it to be resumed again. This means that before this change,
      we would call i2c_hid_set_power(OFF), i2c_hid_set_power(ON) before the
      graphical session would start listening to the touchscreen.
      
      It turns out that at least some SIS touchscreens, such as the one found
      on the Asus T100HA, need a power-on command after reset, otherwise they
      will not send any events.
      
      Fixes: 67b18dfb ("HID: i2c-hid: Remove runtime power management")
      Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      43b7029f
  6. 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
  7. 16 Oct, 2019 1 commit
  8. 10 Oct, 2019 1 commit
  9. 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
  10. 01 Oct, 2019 2 commits
  11. 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
  12. 22 Sep, 2019 20 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