Commit Graph

99 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
509ddbb2b8 Merge f976d964a6 ("Input: adp5589-keys - fix adp5589_gpio_get_value()") into android12-5.10-lts
Steps on the way to 5.10.227

Resolves merge conflicts in:
	fs/nfsd/nfs4xdr.c
	fs/nfsd/vfs.c

Change-Id: I8ed4156759977aa5c53d577990f4b72e61530ebf
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-11-14 11:34:30 +00:00
Yuezhang Mo
f692160d3e exfat: fix memory leak in exfat_load_bitmap()
commit d2b537b3e533f28e0d97293fe9293161fe8cd137 upstream.

If the first directory entry in the root directory is not a bitmap
directory entry, 'bh' will not be released and reassigned, which
will cause a memory leak.

Fixes: 1e49a94cf7 ("exfat: add bitmap operations")
Cc: stable@vger.kernel.org
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-10-17 15:08:22 +02:00
Greg Kroah-Hartman
3afa5a4331 Merge tag 'android12-5.10.205_r00' into branch 'android12-5.10'
This merges commits up to the 5.10.205 LTS release into the
android12-5.10 branch.  It contains the following commits:

* 068af29e24 ANDROID: GKI: fix crc issue in include/net/addrconf.h
* 4a8f190c2a Revert "cred: switch to using atomic_long_t"
*   b7733bafef Merge 5.10.205 into android12-5.10-lts
|\
| * ca4427ebc6 Linux 5.10.205
| * 05c547e842 powerpc/ftrace: Fix stack teardown in ftrace_no_trace
| * e30e62f0e1 powerpc/ftrace: Create a dummy stackframe to fix stack unwind
| * 5a82cf64f8 tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf()
| * a11ea2c08f tty: n_gsm, remove duplicates of parameters
| * b8faa754b5 tty: n_gsm: fix tty registration before control channel open
| * 918ba07224 USB: gadget: core: adjust uevent timing on gadget unbind
| * 20c2cb79a3 ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs
| * 9f5bf009f7 ring-buffer: Fix writing to the buffer with max_data_size
| * 3e8055fc3b ring-buffer: Have saved event hold the entire event
| * d7a2939814 tracing: Update snapshot buffer on resize if it is allocated
| * a3580b2bfe ring-buffer: Fix memory leak of free page
| * 5ffda6998b team: Fix use-after-free when an option instance allocation fails
| * 33fb8ac30c arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify
| * 26eeec522a ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS
| * 6e2628dfad soundwire: stream: fix NULL pointer dereference for multi_link
| * 7ccfc078cd perf: Fix perf_event_validate_size() lockdep splat
| * 5984306f6c HID: hid-asus: add const to read-only outgoing usb buffer
| * e9709a88a8 net: usb: qmi_wwan: claim interface 4 for ZTE MF290
| * 09c8ee5f9b asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation
| * f6a1bf4299 HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad
| * 744027bb8e HID: hid-asus: reset the backlight brightness level on resume
| * 1ac7379d2e HID: add ALWAYS_POLL quirk for Apple kb
| * a64a9f38ae HID: glorious: fix Glorious Model I HID report
| * 6026a862f3 platform/x86: intel_telemetry: Fix kernel doc descriptions
| * e01135763b bcache: avoid NULL checking to c->root in run_cache_set()
| * a7555524e3 bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc()
| * 3b48e1c048 bcache: remove redundant assignment to variable cur_idx
| * ea2341d082 bcache: avoid oversize memory allocation by small stripe_size
| * dbf0cdacdb blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!"
| * d69581c176 usb: aqc111: check packet for fixup for true limit
| * 1e3ea8d2ba drm/mediatek: Add spinlock for setting vblank event in atomic_begin
| * 022b82336a PCI: loongson: Limit MRRS to 256
| * 791bca1b09 Revert "PCI: acpiphp: Reassign resources on bridge if necessary"
| * 7e2afd0885 ALSA: hda/realtek: Apply mute LED quirk for HP15-db
| * 0633028511 ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants
| * 851783a0c4 fuse: dax: set fc->dax to NULL in fuse_dax_conn_free()
| * 2623cf1fe8 cred: switch to using atomic_long_t
| * 03b50868ae net: atlantic: fix double free in ring reinit logic
| * a232eb81c7 appletalk: Fix Use-After-Free in atalk_ioctl
| * 9deccfbaed net: stmmac: Handle disabled MDIO busses from devicetree
| * 5470533a7d net: stmmac: use dev_err_probe() for reporting mdio bus registration failure
| * 52a4c0e82a vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space()
| * 4c0d7e8261 sign-file: Fix incorrect return values check
| * 25bfae19b8 net: ena: Fix XDP redirection error
| * c83544b70c net: ena: Destroy correct number of xdp queues upon failure
| * 7ed59c4027 net: Remove acked SYN flag from packet in the transmit queue correctly
| * 10760f4234 qed: Fix a potential use-after-free in qed_cxt_tables_alloc
| * 7eda5960a5 net/rose: Fix Use-After-Free in rose_ioctl
| * 64a032015c atm: Fix Use-After-Free in do_vcc_ioctl
| * c20f425e06 net: fec: correct queue selection
| * d15e4b825d net: vlan: introduce skb_vlan_eth_hdr()
| * bc0860a3c4 atm: solos-pci: Fix potential deadlock on &tx_queue_lock
| * df5c24df63 atm: solos-pci: Fix potential deadlock on &cli_queue_lock
| * 6a7b673e6e qca_spi: Fix reset behavior
| * 347d10877b qca_debug: Fix ethtool -G iface tx behavior
| * a07e5568d9 qca_debug: Prevent crash on TX ring changes
| * 97275e470c net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX
| * b30fbeb390 HID: lenovo: Restrict detection of patched firmware only to USB cptkbd
| * 84eed654ff afs: Fix refcount underflow from error handling race
| * 8ee7b2c465 netfilter: nf_tables: fix 'exist' matching on bigendian arches
* | 63d180012d Revert "psample: Require 'CAP_NET_ADMIN' when joining "packets" group"
* | 36f0b85aff Revert "genetlink: add CAP_NET_ADMIN test for multicast bind"
* | ae04f2701b Revert "drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group"
* | e4dd66fb02 Revert "perf/core: Add a new read format to get a number of lost samples"
* | 86a3866fec Revert "perf: Fix perf_event_validate_size()"
* | e710feda7e Revert "hrtimers: Push pending hrtimers away from outgoing CPU earlier"
* | 001d2105f6 Merge 5.10.204 into android12-5.10-lts
|\|
| * b50306f771 Linux 5.10.204
| * fa49e956b7 r8169: fix rtl8125b PAUSE frames blasting when suspended
| * 9e3ca02b11 devcoredump: Send uevent once devcd is ready
| * 9e0ca92012 devcoredump : Serialize devcd_del work
| * 12467ad3f3 smb: client: fix potential NULL deref in parse_dfs_referrals()
| * 0b1711b486 cifs: Fix non-availability of dedup breaking generic/304
| * 8cb1209989 Revert "btrfs: add dmesg output for first mount and last unmount of a filesystem"
| * d7c3a467f4 mmc: block: Be sure to wait while busy in CQE error recovery
| * 91b70f60c8 platform/x86: asus-wmi: Document the dgpu_disable sysfs attribute
| * a8b781c410 tools headers UAPI: Sync linux/perf_event.h with the kernel sources
| * bdb26b8199 platform/x86: asus-wmi: Fix kbd_dock_devid tablet-switch reporting
| * bf72b44fe8 netfilter: nft_set_pipapo: skip inactive elements during set walk
| * e844a9309f drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group
| * ad2223a169 psample: Require 'CAP_NET_ADMIN' when joining "packets" group
| * 015870c10c genetlink: add CAP_NET_ADMIN test for multicast bind
| * df6cb4c430 netlink: don't call ->netlink_bind with table lock held
| * 3fe1ea5f92 io_uring/af_unix: disable sending io_uring over sockets
| * 3ee7e2faef MIPS: Loongson64: Enable DMA noncoherent support
| * ff803322e9 MIPS: Loongson64: Reserve vgabios memory on boot
| * e0e897ddf3 KVM: s390/mm: Properly reset no-dat
| * ab8816a7c2 x86/CPU/AMD: Check vendor in the AMD microcode callback
| * 6059c313ff serial: 8250_omap: Add earlycon support for the AM654 UART controller
| * 8ffaaf80c6 serial: 8250: 8250_omap: Do not start RX DMA on THRI interrupt
| * b74ace5dec serial: 8250: 8250_omap: Clear UART_HAS_RHR_IT_DIS bit
| * 863bacf3a3 serial: sc16is7xx: address RX timeout interrupt errata
| * e4ed324746 ARM: PL011: Fix DMA support
| * 713f6ff326 usb: typec: class: fix typec_altmode_put_partner to put plugs
| * f16d5355aa Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1"
| * 9caaf469af parport: Add support for Brainboxes IX/UC/PX parallel cards
| * 558b6a4368 usb: gadget: f_hid: fix report descriptor allocation
| * d4fb20dcc1 drm/amdgpu: correct the amdgpu runtime dereference usage count
| * b5862e5ca5 gpiolib: sysfs: Fix error handling on failed export
| * 208dd116f9 perf: Fix perf_event_validate_size()
| * 8bd3d61624 perf/core: Add a new read format to get a number of lost samples
| * f460ff26bd tracing: Stop current tracer when resizing buffer
| * 21beb0d86f tracing: Set actual size after ring buffer resize
| * 7123b54c8b ring-buffer: Force absolute timestamp on discard of event
| * bceeaa5cda misc: mei: client.c: fix problem of return '-EOVERFLOW' in mei_cl_write
| * ee2719b59f misc: mei: client.c: return negative error code in mei_cl_write
| * 3cd3eea1f7 arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory
| * 7f6daf9ee3 arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names
| * 0a9f3e1f57 arm64: dts: mediatek: mt7622: fix memory node warning check
| * 9bceffa423 packet: Move reference count in packet_sock to atomic_long_t
| * 0d0564cfb7 tracing: Fix a possible race when disabling buffered events
| * 85e86d6989 tracing: Fix incomplete locking when disabling buffered events
| * ad9efb0b27 tracing: Disable snapshot buffer when stopping instance tracers
| * 97c2b3b232 tracing: Always update snapshot buffer size
| * 2f7368f336 checkstack: fix printed address
| * 35a7f92507 nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()
| * 8df769d92b nilfs2: fix missing error check for sb_set_blocksize call
| * 3764b24499 ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5
| * 0ff1c0f5a4 ALSA: pcm: fix out-of-bounds in snd_pcm_state_names
| * 1f1c2a3452 riscv: fix misaligned access handling of C.SWSP and C.SDSP
| * cb3543fdaa ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt
| * f337ccfa9f ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init
| * 04769017de scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle()
| * a28083d41c tracing: Fix a warning when allocating buffered events fails
| * 888580bfaa ASoC: wm_adsp: fix memleak in wm_adsp_buffer_populate
| * 9dfd862418 hwmon: (acpi_power_meter) Fix 4.29 MW bug
| * c0a428245a RDMA/bnxt_re: Correct module description string
| * 58a7281feb RDMA/rtrs-clt: Remove the warnings for req in_use check
| * 02916f39b8 arm64: dts: rockchip: Expand reg size of vdec node for RK3399
| * a953e45ebe tee: optee: Fix supplicant based device enumeration
| * 3c852b26a5 bpf: sockmap, updating the sg structure should also update curr
| * b17a886ed2 tcp: do not accept ACK of bytes we never sent
| * f1a6a94912 netfilter: xt_owner: Fix for unsafe access of sk->sk_socket
| * e94b6e9640 net: hns: fix fake link up on xge port
| * f253568348 ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit()
| * 860d53a347 ionic: Fix dim work handling in split interrupt mode
| * b41bf6ac24 ionic: fix snprintf format length warning
| * 49809af89c net: bnxt: fix a potential use-after-free in bnxt_init_tc
| * 2093072ed7 i40e: Fix unexpected MFS warning message
| * d54f5a5bc8 arcnet: restoring support for multiple Sohard Arcnet cards
| * effb9ad004 net: arcnet: com20020 fix error handling
| * a657bddfb4 mlxbf-bootctl: correctly identify secure boot with development keys
| * d3f4792836 hv_netvsc: rndis_filter needs to select NLS
| * 909de62207 octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam
| * 7827c1802d ipv6: fix potential NULL deref in fib6_add()
| * ba6dc2f564 of: dynamic: Fix of_reconfig_get_state_change() return value documentation
| * 08dbdacbfe of: Add missing 'Return' section in kerneldoc comments
| * f58e3b3652 of: Fix kerneldoc output formatting
| * 58ccdcc9d7 of: base: Fix some formatting issues and provide missing descriptions
| * 7db515e82a platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi code
| * 5fe052b8fa platform/x86: asus-wmi: Simplify tablet-mode-switch handling
| * a113da7590 platform/x86: asus-wmi: Simplify tablet-mode-switch probing
| * 68b795d040 platform/x86: asus-wmi: Add support for ROG X13 tablet mode
| * 97620a08fc platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum
| * ada7c5cc69 asus-wmi: Add dgpu disable method
| * 3a8fc16d5e platform/x86: asus-nb-wmi: Add tablet_mode_sw=lid-flip quirk for the TP200s
| * 79b8633820 platform/x86: asus-nb-wmi: Allow configuring SW_TABLET_MODE method with a module option
| * 9a861dde99 platform/x86: asus-wmi: Add support for SW_TABLET_MODE on UX360
| * 13b1fa5407 drm/amdgpu: correct chunk_ptr to a pointer to chunk.
| * 8887047de3 kconfig: fix memory leak from range properties
| * 96d5541430 tg3: Increment tx_dropped in tg3_tso_bug()
| * 9068403d94 tg3: Move the [rt]x_dropped counters to tg3_napi
| * e7152a138a netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test
| * 348111c3be i2c: designware: Fix corrupted memory seen in the ISR
| * 7f4c89400d hrtimers: Push pending hrtimers away from outgoing CPU earlier
* | 70b6573bf9 Revert "mmc: core: add helpers mmc_regulator_enable/disable_vqmmc"
* | 8b5d58d51f Revert "mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled"
* | 4a3e1eda87 Revert "driver core: Move the "removable" attribute from USB to core"
* | 51753f2409 Revert "drm/amdgpu: don't use ATRM for external devices"
* | 4b7ed9373a Revert "HID: core: store the unique system identifier in hid_device"
* | b8a7e36e04 Revert "HID: fix HID device resource race between HID core and debugging support"
* | 84f9dd98b7 Revert "wireguard: use DEV_STATS_INC()"
* | bdd8d64f36 Merge 5.10.203 into android12-5.10-lts
|\|
| * d330ef1d29 Linux 5.10.203
| * 9c957e2b52 driver core: Release all resources during unbind before updating device links
| * 2325d3b6b1 r8169: fix deadlock on RTL8125 in jumbo mtu mode
| * b29e6055db r8169: disable ASPM in case of tx timeout
| * 8b76708eb9 mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled
| * b532bc9b73 mmc: core: add helpers mmc_regulator_enable/disable_vqmmc
| * 376fabe367 mmc: block: Retry commands in CQE error recovery
| * bf62a283a7 mmc: core: convert comma to semicolon
| * bb78501184 mmc: cqhci: Fix task clearing in CQE error recovery
| * cb9ca7cc27 mmc: cqhci: Warn of halt or task clear failure
| * e94ededefc mmc: cqhci: Increase recovery halt timeout
| * 2011f06e32 cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
| * 6b35f36ff8 cpufreq: imx6q: don't warn for disabling a non-existing frequency
| * 910566a789 scsi: qla2xxx: Fix system crash due to bad pointer access
| * 46a4bf1350 scsi: qla2xxx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
| * b19fe82b4b scsi: core: Introduce the scsi_cmd_to_rq() function
| * c2b6f7e48e smb3: fix caching of ctime on setxattr
| * f9aa2857c6 fs: add ctime accessors infrastructure
| * 8d4237a149 drm/amdgpu: don't use ATRM for external devices
| * 2df04d76c9 driver core: Move the "removable" attribute from USB to core
| * 01fbfcd810 ima: annotate iint mutex to avoid lockdep false positive warnings
| * 8a3322a35f fbdev: stifb: Make the STI next font pointer a 32-bit signed offset
| * 15bc430fc1 misc: pci_endpoint_test: Add deviceID for J721S2 PCIe EP device support
| * a6128ad787 misc: pci_endpoint_test: Add deviceID for AM64 and J7200
| * c922282d11 s390/cmma: fix detection of DAT pages
| * 03e07092c6 s390/mm: fix phys vs virt confusion in mark_kernel_pXd() functions family
| * cb420e3557 ASoC: SOF: sof-pci-dev: Fix community key quirk detection
| * b37e1fbe6d ASoC: SOF: sof-pci-dev: don't use the community key on APL Chromebooks
| * 3a79fcb743 ASoC: SOF: sof-pci-dev: add parameter to override topology filename
| * 4aeb3320d7 ASoC: SOF: sof-pci-dev: use community key on all Up boards
| * 6368a32d26 ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header
| * 8e52b19d92 smb3: fix touch -h of symlink
| * 889c84e2b2 net: ravb: Start TX queues after HW initialization succeeded
| * 5d428cda38 net: ravb: Use pm_runtime_resume_and_get()
| * f78d0f3013 ravb: Fix races between ravb_tx_timeout_work() and net related ops
| * a36e00e957 r8169: prevent potential deadlock in rtl8169_close
| * 8a909c1198 Revert "workqueue: remove unused cancel_work()"
| * 72ce3379cd octeontx2-pf: Fix adding mbox work queue entry when num_vfs > 64
| * ef7af2105a net: stmmac: xgmac: Disable FPE MMC interrupts
| * f18bcace12 selftests/net: mptcp: fix uninitialized variable warnings
| * cb1644f9f0 selftests/net: ipsec: fix constant out of range
| * fe7fd9c209 dpaa2-eth: increase the needed headroom to account for alignment
| * 772fe1da9a ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet
| * 9ef94ec8e5 usb: config: fix iteration issue in 'usb_get_bos_descriptor()'
| * 713530d3c8 USB: core: Change configuration warnings to notices
| * ae6e41066e hv_netvsc: fix race of netvsc and VF register_netdevice
| * 4937fb36bb Input: xpad - add HyperX Clutch Gladiate Support
| * 5c4d5c8556 btrfs: make error messages more clear when getting a chunk map
| * 74ff16c844 btrfs: send: ensure send_fd is writable
| * 12a0ec5ed7 btrfs: fix off-by-one when checking chunk map includes logical address
| * baaab02a8c btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod()
| * 2d6c2238ac btrfs: add dmesg output for first mount and last unmount of a filesystem
| * bab9cec493 parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes
| * b53dc7c766 powerpc: Don't clobber f0/vs0 during fp|altivec register save
| * b5cbbc2b2d iommu/vt-d: Add MTL to quirk list to skip TE disabling
| * f62ceb880a bcache: revert replacing IS_ERR_OR_NULL with IS_ERR
| * 18ac427906 dm verity: don't perform FEC for failed readahead IO
| * c3c9f92738 dm-verity: align struct dm_verity_fec_io properly
| * 5de40a7ffa ALSA: hda/realtek: Add supported ALC257 for ChromeOS
| * cf80c53806 ALSA: hda/realtek: Headset Mic VREF to 100%
| * f338f738d7 ALSA: hda: Disable power-save on KONTRON SinglePC
| * b02b66194d mmc: block: Do not lose cache flush during CQE error recovery
| * 71c9fb31e1 firewire: core: fix possible memory leak in create_units()
| * d6bac7048f pinctrl: avoid reload of p state in list iteration
| * 8fb79be6e9 io_uring: fix off-by one bvec index
| * f5f85ea5bb USB: dwc3: qcom: fix wakeup after probe deferral
| * 5ac96667ea usb: dwc3: set the dma max_seg_size
| * 2620c5977f usb: dwc3: Fix default mode initialization
| * d5325ed6eb USB: dwc2: write HCINT with INTMASK applied
| * 5d7a5e63dc USB: serial: option: don't claim interface 4 for ZTE MF290
| * f1432dff5d USB: serial: option: fix FM101R-GL defines
| * 14a6e089d6 USB: serial: option: add Fibocom L7xx modules
| * f49ad460a2 bcache: fixup lock c->root error
| * be327b8f76 bcache: fixup init dirty data errors
| * 3ebf83df62 bcache: prevent potential division by zero error
| * e74c2e6fec bcache: check return value from btree_node_alloc_replacement()
| * c73dd8f4b4 dm-delay: fix a race between delay_presuspend and delay_bio
| * a70b6da7c6 hv_netvsc: Mark VF as slave before exposing it to user-mode
| * ff6c130e48 hv_netvsc: Fix race of register_netdevice_notifier and VF register
| * 518ef82501 USB: serial: option: add Luat Air72*U series products
| * c841de6247 s390/dasd: protect device queue against concurrent access
| * 89f9ba7ee7 bcache: fixup multi-threaded bch_sectors_dirty_init() wake-up race
| * cd7a069590 bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in btree_gc_coalesce()
| * be8af3b6c8 swiotlb-xen: provide the "max_mapping_size" method
| * 8c4b5cc908 ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CVA
| * 0f312dc1eb ASoC: simple-card: fixup asoc_simple_probe() error handling
| * fcc60c0a18 nfsd: lock_rename() needs both directories to live on the same fs
| * ec75d1d0cd ext4: make sure allocate pending entry not fail
| * 10341e77e4 ext4: fix slab-use-after-free in ext4_es_insert_extent()
| * 5527898c6a ext4: using nofail preallocation in ext4_es_insert_extent()
| * 2ae2be6e7c ext4: using nofail preallocation in ext4_es_insert_delayed_block()
| * aa6568033c ext4: using nofail preallocation in ext4_es_remove_extent()
| * 608758ef86 ext4: use pre-allocated es in __es_remove_extent()
| * fcb07d8ea3 ext4: use pre-allocated es in __es_insert_extent()
| * 0cc7653887 ext4: factor out __es_alloc_extent() and __es_free_extent()
| * 8234c1c690 ext4: add a new helper to check if es must be kept
| * 62526a55fe MIPS: KVM: Fix a build warning about variable set but not used
| * 3b2e8b30b0 media: ccs: Correctly initialise try compose rectangle
| * 1301467cbe lockdep: Fix block chain corruption
| * cbfa5aadd6 USB: dwc3: qcom: fix ACPI platform device leak
| * 68fe711312 USB: dwc3: qcom: fix resource leaks on probe deferral
| * 2be451e7a2 nvmet: nul-terminate the NQNs passed in the connect command
| * 86a7f67d76 nvmet: remove unnecessary ctrl parameter
| * d24a18cb51 afs: Fix file locking on R/O volumes to operate in local mode
| * 6e48c3175d afs: Return ENOENT if no cell DNS record can be found
| * 497e9b0b21 net: axienet: Fix check for partial TX checksum
| * 8fb804dabd amd-xgbe: propagate the correct speed and duplex status
| * b7c9e8c038 amd-xgbe: handle the corner-case during tx completion
| * a2e868ad07 amd-xgbe: handle corner-case during sfp hotplug
| * ebc7fbd15a arm/xen: fix xen_vcpu_info allocation alignment
| * 5ada292b5c net/smc: avoid data corruption caused by decline
| * 3ae55e3a37 net: usb: ax88179_178a: fix failed operations during ax88179_reset
| * 27914bff96 ipv4: Correct/silence an endian warning in __ip_do_redirect
| * f8467afa75 HID: fix HID device resource race between HID core and debugging support
| * 2f0ea5e094 HID: core: store the unique system identifier in hid_device
| * 650e43dfe7 drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full
| * cc3b63c089 ata: pata_isapnp: Add missing error check for devm_ioport_map()
| * 9942c19483 wireguard: use DEV_STATS_INC()
| * 939352ad65 drm/panel: simple: Fix Innolux G101ICE-L01 timings
| * a5e82e345f drm/panel: simple: Fix Innolux G101ICE-L01 bus flags
| * 60660af957 drm/panel: auo,b101uan08.3: Fine tune the panel power sequence
| * 2c688ae2dd drm/panel: boe-tv101wum-nl6: Fine tune the panel power sequence
| * 3b797242d1 afs: Make error on cell lookup failure consistent with OpenAFS
| * dbc1929a52 afs: Fix afs_server_list to be cleaned up with RCU
| * c3bead2f8f PCI: keystone: Drop __init from ks_pcie_add_pcie_{ep,port}()
| * ac65f8979b RDMA/irdma: Prevent zero-length STAG registration
* | 76b525ba59 ANDROID: Fix up ipvlan merge in 5.10.202
* | f6509591ff Revert "ASoC: soc-card: Add storage for PCI SSID"
* | 2e1e5e63dd Revert "tracing: Have trace_event_file have ref counters"
* | 7999a9a70d Merge 5.10.202 into android12-5.10-lts
|\|
| * 479e8b8925 Linux 5.10.202
| * 610057f4f6 interconnect: qcom: Add support for mask-based BCMs
| * 7ce66afcaa netfilter: nf_tables: disable toggling dormant table state more than once
| * d9c4da8cb7 netfilter: nf_tables: fix table flag updates
| * 7d1d3f1134 netfilter: nftables: update table flags from the commit phase
| * a98172e36e tracing: Have trace_event_file have ref counters
| * c6e8af2a8a io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
| * aeeb1ad2dd drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox
| * e2bdd43788 drm/amdgpu: fix error handling in amdgpu_bo_list_get()
| * dfa8e63ca5 drm/amd/pm: Handle non-terminated overdrive commands.
| * 7dc933b4b4 ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
| * 0932764fb5 ext4: correct the start block of counting reserved clusters
| * 3c1ad03a5f ext4: correct return value of ext4_convert_meta_bg
| * d739a7e389 ext4: correct offset of gdb backup in non meta_bg group to update_backups
| * c878db71ed ext4: apply umask if ACL support is disabled
| * 3a51aee542 Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
| * f6e014b5eb media: qcom: camss: Fix vfe_get() error jump
| * e2d2e26608 mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors
| * 6875820f36 nfsd: fix file memleak on client_opens_release
| * b51b20c018 media: venus: hfi: add checks to handle capabilities from firmware
| * bcee276a1e media: venus: hfi: fix the check to handle session buffer requirement
| * da240b7bad media: venus: hfi_parser: Add check to keep the number of codecs within range
| * 0f887306bd media: sharp: fix sharp encoding
| * dfa9f4ea65 media: lirc: drop trailing space from scancode transmit
| * c041f5ddef f2fs: avoid format-overflow warning
| * 829f0d5231 i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
| * 430603f6de net: phylink: initialize carrier state at creation
| * 4dc0484e90 net: dsa: lan9303: consequently nested-lock physical MDIO
| * cb1006640c i2c: designware: Disable TX_EMPTY irq while waiting for block length byte
| * 8e29eebe4c lsm: fix default return value for inode_getsecctx
| * 8327f50442 lsm: fix default return value for vm_enough_memory
| * a011391f01 Revert ncsi: Propagate carrier gain/loss events to the NCSI controller
| * 969d994612 arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size
| * 2b3931eb8e arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
| * bdda1c356d PCI: exynos: Don't discard .remove() callback
| * 62d15b6a6e Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
| * dbbf3c4560 Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables
| * 990d4c76d2 bluetooth: Add device 13d3:3571 to device tables
| * 3aba34baa4 bluetooth: Add device 0bda:887b to device tables
| * 0952747362 Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559
| * 8617305611 cpufreq: stats: Fix buffer overflow detection in trans_stats()
| * 2ed25af15b tty: serial: meson: fix hard LOCKUP on crtscts mode
| * 07c6183958 serial: meson: Use platform_get_irq() to get the interrupt
| * 980c3135f1 tty: serial: meson: retrieve port FIFO size from DT
| * 1e66cd4083 serial: meson: remove redundant initialization of variable id
| * ba30578def ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
| * ddd47d8d1b ALSA: hda/realtek - Add Dell ALC295 to pin fall back table
| * a681d28b97 ALSA: info: Fix potential deadlock at disconnection
| * f04fa1e199 xhci: Enable RPM on controllers that support low-power states
| * 5e34fe50a9 parisc/pgtable: Do not drop upper 5 address bits of physical address
| * 064c697cac parisc: Prevent booting 64-bit kernels on PA1.x machines
| * c6effcdd7d i3c: master: cdns: Fix reading status register
| * 76320f05b9 mtd: cfi_cmdset_0001: Byte swap OTP info
| * dce3e7c400 mm/memory_hotplug: use pfn math in place of direct struct page manipulation
| * 63d2023fbb mm/cma: use nth_page() in place of direct struct page manipulation
| * d24340f081 dmaengine: stm32-mdma: correct desc prep when channel running
| * 788322e1ed mcb: fix error handling for different scenarios when parsing
| * 25284c46b6 i2c: core: Run atomic i2c xfer when !preemptible
| * 8f8fc95b3a kernel/reboot: emergency_restart: Set correct system_state
| * 9386f59759 quota: explicitly forbid quota files from being encrypted
| * f729cf6f32 jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
| * db5ebaeb8f PCI: keystone: Don't discard .probe() callback
| * 2bcdc1b6b6 PCI: keystone: Don't discard .remove() callback
| * 943347e53a genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
| * b2c194fe8f mmc: meson-gx: Remove setting of CMD_CFG_ERROR
| * 03ed26935b wifi: ath11k: fix htt pktlog locking
| * f882f51905 wifi: ath11k: fix dfs radar event locking
| * c3f61ca486 wifi: ath11k: fix temperature event locking
| * cd5a262a07 ima: detect changes to the backing overlay file
| * df4133ebc8 firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit
| * 76211f1dd9 btrfs: don't arbitrarily slow down delalloc if we're committing
| * 175f4b062f rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects
| * 3c1c1af25d PM: hibernate: Clean up sync_read handling in snapshot_write_next()
| * df8363e468 PM: hibernate: Use __get_safe_page() rather than touching the list
| * 21bc829337 arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM
| * 1fd46d3277 PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common()
| * e3ed58ee4e mmc: sdhci_am654: fix start loop index for TAP value parsing
| * 198366a5ff mmc: vub300: fix an error code
| * 3a4431014c clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks
| * 30af31fc00 clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
| * 8dc83cf762 parisc/pdc: Add width field to struct pdc_model
| * d08a1e7525 arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
| * 61695b9aec ACPI: resource: Do IRQ override on TongFang GMxXGxx
| * 6edbd6b481 watchdog: move softlockup_panic back to early_param
| * 85fe64c8dc PCI/sysfs: Protect driver's D3cold preference from user space
| * 1b08362429 hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
| * d5455c421f hvc/xen: fix console unplug
| * a158a74e70 tty/sysrq: replace smp_processor_id() with get_cpu()
| * fc557bcfd7 audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
| * 121973ef1a audit: don't take task_lock() in audit_exe_compare() code path
| * 910caee346 KVM: x86: Ignore MSR_AMD64_TW_CFG access
| * 66406d49ac KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space
| * 8cf6b66585 x86/cpu/hygon: Fix the CPU topology evaluation for real
| * 243c4833f3 scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers
| * 697bc325b9 scsi: mpt3sas: Fix loop logic
| * 5fb8ec5943 bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
| * 9617a9fe4f bpf: Fix check_stack_write_fixed_off() to correctly spill imm
| * 7975f7b2a6 randstruct: Fix gcc-plugin performance mode to stay in group
| * d83f4bc0a4 powerpc/perf: Fix disabling BHRB and instruction sampling
| * e7de8ffbbb media: venus: hfi: add checks to perform sanity on queue pointers
| * 99dbc39c22 cifs: fix check of rc in function generate_smb3signingkey
| * e5a0ef0282 cifs: spnego: add ';' in HOST_KEY_LEN
| * 6d388b641c tools/power/turbostat: Fix a knl bug
| * f56e228d67 macvlan: Don't propagate promisc change to lower dev in passthru
| * ac4979dbd9 net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors
| * a3ce491b17 net/mlx5_core: Clean driver version and name
| * 0eaec8126b net/mlx5e: fix double free of encap_header
| * 541fece7ca net: stmmac: fix rx budget limit check
| * 66dbaa2eec netfilter: nf_conntrack_bridge: initialize err to 0
| * 3f64315056 net: ethernet: cortina: Fix MTU max setting
| * eac9ef50d6 net: ethernet: cortina: Handle large frames
| * f0d9b80f76 net: ethernet: cortina: Fix max RX frame define
| * 396baca668 bonding: stop the device in bond_setup_by_slave()
| * 1f368fd612 ptp: annotate data-race around q->head and q->tail
| * ecc74e7acb xen/events: fix delayed eoi list handling
| * 144a80ef40 ppp: limit MRU to 64K
| * 3ee249a3b9 tipc: Fix kernel-infoleak due to uninitialized TLV value
| * 072f0eb962 net: hns3: fix VF reset fail issue
| * b0eac93bae net: hns3: fix variable may not initialized problem in hns3_init_mac_addr()
| * 48fa8a85f8 tty: Fix uninit-value access in ppp_sync_receive()
| * 43b781e7cb ipvlan: add ipvlan_route_v6_outbound() helper
| * 59fadfa99b gfs2: Silence "suspicious RCU usage in gfs2_permission" warning
| * dedf2a0eb9 SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
| * 39b2bf0405 NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
| * 37f3aaf794 SUNRPC: Add an IS_ERR() check back to where it was
| * c7eacf01dd SUNRPC: ECONNRESET might require a rebind
| * 4ea3b98fa6 xhci: turn cancelled td cleanup to its own function
| * 6ebd42a7b7 wifi: iwlwifi: Use FW rate for non-data frames
| * e52518b9cb pwm: Fix double shift bug
| * 53b2393eeb drm/amdgpu: fix software pci_unplug on some chips
| * f1ea84696e ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
| * 3cfacacb9c kgdb: Flush console before entering kgdb on panic
| * 79b6a90f4f drm/amd/display: Avoid NULL dereference of timing generator
| * 0f5068519f media: imon: fix access to invalid resource for the second interface
| * cf8519f40c media: cobalt: Use FIELD_GET() to extract Link Width
| * 5f8d51a04b gfs2: fix an oops in gfs2_permission
| * 2a054b87a1 gfs2: ignore negated quota changes
| * 0ac2652b96 media: vivid: avoid integer overflow
| * c6b6b86922 media: gspca: cpia1: shift-out-of-bounds in set_flicker
| * 90e3c3dd93 i2c: sun6i-p2wi: Prevent potential division by zero
| * 18fa7a30cd 9p/trans_fd: Annotate data-racy writes to file::f_flags
| * 76716a7604 usb: gadget: f_ncm: Always set current gadget in ncm_bind()
| * 4ef41a7f33 tty: vcc: Add check for kstrdup() in vcc_probe()
| * 484cc536a3 exfat: support handle zero-size directory
| * 491529d383 HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
| * 65d78d54e4 misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
| * bb83f79f90 scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
| * 5cebe796ea atm: iphase: Do PCI error checks on own line
| * 6549196836 PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields
| * 25354bae4f ALSA: hda: Fix possible null-ptr-deref when assigning a stream
| * e0d739e66b ARM: 9320/1: fix stack depot IRQ stack filter
| * 62d21f9df4 HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround
| * 1ba7df5457 jfs: fix array-index-out-of-bounds in diAlloc
| * 81aa58cd84 jfs: fix array-index-out-of-bounds in dbFindLeaf
| * c6c8863fb3 fs/jfs: Add validity check for db_maxag and db_agpref
| * 524b4f203a fs/jfs: Add check for negative db_l2nbperpage
| * 885824a44d RDMA/hfi1: Use FIELD_GET() to extract Link Width
| * e97bf4ada7 crypto: pcrypt - Fix hungtask for PADATA_RESET
| * 98fa52d89a ASoC: soc-card: Add storage for PCI SSID
| * f161a6b11a selftests/efivarfs: create-read: fix a resource leak
| * f475d5502f drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
| * da1409ea08 drm/panel: st7703: Pick different reset sequence
| * 9acc2bc001 drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference
| * c7dc0aca59 drm/panel: fix a possible null pointer dereference
| * b93a25de28 drm/amdgpu: Fix potential null pointer derefernce
| * 8c1dbddbfc drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
| * 8af28ae3ac drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
| * 4ffb2b0e48 drm/msm/dp: skip validity check for DP CTS EDID checksum
| * 2810a9c40b drm/komeda: drop all currently held locks if deadlock happens
| * a70457f181 platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
| * 53d61daf35 Bluetooth: Fix double free in hci_conn_cleanup
| * 9f8e4d1a4c Bluetooth: btusb: Add date->evt_skb is NULL check
| * bba97f5e8f wifi: ath10k: Don't touch the CE interrupt registers after power up
| * 22fa35ded3 net: annotate data-races around sk->sk_dst_pending_confirm
| * 67b7de95d1 net: annotate data-races around sk->sk_tx_queue_mapping
| * beb75dccba wifi: ath10k: fix clang-specific fortify warning
| * 2d6303cafb wifi: ath9k: fix clang-specific fortify warnings
| * 6058e48296 bpf: Detect IP == ksym.end as part of BPF program
| * 717de20abd wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
| * cdfc689e10 wifi: mac80211_hwsim: fix clang-specific fortify warning
| * a7aa2f1ca8 x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
| * 89356bee8e clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
| * 1b8687ed3c clocksource/drivers/timer-imx-gpt: Fix potential memory leak
| * 1a2a4202c6 perf/core: Bail out early if the request AUX area is out of bound
| * 9ed2d68b39 locking/ww_mutex/test: Fix potential workqueue corruption
* | 39feca3943 UPSTREAM: interconnect: qcom: Add support for mask-based BCMs
* | 53595e1cbf Revert "ipvlan: properly track tx_errors"
* | ddeac706a1 Revert "inet: shrink struct flowi_common"
* | 8f05c3a256 Revert "arm64/arm: xen: enlighten: Fix KPTI checks"
* | c02da4e692 Revert "mfd: core: Un-constify mfd_cell.of_reg"
* |   195858a508 Merge "Merge 5.10.201 into android12-5.10-lts" into android12-5.10-lts
|\ \
| * | cf3a19d56e Merge 5.10.201 into android12-5.10-lts
| |\|
| | * 6db6caba87 Linux 5.10.201
| | * 4be0407ffc btrfs: use u64 for buffer sizes in the tree search ioctls
| | * 2bbbb976fa Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
| | * 3b092dfdab tracing/kprobes: Fix the order of argument descriptions
| | * 3697fda1c6 fbdev: fsl-diu-fb: mark wr_reg_wa() static
| | * a4dfebec32 fbdev: imsttfb: fix a resource leak in probe
| | * 9e8e731571 fbdev: imsttfb: Fix error path of imsttfb_probe()
| | * de721d7ef7 spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
| | * 876a119790 drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE
| | * b9bc1806b9 x86/sev-es: Allow copy_from_kernel_nofault() in earlier boot
| | * 14042d6d80 x86: Share definition of __is_canonical_address()
| | * bc794a667b netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses
| | * b65d851b2e netfilter: nft_redir: use `struct nf_nat_range2` throughout and deduplicate eval call-backs
| | * 7764290452 netfilter: xt_recent: fix (increase) ipv6 literal buffer length
| | * 00b1882091 r8169: respect userspace disabling IFF_MULTICAST
| | * e02824db7c tg3: power down device only on SYSTEM_POWER_OFF
| | * 34c5a24633 net/smc: put sk reference if close work was canceled
| | * f652ab15af net/smc: allow cdc msg send rather than drop it with NULL sndbuf_desc
| | * 4e7bad7301 net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT
| | * 13d6bc35de net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs
| | * eafacef7ee Fix termination state for idr_for_each_entry_ul()
| | * 0a84ffc72f net: r8169: Disable multicast filter for RTL8168H and RTL8107E
| | * 4969fcebe7 dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses.
| | * 7827667989 dccp: Call security_inet_conn_request() after setting IPv4 addresses.
| | * f830d4f698 inet: shrink struct flowi_common
| | * b33d130f07 tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING
| | * ddf4e04e94 hsr: Prevent use after free in prp_create_tagged_frame()
| | * 3a2653828f llc: verify mac len before reading mac header
| | * 6c71e065be Input: synaptics-rmi4 - fix use after free in rmi_unregister_function()
| | * e5d481d9b6 pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
| | * 005965cab1 pwm: sti: Reduce number of allocations and drop usage of chip_data
| | * ce5e0a3c9d pwm: sti: Avoid conditional gotos
| | * 0bc796e66b regmap: prevent noinc writes from clobbering cache
| | * 1b86938925 media: dvb-usb-v2: af9035: fix missing unlock
| | * 2e2efaed79 media: cedrus: Fix clock/reset sequence
| | * 64863ba8e6 media: vidtv: mux: Add check and kfree for kstrdup
| | * 3387490c89 media: vidtv: psi: Add check for kstrdup
| | * 62557ab73d media: s3c-camif: Avoid inappropriate kfree()
| | * 2f3d9198cd media: bttv: fix use after free error due to btv->timeout timer
| | * 0627e8623e media: i2c: max9286: Fix some redundant of_node_put() calls
| | * c3e148aba9 pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
| | * 84540ef924 pcmcia: ds: fix refcount leak in pcmcia_device_add()
| | * cd154225d4 pcmcia: cs: fix possible hung task and memory leak pccardd()
| | * 5e3c751586 rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
| | * 1832ed55df i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs
| | * a83fc293ac perf hist: Add missing puts to hist__account_cycles
| | * 4e66bde5c7 perf machine: Avoid out of bounds LBR memory read
| | * 188425eb2d usb: host: xhci-plat: fix possible kernel oops while resuming
| | * ba894bd273 xhci: Loosen RPM as default policy to cover for AMD xHC 1.1
| | * ad0370c41a powerpc/pseries: fix potential memory leak in init_cpu_associativity()
| | * d12372af89 powerpc/imc-pmu: Use the correct spinlock initializer.
| | * c75707293d powerpc/xive: Fix endian conversion size
| | * f95f5512fd powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro
| | * b54a4c8ca1 modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host
| | * 362f0241db interconnect: qcom: sc7180: Set ACV enable_mask
| | * 08588fac00 interconnect: qcom: sc7180: Retire DEFINE_QBCM
| | * ebaf7a73f6 f2fs: fix to initialize map.m_pblk in f2fs_precache_extents()
| | * 758f735604 dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc()
| | * 5fe228041c USB: usbip: fix stub_dev hub disconnect
| | * 798692e48c tools: iio: iio_generic_buffer ensure alignment
| | * 3eadba0582 tools: iio: iio_generic_buffer: Fix some integer type and calculation
| | * a0a41991dd tools: iio: privatize globals and functions in iio_generic_buffer.c file
| | * d046e3f8de misc: st_core: Do not call kfree_skb() under spin_lock_irqsave()
| | * c53cfe99c2 dmaengine: ti: edma: handle irq_of_parse_and_map() errors
| | * bdb3dd4096 usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency
| | * 05de1536d0 livepatch: Fix missing newline character in klp_resolve_symbols()
| | * 3ebf42fe8c tty: tty_jobctrl: fix pid memleak in disassociate_ctty()
| | * 3808370526 leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu'
| | * 23eb8629c2 leds: pwm: Don't disable the PWM when the LED should be off
| | * c2766ed2b7 mfd: dln2: Fix double put in dln2_probe
| | * b708eb26b5 mfd: core: Ensure disabled devices are skipped without aborting
| | * 9f831533d2 mfd: core: Un-constify mfd_cell.of_reg
| | * b7b4851e63 ASoC: ams-delta.c: use component after check
| | * 41aad9d695 padata: Fix refcnt handling in padata_free_shell()
| | * 7606807bd6 padata: Convert from atomic_t to refcount_t on parallel_data->refcnt
| | * 2de16f6169 ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails
| | * 6fd432f392 HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event()
| | * 7581eef4ae HID: logitech-hidpp: Revert "Don't restart communication if not necessary"
| | * c82e376bc2 HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only
| | * 0fe443314c HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk
| | * 8337286600 Revert "HID: logitech-hidpp: add a module parameter to keep firmware gestures"
| | * 6d2de161cd sh: bios: Revive earlyprintk support
| | * 2ca51477c6 hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip
| | * 9c895d20f8 RDMA/hfi1: Workaround truncation compilation error
| | * cd268264f5 scsi: ufs: core: Leave space for '\0' in utf8 desc string
| | * cded69a7f8 ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe
| | * 1596394868 RDMA/hns: Fix signed-unsigned mixed comparisons
| | * 8018a3444e RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common()
| | * 08a246064d IB/mlx5: Fix rdma counter binding for RAW QP
| | * 53067926cd ASoC: fsl: mpc5200_dma.c: Fix warning of Function parameter or member not described
| | * 83eee515e4 ext4: move 'ix' sanity check to corrent position
| | * 67959b3626 ARM: 9321/1: memset: cast the constant byte to unsigned char
| | * 3d959406c8 hid: cp2112: Fix duplicate workqueue initialization
| | * 63e8e2ee58 crypto: qat - increase size of buffers
| | * a921d6b795 crypto: qat - mask device capabilities with soft straps
| | * 16f2033de0 crypto: caam/jr - fix Chacha20 + Poly1305 self test failure
| | * 727ba935d9 crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure
| | * b0e7a93573 nd_btt: Make BTT lanes preemptible
| | * efeaa2396e libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value
| | * ffb3483c4b hwrng: geode - fix accessing registers
| | * 02db438311 crypto: hisilicon/hpre - Fix a erroneous check after snprintf()
| | * 5176ebe6aa selftests/resctrl: Ensure the benchmark commands fits to its array
| | * b3768f0892 selftests/pidfd: Fix ksft print formats
| | * a0846b4c8e clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped
| | * bcc7d46fa4 firmware: ti_sci: Mark driver as non removable
| | * 5e5b85ea0f soc: qcom: llcc: Handle a second device without data corruption
| | * a44aa8d8a5 ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator
| | * 8bd7c8a9b8 arm64: dts: qcom: sdm845-mtp: fix WiFi configuration
| | * 4df18b233e arm64: dts: qcom: msm8916: Fix iommu local address range
| | * 1e17eab1a4 xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled
| | * bc714abe7d drm/rockchip: Fix type promotion bug in rockchip_gem_iommu_map()
| | * 666a4120dc arm64/arm: xen: enlighten: Fix KPTI checks
| | * 0dd40dca1e drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe()
| | * 6f710918df drm/mediatek: Fix iommu fault during crtc enabling
| | * c12f2eaeb3 drm/bridge: tc358768: Fix bit updates
| | * 1133e72cd8 drm/bridge: tc358768: Disable non-continuous clock mode
| | * c0d25ef81a drm/bridge: tc358768: Fix use of uninitialized variable
| | * 7b063c93be drm/radeon: possible buffer overflow
| | * a6d6769e2d drm/rockchip: vop: Fix call to crtc reset helper
| | * bb81430161 drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs
| | * 9899097b1f hwmon: (coretemp) Fix potentially truncated sysfs attribute name
| | * 7d870088db hwmon: (axi-fan-control) Fix possible NULL pointer dereference
| | * 060d54f090 hwmon: (axi-fan-control) Support temperature vs pwm points
| | * d426a2955e platform/x86: wmi: Fix opening of char device
| | * d222073733 platform/x86: wmi: remove unnecessary initializations
| | * 3433a69c00 platform/x86: wmi: Fix probe failure when failing to register WMI devices
| | * b16622d304 clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM
| | * 001e5def77 clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
| | * 4f861b6394 clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data
| | * 96e9544a0c clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data
| | * 81b1628611 clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
| | * 3994387ba3 clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data
| | * 2617aa8cea clk: mediatek: clk-mt6765: Add check for mtk_alloc_clk_data
| | * 55e5fd11a2 clk: npcm7xx: Fix incorrect kfree
| | * 0beaefa988 clk: ti: fix double free in of_ti_divider_clk_setup()
| | * acb535d750 clk: ti: change ti_clk_register[_omap_hw]() API
| | * 98c5012c11 clk: ti: Update component clocks to use ti_dt_clk_name()
| | * 1c4253252c clk: ti: Update pll and clockdomain clocks to use ti_dt_clk_name()
| | * 00c67e0aa7 clk: ti: Add ti_dt_clk_name() helper to use clock-output-names
| | * de33b367f8 clk: keystone: pll: fix a couple NULL vs IS_ERR() checks
| | * c07a0e2e93 spi: nxp-fspi: use the correct ioremap function
| | * d459cb4244 clk: linux/clk-provider.h: fix kernel-doc warnings and typos
| | * f28709097d clk: asm9260: use parent index to link the reference clock
| | * 8d03f7c580 clk: imx: imx8mq: correct error handling path
| | * c1bacea8a6 clk: imx: Select MXC_CLK for CLK_IMX8QXP
| | * a52c963d8d clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src
| | * c6919a1576 clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying num_parents
| | * 355a12fa1c clk: qcom: mmcc-msm8998: Fix the SMMU GDSC
| | * ba7f9695d5 clk: qcom: mmcc-msm8998: Set bimc_smmu_gdsc always on
| | * 97a6711744 clk: qcom: mmcc-msm8998: Don't check halt bit on some branch clks
| | * 05eebcd4bc clk: qcom: mmcc-msm8998: Add hardware clockgating registers to some clks
| | * 3181168e61 clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies
| | * 80836b5859 regmap: debugfs: Fix a erroneous check after snprintf()
| | * 9954a7f380 ipvlan: properly track tx_errors
| | * e897dcbd5f net: add DEV_STATS_READ() helper
| | * 98e8a5a370 ipv6: avoid atomic fragment on GSO packets
| | * dea8d9e571 ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
| | * 88be6453d7 tcp: fix cookie_init_timestamp() overflows
| | * 76894f305c chtls: fix tp->rcv_tstamp initialization
| | * d104f6cb41 r8169: fix rare issue with broken rx after link-down on RTL8125
| | * fdd4a3c20a r8169: use tp_to_dev instead of open code
| | * 3f795fb35c thermal: core: prevent potential string overflow
| | * ae681e5eff PM / devfreq: rockchip-dfi: Make pmu regmap mandatory
| | * d7a220bf6b can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on()
| | * 040f65c282 can: dev: can_restart(): don't crash kernel if carrier is OK
| | * 03d138b6b2 wifi: rtlwifi: fix EDCA limit set by BT coexistence
| | * d8f2e18d1d tcp_metrics: do not create an entry from tcp_init_metrics()
| | * 73999f29ab tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics()
| | * 37308a3926 tcp_metrics: add missing barriers on delete
| | * d203f9921a wifi: mt76: mt7603: rework/fix rx pse hang check
| | * 3068527d17 wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file()
| | * d44f88b20d net: spider_net: Use size_add() in call to struct_size()
| | * 9b8486fdad tipc: Use size_add() in calls to struct_size()
| | * 5f5aabbdc2 mlxsw: Use size_mul() in call to struct_size()
| | * f927d44696 gve: Use size_add() in call to struct_size()
| | * 2b46db3bb7 overflow: Implement size_t saturating arithmetic helpers
| | * 2f4b4eb58f tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed
| | * 0ca9fc8200 udp: add missing WRITE_ONCE() around up->encap_rcv
| | * 61e7961ff3 i40e: fix potential memory leaks in i40e_remove()
| | * 47479ed7fc genirq/matrix: Exclude managed interrupts in irq_matrix_allocated()
| | * bb166bdae1 pstore/platform: Add check for kstrdup
| | * 66f9969141 x86/boot: Fix incorrect startup_gdt_descr.size
| | * ffa4cc86e9 futex: Don't include process MM in futex key on no-MMU
| | * f525870516 x86/srso: Fix SBPB enablement for (possible) future fixed HW
| | * f49926b8d2 vfs: fix readahead(2) on block devices
| | * 9fe0f6b572 sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = 0
| | * bdb7de7ed5 iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user()
* | | ddf606c1f5 ANDROID: GKI: db845c: Update symbols list and ABI on rpmsg_register_device_override
|/ /
* | 0f780c28f9 ANDROID: fix up rpmsg_device ABI break
* | ef7075076a ANDROID: fix up platform_device ABI break
* | bdc373d185 Revert "kasan: print the original fault addr when access invalid shadow"
* | 9cba6b5683 Merge 5.10.200 into android12-5.10-lts
|\|
| * 3e55583405 Linux 5.10.200
| * a5feaf7659 ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection
| * 9109649559 tty: 8250: Add support for Intashield IS-100
| * 73bcb4d449 tty: 8250: Add support for Brainboxes UP cards
| * 119f38e8ca tty: 8250: Add support for additional Brainboxes UC cards
| * a8bf6f6218 tty: 8250: Remove UC-257 and UC-431
| * e705aee2a6 usb: raw-gadget: properly handle interrupted requests
| * 8e0324f2cb usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility
| * 747b8f8779 PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
| * deddf60c27 can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior
| * 8716c28f69 can: isotp: isotp_bind(): do not validate unused address information
| * e4c4e0e1b2 can: isotp: add local echo tx processing and tx without FC
| * 569c95b7ec can: isotp: handle wait_event_interruptible() return values
| * de3c02383a can: isotp: check CAN address family in isotp_bind()
| * 0386f37047 can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting
| * 93b1e3f3a2 can: isotp: set max PDU size to 64 kByte
| * 7adbc048d8 can: isotp: Add error message if txqueuelen is too small
| * 57798a2cfe can: isotp: add symbolic error message to isotp_module_init()
| * 186ab56451 can: isotp: change error format from decimal to symbolic error names
| * b881ce6c7d powerpc/mm: Fix boot crash with FLATMEM
| * 1b285a1bfb net: chelsio: cxgb4: add an error code check in t4_load_phy_fw
| * 955a1105ee platform/mellanox: mlxbf-tmfifo: Fix a warning message
| * 268ec38b79 scsi: mpt3sas: Fix in error path
| * abf9c78118 fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit()
| * ec45886637 ASoC: rt5650: fix the wrong result of key button
| * c683d8b641 netfilter: nfnetlink_log: silence bogus compiler warning
| * 66cc633fc6 spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0
| * 6f9093b6f8 fbdev: atyfb: only use ioremap_uc() on i386 and ia64
| * ead3c123a7 Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport
| * fb8f253b95 dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe
| * e619b38a87 irqchip/stm32-exti: add missing DT IRQ flag translation
| * d151fb8019 net: sched: cls_u32: Fix allocation size in u32_init()
| * 9ade01b294 x86: Fix .brk attribute in linker script
| * 3fdd5b2bb0 rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
| * 41c13a571d rpmsg: glink: Release driver_override
| * 5f1bb9f4d4 rpmsg: Fix calling device_lock() on non-initialized device
| * 5bbd3469a4 rpmsg: Fix kfree() of static memory on setting driver_override
| * d0208fb38f rpmsg: Constify local variable in field store macro
| * da369d3996 driver: platform: Add helper for safer setting of driver_override
| * 4a20f5ea62 objtool/x86: add missing embedded_insn check
| * 6b977a7323 ext4: avoid overlapping preallocations due to overflow
| * 58fe961c60 ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow
| * c0db17e55f ext4: add two helper functions extent_logical_end() and pa_logical_end()
| * c761d34a7e x86/mm: Fix RESERVE_BRK() for older binutils
| * 01a5e17e3e x86/mm: Simplify RESERVE_BRK()
| * 571ce7d944 f2fs: fix to do sanity check on inode type during garbage collection
| * d1c37e849f smbdirect: missing rc checks while waiting for rdma events
| * b2e62728b1 kobject: Fix slab-out-of-bounds in fill_kobj_path()
| * b9b197f659 x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility
| * 62184eb778 iio: adc: xilinx-xadc: Don't clobber preset voltage/temperature thresholds
| * e96eb8853f iio: adc: xilinx: use more devres helpers and remove remove()
| * 0eb1198fe4 iio: adc: xilinx: use devm_krealloc() instead of kfree() + kcalloc()
| * c4b496c9f7 iio: adc: xilinx: use helper variable for &pdev->dev
| * d8928befff clk: Sanitize possible_parent_show to Handle Return Value of of_clk_get_parent_name
| * 09ce0d85cc sparc32: fix a braino in fault handling in csum_and_copy_..._user()
| * 0258ca32b0 perf/core: Fix potential NULL deref
| * 4e3c606afa nvmem: imx: correct nregs for i.MX6UL
| * 37ccf15ebe nvmem: imx: correct nregs for i.MX6SLL
| * 7a1c29e93c nvmem: imx: correct nregs for i.MX6ULL
| * d44166341f misc: fastrpc: Clean buffers on remote invocation failures
| * 866838eb8e tracing/kprobes: Fix the description of variable length arguments
| * ca764116b5 i2c: aspeed: Fix i2c bus hang in slave read
| * 18c5167d04 i2c: stm32f7: Fix PEC handling in case of SMBUS transfers
| * 80416f6ba0 i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node()
| * 9a9ead53e7 i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node()
| * 3cb69f1dbc i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node()
| * 0c8587fec9 iio: exynos-adc: request second interupt only when touchscreen mode is used
| * 632c2199e5 kasan: print the original fault addr when access invalid shadow
| * be9e6f51ba i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR
| * fe65fc90e9 gtp: fix fragmentation needed check with gso
| * 3ae8b75fce gtp: uapi: fix GTPA_MAX
| * 4d0d5e54b5 tcp: fix wrong RTO timeout when received SACK reneging
| * e0308c7939 r8152: Release firmware if we have an error in probe
| * 17b455747b r8152: Cancel hw_phy_work if we have an error in probe
| * 7dc907d855 r8152: Run the unload routine if we have errors during probe
| * 704c25fc6a r8152: Increase USB control msg timeout to 5000ms as per spec
| * 79e2610efc net: usb: smsc95xx: Fix uninit-value access in smsc95xx_read_reg
| * d9864e589f net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show()
| * 634c72adc8 igc: Fix ambiguity in the ethtool advertising
| * 1e628189a2 neighbour: fix various data-races
| * 77c4f14f95 igb: Fix potential memory leak in igb_add_ethtool_nfc_entry
| * 1ac4f8e555 treewide: Spelling fix in comment
| * 5eab293b1c r8169: fix the KCSAN reported data race in rtl_rx while reading desc->opts1
| * 13d357d9f2 r8169: fix the KCSAN reported data-race in rtl_tx while reading TxDescArray[entry].opts1
| * 31c31a78dc drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper()
| * 957ec0823a mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL
| * 3ab81820bf mm/page_alloc: correct start page when guard page debug is enabled
| * f2c0b571a5 virtio-mmio: fix memory leak of vm_dev
| * 8b857a93d6 virtio_balloon: Fix endless deflation and inflation on arm64
| * c88dd2aebf mcb-lpc: Reallocate memory region to avoid memory overlapping
| * 6976459c64 mcb: Return actual parsed size when reading chameleon table
| * 09bcf92548 selftests/ftrace: Add new test case which checks non unique symbol
* | 04c980352b Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
* | b4e242de09 Revert "usb: core: Track SuperSpeed Plus GenXxY"
* | 87c1e3677d Revert "drm/connector: Add a fwnode pointer to drm_connector and register with ACPI (v2)"
* | 8fd816f563 Revert "drm/connector: Add drm_connector_find_by_fwnode() function (v3)"
* | 1a01b7e512 Revert "drm/connector: Add support for out-of-band hotplug notification (v3)"
* | 2f382c6d12 Revert "usb: typec: altmodes/displayport: Notify drm subsys of hotplug events"
* | 5653e77e8e Revert "usb: typec: altmodes/displayport: Signal hpd low when exiting mode"
* | f04244ef53 Revert "ipv4/fib: send notify when delete source address routes"
* | 7957cd8ab1 Revert "net: add sysctl accept_ra_min_rtr_lft"
* | 935ac73a69 Revert "net: change accept_ra_min_rtr_lft to affect all RA lifetimes"
* | ea0ddd540d Revert "net: release reference to inet6_dev pointer"
* | 8af75db0da Revert "xfrm: fix a data-race in xfrm_gen_index()"
* | b78ecc11ea Revert "perf: Disallow mis-matched inherited group reads"
* | 5cc7b2b7f4 Revert "Bluetooth: hci_core: Fix build warnings"
* | 9cd7ac5dc5 Revert "xfrm: interface: use DEV_STATS_INC()"
* | 597c63c0dc ANDROID: GKI: arm64: drop CONFIG_DEBUG_PREEMPT forced disable
* | e04ba5f57f Merge 5.10.199 into android12-5.10-lts
|/
* cb49f0e441 Linux 5.10.199
* 657a3ca823 xfrm6: fix inet6_dev refcount underflow problem
* 5d5680755b Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name
* b423509bc9 Bluetooth: hci_sock: fix slab oob read in create_monitor_event
* 653c808023 phy: mapphone-mdm6600: Fix pinctrl_pm handling for sleep pins
* e9c20d3078 phy: mapphone-mdm6600: Fix runtime PM for remove
* f42634685e phy: mapphone-mdm6600: Fix runtime disable on probe
* 05e06fb6a6 ASoC: pxa: fix a memory leak in probe()
* 7e29dadf26 gpio: vf610: set value before the direction to avoid a glitch
* 6c3a72d4ae platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events
* 8fece0081b platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to 0x2e
* 3be044840e s390/pci: fix iommu bitmap allocation
* 487a8e2464 perf: Disallow mis-matched inherited group reads
* 550c70f72a USB: serial: option: add Fibocom to DELL custom modem FM101R-GL
* a39ea926ff USB: serial: option: add entry for Sierra EM9191 with new firmware
* 3fb223086d USB: serial: option: add Telit LE910C4-WWX 0x1035 composition
* d78d3e0d84 nvme-rdma: do not try to stop unallocated queues
* 6238faecf8 nvme-pci: add BOGUS_NID for Intel 0a54 device
* 9efa38fdca ACPI: irq: Fix incorrect return value in acpi_register_gsi()
* 9df654268a pNFS: Fix a hang in nfs4_evict_inode()
* c44e09a89a Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()"
* b26b0b8757 mmc: core: Capture correct oemid-bits for eMMC cards
* f4771efb06 mmc: core: sdio: hold retuning if sdio in 1-bit mode
* 2312fb7f3b mtd: physmap-core: Restore map_rom fallback
* 3a141424f8 mtd: spinand: micron: correct bitmask for ecc status
* 7682dae0a6 mtd: rawnand: arasan: Ensure program page operations are successful
* 875d17e452 mtd: rawnand: marvell: Ensure program page operations are successful
* 6224890ad0 mtd: rawnand: qcom: Unmap the right resource upon probe failure
* f707bc0a55 Bluetooth: hci_event: Fix using memcmp when comparing keys
* 3b6aa631df net/mlx5: Handle fw tracer change ownership event based on MTRC
* ead8131372 platform/x86: touchscreen_dmi: Add info for the Positivo C4128B
* fd12716327 HID: multitouch: Add required quirk for Synaptics 0xcd7e device
* 4e71ae53f1 btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
* 661b4ce3b5 drm: panel-orientation-quirks: Add quirk for One Mix 2S
* 5b7cae7c35 ipv4/fib: send notify when delete source address routes
* 21f85b026d sky2: Make sure there is at least one frag_addr available
* f06c3a50ef regulator/core: Revert "fix kobject release warning and memory leak in regulator_register()"
* 4613414129 wifi: cfg80211: avoid leaking stack data into trace
* fde6d84daa wifi: mac80211: allow transmitting EAPOL frames with tainted key
* 8de7f70583 wifi: cfg80211: Fix 6GHz scan configuration
* ffb060b136 Bluetooth: hci_core: Fix build warnings
* 65f5da6df8 Bluetooth: Avoid redundant authentication
* 115f2c88fd HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event
* a59636cdd8 tracing: relax trace_event_eval_update() execution with cond_resched()
* fb60e9c000 ata: libata-eh: Fix compilation warning in ata_eh_link_report()
* 22c3641bef gpio: timberdale: Fix potential deadlock on &tgpio->lock
* b4fcf1a0bb overlayfs: set ctime when setting mtime and atime
* 4b472c25a5 i2c: mux: Avoid potential false error message in i2c_mux_add_adapter
* 840b912df5 btrfs: initialize start_slot in btrfs_log_prealloc_extents
* 9801e2798b btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1
* d69131b48f ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone
* 9ed14f807f usb: typec: altmodes/displayport: Signal hpd low when exiting mode
* f25a13d318 usb: typec: altmodes/displayport: Notify drm subsys of hotplug events
* 2ea6a14e8a drm/connector: Add support for out-of-band hotplug notification (v3)
* 6e55f6a8a4 drm/connector: Add drm_connector_find_by_fwnode() function (v3)
* 89b1868bab drm/connector: Add a fwnode pointer to drm_connector and register with ACPI (v2)
* 86502f1b63 drm/connector: Give connector sysfs devices there own device_type
* cedcbf61df drm/amd/display: Don't set dpms_off for seamless boot
* ebba01fcd5 drm/amd/display: only check available pipe to disable vbios mode.
* 1ac7170004 serial: 8250_omap: Fix errors with no_console_suspend
* be300358b5 serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()
* fc778e9d79 xhci: track port suspend state correctly in unsuccessful resume cases
* 1c034c6e22 xhci: decouple usb2 port resume and get_port_status request handling
* 92088dd886 xhci: clear usb2 resume related variables in one place.
* e7abc4b18d xhci: rename resume_done to resume_timestamp
* d44c9285ce xhci: move port specific items such as state completions to port structure
* e2b4de13e5 xhci: cleanup xhci_hub_control port references
* 95b9f1e392 usb: core: Track SuperSpeed Plus GenXxY
* d6316f5929 selftests/mm: fix awk usage in charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh that may cause error
* 69f40ce372 selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting
* cb868d8857 ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA
* 7d0728e7ac ACPI: resource: Skip IRQ override on ASUS ExpertBook B1502CBA
* 3a58c28bff ACPI: resource: Skip IRQ override on Asus Expertbook B2402CBA
* 1b4659e283 ACPI: resource: Add Asus ExpertBook B2502 to Asus quirks
* 980dd4dfb9 ACPI: resource: Skip IRQ override on Asus Vivobook S5602ZA
* e0014184cd ACPI: resource: Add ASUS model S5402ZA to quirks
* 7f26f0ac38 ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA
* ffcb69e923 ACPI: resources: Add DMI-based legacy IRQ override quirk
* 8a8918b510 ACPI: Drop acpi_dev_irqresource_disabled()
* 196896455b resource: Add irqresource_disabled()
* faa9a9d07c thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge
* 482fa2345f net: pktgen: Fix interface flags printing
* 068e4ecea2 netfilter: nft_set_rbtree: .deactivate fails if element has expired
* 9cef803e9e neighbor: tracing: Move pin6 inside CONFIG_IPV6=y section
* 36848adbde net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve
* 923e47c0b4 net: dsa: bcm_sf2: Fix possible memory leak in bcm_sf2_mdio_register()
* a53fc06416 i40e: prevent crash on probe if hw registers have invalid values
* 9b5661bda3 net: usb: smsc95xx: Fix an error code in smsc95xx_reset()
* 250cd610f8 ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr
* 1cef1a2d5c tun: prevent negative ifindex
* f828e15db3 tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
* c39c31c526 tcp: fix excessive TLP and RACK timeouts from HZ rounding
* 805b38062e net: rfkill: gpio: prevent value glitch during probe
* 8023c7e900 net: ipv6: fix return value check in esp_remove_trailer
* 2ca00d93f2 net: ipv4: fix return value check in esp_remove_trailer
* 4ba4eec4f4 xfrm: interface: use DEV_STATS_INC()
* 4d78b9dc79 xfrm: fix a data-race in xfrm_gen_index()
* 8c6c3d0b9f qed: fix LL2 RX buffer allocation
* 88c493297e drm/i915: Retry gtt fault when out of fence registers
* e985d78bdc nvmet-tcp: Fix a possible UAF in queue intialization setup
* 287401f92c netfilter: nft_payload: fix wrong mac header matching
* fe37e56ed4 tcp: check mptcp-level constraints for backlog coalescing
* 6550cbe25d x86/sev: Check for user-space IOIO pointing to kernel space
* 5bb9ba7daf x86/sev: Check IOBM for IOIO exceptions from user-space
* d78c5d8c23 x86/sev: Disable MMIO emulation from user mode
* 459af3fb81 KVM: x86: Mask LVTPC when handling a PMI
* 4cbac83549 regmap: fix NULL deref on lookup
* c95fa5b20f nfc: nci: fix possible NULL pointer dereference in send_acknowledge()
* 2e64f4c732 ice: reset first in crash dump kernels
* 95d68fdc71 ice: fix over-shifted variable
* a56c436b43 Bluetooth: avoid memcmp() out of bounds warning
* 7e83d15e0c Bluetooth: hci_event: Fix coding style
* c6878fa173 Bluetooth: vhci: Fix race when opening vhci device
* 40a33a129d Bluetooth: Fix a refcnt underflow problem for hci_conn
* ab950561bc Bluetooth: Reject connection with the device which has same BD_ADDR
* 0e025a4528 Bluetooth: hci_event: Ignore NULL link key
* 241f230324 usb: hub: Guard against accesses to uninitialized BOS descriptors
* aec24b0963 Documentation: sysctl: align cells in second content column
* f10690787d mm/memory_hotplug: rate limit page migration warnings
* bf97ea76ea lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default
* c44b14469a dev_forward_skb: do not scrub skb mark within the same name space
* db9aafa195 ravb: Fix use-after-free issue in ravb_tx_timeout_work()
* db375fa550 RDMA/srp: Fix srp_abort()
* f022576aa0 RDMA/srp: Set scmnd->result only when scmnd is not NULL
* 489818719a arm64: armv8_deprecated: fix unused-function error
* da7603cedb arm64: armv8_deprecated: rework deprected instruction handling
* 45a26d2a53 arm64: armv8_deprecated: move aarch32 helper earlier
* 0b6a7a9f6d arm64: armv8_deprecated move emulation functions
* 2202536144 arm64: armv8_deprecated: fold ops into insn_emulation
* 5aa232345e arm64: rework EL0 MRS emulation
* 15e964971f arm64: factor insn read out of call_undef_hook()
* 0edde7fd1c arm64: factor out EL1 SSBS emulation hook
* 7a76df1ae1 arm64: split EL0/EL1 UNDEF handlers
* 8a8d4cc303 arm64: allow kprobes on EL0 handlers
* 793ed958b6 arm64: rework BTI exception handling
* 9113333d7c arm64: rework FPAC exception handling
* a8d7c8484f arm64: consistently pass ESR_ELx to die()
* 004bdab6ed arm64: die(): pass 'err' as long
* 835cb1f78d arm64: report EL1 UNDEFs better
* 6788b10620 x86/alternatives: Disable KASAN in apply_alternatives()
* ba4b377210 powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
* dadb86fba6 powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE
* 288a0593c7 dmaengine: mediatek: Fix deadlock caused by synchronize_irq()
* 17c653d491 usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
* a906f2eb67 usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
* 7decb65151 counter: microchip-tcb-capture: Fix the use of internal GCLK logic
* a177771bff pinctrl: avoid unsafe code pattern in find_pinctrl()
* 2a4a828040 cgroup: Remove duplicates in cgroup v1 tasks file
* da7ce52a2f tee: amdtee: fix use-after-free vulnerability in amdtee_close_session
* 0ea0231dd1 Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case
* 39fb79407e Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table
* 8d862a3dff Input: xpad - add PXN V900 support
* e8ea649fc3 Input: psmouse - fix fast_reconnect function for PS/2 mode
* cd2fbfd8b9 Input: powermate - fix use-after-free in powermate_config_complete
* 27b6c809d3 ceph: fix type promotion bug on 32bit systems
* 2b2bf63671 ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
* 62f6d24f2e libceph: use kernel_connect()
* 5850eb4df4 thunderbolt: Check that lane 1 is in CL0 before enabling lane bonding
* 008ba1a5ad mcb: remove is_added flag from mcb_device struct
* ec93456c02 x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
* b608f4aedc iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
* 02388eaf3a iio: pressure: dps310: Adjust Timeout Settings
* 2abd2cffa1 iio: pressure: bmp280: Fix NULL pointer exception
* aadbf612f8 usb: musb: Modify the "HWVers" register address
* bc929a0052 usb: musb: Get the musb_qh poniter after musb_giveback
* 459eb7c688 usb: dwc3: Soft reset phy on probe for host
* d71d0009f9 net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read
* 4bf69ee6bb usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer
* 2d30692c6c dmaengine: stm32-mdma: abort resume if no ongoing transfer
* d346a2ef6b media: mtk-jpeg: Fix use after free bug due to uncanceled work
* 014cab5329 net: release reference to inet6_dev pointer
* d491ac7aa1 net: change accept_ra_min_rtr_lft to affect all RA lifetimes
* 354a96770d net: add sysctl accept_ra_min_rtr_lft
* 1ceaf0d3a8 Revert "spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in zynqmp_qspi_probe"
* 649237ccf4 Revert "spi: zynqmp-gqspi: fix clock imbalance on probe failure"
* ce03f0234f workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
* a424807d86 nfc: nci: assert requested protocol is valid
* b5b03da30b pinctrl: renesas: rzn1: Enable missing PINMUX
* 6ac22ecdaa net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn()
* 31ea13e3ff ixgbe: fix crash with empty VF macvlan list
* b24bd12775 net: phy: mscc: macsec: reject PN update requests
* a848ae8b5a net: macsec: indicate next pn update when offloading
* a629f0575c drm/vmwgfx: fix typo of sizeof argument
* d4ba78e552 riscv, bpf: Sign-extend return values
* 2a8ef2234b riscv, bpf: Factor out emit_call for kernel and bpf context
* 1bf4da1818 xen-netback: use default TX queue size for vifs
* 33548a6b3c mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type
* 55e06850c7 ieee802154: ca8210: Fix a potential UAF in ca8210_probe
* ef7a0d51bf ravb: Fix up dma_free_coherent() call in ravb_remove()
* 1673841da0 drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow
* 6004ca7ad2 drm/msm/dsi: skip the wait for video mode done if not applicable
* dbbbeaef77 drm/msm/dp: do not reinitialize phy unless retry during link training
* 31e7e77b24 net: prevent address rewrite in kernel_bind()
* 22c06bf1f9 quota: Fix slow quotaoff
* 093af62c02 HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect
* cb4a8146e3 lib/test_meminit: fix off-by-one error in test_pages()
* 06068e7f3f perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7
* 0ed2ad00f3 RDMA/cxgb4: Check skb value for failure to allocate
* 26788a5b48 RDMA/srp: Do not call scsi_done() from srp_abort()
* 81982125c3 RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent

Change-Id: Iba6b212fae661ad8efed86e94d12106de6d32786
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-01-26 02:33:22 +00:00
liujinbao1
3e4106c3c9 BACKPORT: exfat: reduce block requests when zeroing a cluster
If 'dirsync' is enabled, when zeroing a cluster, submitting
sector by sector will generate many block requests, will
cause the block device to not fully perform its performance.

This commit makes the sectors in a cluster to be submitted in
once, it will reduce the number of block requests. This will
make the block device to give full play to its performance.

Test create 1000 directories on SD card with:

$ time (for ((i=0;i<1000;i++)); do mkdir dir${i}; done)

Performance has been improved by more than 73% on imx6q-sabrelite.

Cluster size       Before         After       Improvement
64  KBytes         3m34.036s      0m56.052s   73.8%
128 KBytes         6m2.644s       1m13.354s   79.8%
256 KBytes         11m22.202s     1m39.451s   85.4%

imx6q-sabrelite:
  - CPU: 792 MHz x4
  - Memory: 1GB DDR3
  - SD Card: SanDisk 8GB Class 4

Bug: 239500767
Bug: 319538772

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
(cherry picked from commit 1b6138385499507147e8f654840f4c39afe6adbf)
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>

Signed-off-by: liujinbao1 <liujinbao1@xiaomi.com>
Change-Id: Ie9ed20fb90caed2fce2692f7fb81272cf647faa7
(cherry picked from commit 1f44e4411f9e914fac45dd1a232ccabcc05811b3)
2024-01-12 02:59:05 +00:00
Greg Kroah-Hartman
7999a9a70d This is the 5.10.202 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmVmG20ACgkQONu9yGCS
 aT6dzg/7BnCP2SpVmgEaD7FdPvGO/A6O5VrC9zu3sQE6g2gAwirZhdgE8NRn+ggm
 WSQ1kIA+HEcY23FKpq46pBED4P1irudiW7DkLw8nyOGp+XLb4wGkF5lBBP5z+B2P
 ga2RgwqKvYWeDaUW4n1Uy7m2Cz+wqCg/EvnITo40glSWPh20gM532/CSnA5akoje
 9mjZYZ0rKHKTZGu65aNScNR7XnXHIivJU6C1jF6L9N1+Xn679nUHKQP4KM/RcjpX
 g1WQMWFC3mGIn5IX28W1wvKS320D5HLmTLnLqJvFpJN9+13DUnUoXcX469zvQoxJ
 GL3S94goWN/0BPOgr5KcKvTj00b4O+EWhQuQt+x8NLdydzRQuyFu2UpLNhIKKSou
 sT+BcxzeuqJhEh1tZItcZkZBptpLEkb0ezT11u5McnU5FjPzzzP8CtEetKKmEaBU
 AUoEP/lQQlVyk1I6xAeuzu53smncNQt6CqnXJxYXOBGgJ2txAM5kroMKXPin5C8k
 BCpUIqghhKmBd1hwuKyaOBKF99eLKKZsuvXppoPD0Yz7/Nq5TgdBw0qbNt2iLr05
 XSM7WIIeCBROaV+ZiVxgtcXDR51FpMr7CLTbkBQ6IgLwircHeHSK7rQn7kFO3fCg
 OezhWAuh72qDZ2PCJ84fj21IhZ49a5oCLbUdBew+KzZervVpSo0=
 =eW67
 -----END PGP SIGNATURE-----

Merge 5.10.202 into android12-5.10-lts

Changes in 5.10.202
	locking/ww_mutex/test: Fix potential workqueue corruption
	perf/core: Bail out early if the request AUX area is out of bound
	clocksource/drivers/timer-imx-gpt: Fix potential memory leak
	clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
	x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
	wifi: mac80211_hwsim: fix clang-specific fortify warning
	wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
	bpf: Detect IP == ksym.end as part of BPF program
	wifi: ath9k: fix clang-specific fortify warnings
	wifi: ath10k: fix clang-specific fortify warning
	net: annotate data-races around sk->sk_tx_queue_mapping
	net: annotate data-races around sk->sk_dst_pending_confirm
	wifi: ath10k: Don't touch the CE interrupt registers after power up
	Bluetooth: btusb: Add date->evt_skb is NULL check
	Bluetooth: Fix double free in hci_conn_cleanup
	platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
	drm/komeda: drop all currently held locks if deadlock happens
	drm/msm/dp: skip validity check for DP CTS EDID checksum
	drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
	drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
	drm/amdgpu: Fix potential null pointer derefernce
	drm/panel: fix a possible null pointer dereference
	drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference
	drm/panel: st7703: Pick different reset sequence
	drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
	selftests/efivarfs: create-read: fix a resource leak
	ASoC: soc-card: Add storage for PCI SSID
	crypto: pcrypt - Fix hungtask for PADATA_RESET
	RDMA/hfi1: Use FIELD_GET() to extract Link Width
	fs/jfs: Add check for negative db_l2nbperpage
	fs/jfs: Add validity check for db_maxag and db_agpref
	jfs: fix array-index-out-of-bounds in dbFindLeaf
	jfs: fix array-index-out-of-bounds in diAlloc
	HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround
	ARM: 9320/1: fix stack depot IRQ stack filter
	ALSA: hda: Fix possible null-ptr-deref when assigning a stream
	PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields
	atm: iphase: Do PCI error checks on own line
	scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
	misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
	HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
	exfat: support handle zero-size directory
	tty: vcc: Add check for kstrdup() in vcc_probe()
	usb: gadget: f_ncm: Always set current gadget in ncm_bind()
	9p/trans_fd: Annotate data-racy writes to file::f_flags
	i2c: sun6i-p2wi: Prevent potential division by zero
	media: gspca: cpia1: shift-out-of-bounds in set_flicker
	media: vivid: avoid integer overflow
	gfs2: ignore negated quota changes
	gfs2: fix an oops in gfs2_permission
	media: cobalt: Use FIELD_GET() to extract Link Width
	media: imon: fix access to invalid resource for the second interface
	drm/amd/display: Avoid NULL dereference of timing generator
	kgdb: Flush console before entering kgdb on panic
	ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
	drm/amdgpu: fix software pci_unplug on some chips
	pwm: Fix double shift bug
	wifi: iwlwifi: Use FW rate for non-data frames
	xhci: turn cancelled td cleanup to its own function
	SUNRPC: ECONNRESET might require a rebind
	SUNRPC: Add an IS_ERR() check back to where it was
	NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
	SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
	gfs2: Silence "suspicious RCU usage in gfs2_permission" warning
	ipvlan: add ipvlan_route_v6_outbound() helper
	tty: Fix uninit-value access in ppp_sync_receive()
	net: hns3: fix variable may not initialized problem in hns3_init_mac_addr()
	net: hns3: fix VF reset fail issue
	tipc: Fix kernel-infoleak due to uninitialized TLV value
	ppp: limit MRU to 64K
	xen/events: fix delayed eoi list handling
	ptp: annotate data-race around q->head and q->tail
	bonding: stop the device in bond_setup_by_slave()
	net: ethernet: cortina: Fix max RX frame define
	net: ethernet: cortina: Handle large frames
	net: ethernet: cortina: Fix MTU max setting
	netfilter: nf_conntrack_bridge: initialize err to 0
	net: stmmac: fix rx budget limit check
	net/mlx5e: fix double free of encap_header
	net/mlx5_core: Clean driver version and name
	net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors
	macvlan: Don't propagate promisc change to lower dev in passthru
	tools/power/turbostat: Fix a knl bug
	cifs: spnego: add ';' in HOST_KEY_LEN
	cifs: fix check of rc in function generate_smb3signingkey
	media: venus: hfi: add checks to perform sanity on queue pointers
	powerpc/perf: Fix disabling BHRB and instruction sampling
	randstruct: Fix gcc-plugin performance mode to stay in group
	bpf: Fix check_stack_write_fixed_off() to correctly spill imm
	bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
	scsi: mpt3sas: Fix loop logic
	scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers
	x86/cpu/hygon: Fix the CPU topology evaluation for real
	KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space
	KVM: x86: Ignore MSR_AMD64_TW_CFG access
	audit: don't take task_lock() in audit_exe_compare() code path
	audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
	tty/sysrq: replace smp_processor_id() with get_cpu()
	hvc/xen: fix console unplug
	hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
	PCI/sysfs: Protect driver's D3cold preference from user space
	watchdog: move softlockup_panic back to early_param
	ACPI: resource: Do IRQ override on TongFang GMxXGxx
	arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
	parisc/pdc: Add width field to struct pdc_model
	clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
	clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks
	mmc: vub300: fix an error code
	mmc: sdhci_am654: fix start loop index for TAP value parsing
	PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common()
	arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM
	PM: hibernate: Use __get_safe_page() rather than touching the list
	PM: hibernate: Clean up sync_read handling in snapshot_write_next()
	rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects
	btrfs: don't arbitrarily slow down delalloc if we're committing
	firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit
	ima: detect changes to the backing overlay file
	wifi: ath11k: fix temperature event locking
	wifi: ath11k: fix dfs radar event locking
	wifi: ath11k: fix htt pktlog locking
	mmc: meson-gx: Remove setting of CMD_CFG_ERROR
	genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
	PCI: keystone: Don't discard .remove() callback
	PCI: keystone: Don't discard .probe() callback
	jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
	quota: explicitly forbid quota files from being encrypted
	kernel/reboot: emergency_restart: Set correct system_state
	i2c: core: Run atomic i2c xfer when !preemptible
	mcb: fix error handling for different scenarios when parsing
	dmaengine: stm32-mdma: correct desc prep when channel running
	mm/cma: use nth_page() in place of direct struct page manipulation
	mm/memory_hotplug: use pfn math in place of direct struct page manipulation
	mtd: cfi_cmdset_0001: Byte swap OTP info
	i3c: master: cdns: Fix reading status register
	parisc: Prevent booting 64-bit kernels on PA1.x machines
	parisc/pgtable: Do not drop upper 5 address bits of physical address
	xhci: Enable RPM on controllers that support low-power states
	ALSA: info: Fix potential deadlock at disconnection
	ALSA: hda/realtek - Add Dell ALC295 to pin fall back table
	ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
	serial: meson: remove redundant initialization of variable id
	tty: serial: meson: retrieve port FIFO size from DT
	serial: meson: Use platform_get_irq() to get the interrupt
	tty: serial: meson: fix hard LOCKUP on crtscts mode
	cpufreq: stats: Fix buffer overflow detection in trans_stats()
	Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559
	bluetooth: Add device 0bda:887b to device tables
	bluetooth: Add device 13d3:3571 to device tables
	Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables
	Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
	PCI: exynos: Don't discard .remove() callback
	arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
	arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size
	Revert ncsi: Propagate carrier gain/loss events to the NCSI controller
	lsm: fix default return value for vm_enough_memory
	lsm: fix default return value for inode_getsecctx
	i2c: designware: Disable TX_EMPTY irq while waiting for block length byte
	net: dsa: lan9303: consequently nested-lock physical MDIO
	net: phylink: initialize carrier state at creation
	i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
	f2fs: avoid format-overflow warning
	media: lirc: drop trailing space from scancode transmit
	media: sharp: fix sharp encoding
	media: venus: hfi_parser: Add check to keep the number of codecs within range
	media: venus: hfi: fix the check to handle session buffer requirement
	media: venus: hfi: add checks to handle capabilities from firmware
	nfsd: fix file memleak on client_opens_release
	mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors
	media: qcom: camss: Fix vfe_get() error jump
	Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
	ext4: apply umask if ACL support is disabled
	ext4: correct offset of gdb backup in non meta_bg group to update_backups
	ext4: correct return value of ext4_convert_meta_bg
	ext4: correct the start block of counting reserved clusters
	ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
	drm/amd/pm: Handle non-terminated overdrive commands.
	drm/amdgpu: fix error handling in amdgpu_bo_list_get()
	drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox
	io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
	tracing: Have trace_event_file have ref counters
	netfilter: nftables: update table flags from the commit phase
	netfilter: nf_tables: fix table flag updates
	netfilter: nf_tables: disable toggling dormant table state more than once
	interconnect: qcom: Add support for mask-based BCMs
	Linux 5.10.202

Change-Id: I762bcd4848d9b87cbb4efe4104fe1685999dc0f7
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-12-08 16:26:36 +00:00
Yuezhang Mo
484cc536a3 exfat: support handle zero-size directory
[ Upstream commit dab48b8f2fe7264d51ec9eed0adea0fe3c78830a ]

After repairing a corrupted file system with exfatprogs' fsck.exfat,
zero-size directories may result. It is also possible to create
zero-size directories in other exFAT implementation, such as Paragon
ufsd dirver.

As described in the specification, the lower directory size limits
is 0 bytes.

Without this commit, sub-directories and files cannot be created
under a zero-size directory, and it cannot be removed.

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 16:54:52 +00:00
Greg Kroah-Hartman
df0f5bd7a8 This is the 5.10.190 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmTWBikACgkQONu9yGCS
 aT7+sBAAgFSUVSAURxIgHfi1XvXnGI/eZI/0ub8AqkWRdMUVbpqXR0hsq1/KP5sj
 zz6l4QTfFyGm5EQPv3dEDi3Nztsb2dQEaJTIKQV6N4kY133fn6sYIxQE9Rb1jHcp
 UoI/WbiOAwRqKd5glsPANByen6U4871Y1h2drBgMXYzP1fVEhPCVxz1XhAyZlVTw
 n94774DCiSXaVUt82r5IPOV2HfZAnik4BThCD3oE1v9qN2ugow51GA11R9Mf49lR
 mthPqsMhOHl+IPgB+3VaL+DCDDbs6b+izBCNSy5Jdupqsd22RuuLE3a8gSgZSoYB
 3NrIqwOPUuVX3yUsvaTfklXMDU8RyKGEAIK/njW2NSFv8ccMa1lymhXnrkjSd7AP
 BdHVfpB9k3WJQt6ElMfH6S8KszWFyLgolsT7cG3osi7VgsbDuGW30ApTl7WI7nDB
 QgoM3X2FfYYZ8uc7+fT0PU8tk098VqB0c4PQbigN7i0l0J6o1PPrg4Ke9++qaSAs
 PZ+rUha4+9whgjjyF05sWSScgwo0Az4qEx5r1Igf3lfDOUnfIPy3cKd+O1zpjrt5
 6ZO3CQkYM4IO8mP5ps2t4rJvZuPfAVBi3Ndgtt/JbLlkxbkuhNzTE1TKA7UOZRAW
 RK6YlzhHsR5LQEOZb6pVJtO2HTaJSBjTrp4W+xj/e6k51z+I4Co=
 =RCz+
 -----END PGP SIGNATURE-----

Merge 5.10.190 into android12-5.10-lts

Changes in 5.10.190
	KVM: s390: pv: fix index value of replaced ASCE
	io_uring: don't audit the capability check in io_uring_create()
	gpio: tps68470: Make tps68470_gpio_output() always set the initial value
	btrfs: fix race between quota disable and relocation
	btrfs: fix extent buffer leak after tree mod log failure at split_node()
	i2c: Delete error messages for failed memory allocations
	i2c: Improve size determinations
	i2c: nomadik: Remove unnecessary goto label
	i2c: nomadik: Use devm_clk_get_enabled()
	i2c: nomadik: Remove a useless call in the remove function
	PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
	PCI/ASPM: Factor out pcie_wait_for_retrain()
	PCI/ASPM: Avoid link retraining race
	dlm: cleanup plock_op vs plock_xop
	dlm: rearrange async condition return
	fs: dlm: interrupt posix locks only when process is killed
	drm/ttm: add ttm_bo_pin()/ttm_bo_unpin() v2
	drm/ttm: never consider pinned BOs for eviction&swap
	tracing: Show real address for trace event arguments
	pwm: meson: Simplify duplicated per-channel tracking
	pwm: meson: fix handling of period/duty if greater than UINT_MAX
	ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
	phy: qcom-snps: Use dev_err_probe() to simplify code
	phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc
	phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
	phy: qcom-snps-femto-v2: properly enable ref clock
	media: staging: atomisp: select V4L2_FWNODE
	i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
	net: phy: marvell10g: fix 88x3310 power up
	net: hns3: reconstruct function hclge_ets_validate()
	net: hns3: fix wrong bw weight of disabled tc issue
	vxlan: move to its own directory
	vxlan: calculate correct header length for GPE
	phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
	ethernet: atheros: fix return value check in atl1e_tso_csum()
	ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
	tcp: Reduce chance of collisions in inet6_hashfn().
	ice: Fix memory management in ice_ethtool_fdir.c
	bonding: reset bond's flags when down link is P2P device
	team: reset team's flags when down link is P2P device
	platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
	netfilter: nft_set_rbtree: fix overlap expiration walk
	netfilter: nftables: add helper function to validate set element data
	netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
	netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
	net/sched: mqprio: refactor nlattr parsing to a separate function
	net/sched: mqprio: add extack to mqprio_parse_nlattr()
	net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
	benet: fix return value check in be_lancer_xmit_workarounds()
	tipc: check return value of pskb_trim()
	tipc: stop tipc crypto on failure in tipc_node_create
	RDMA/mlx4: Make check for invalid flags stricter
	drm/msm/dpu: drop enum dpu_core_perf_data_bus_id
	drm/msm/adreno: Fix snapshot BINDLESS_DATA size
	RDMA/mthca: Fix crash when polling CQ for shared QPs
	drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
	ASoC: fsl_spdif: Silence output on stop
	block: Fix a source code comment in include/uapi/linux/blkzoned.h
	dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
	dm raid: clean up four equivalent goto tags in raid_ctr()
	dm raid: protect md_stop() with 'reconfig_mutex'
	ata: pata_ns87415: mark ns87560_tf_read static
	ring-buffer: Fix wrong stat of cpu_buffer->read
	tracing: Fix warning in trace_buffered_event_disable()
	Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
	USB: gadget: Fix the memory leak in raw_gadget driver
	serial: qcom-geni: drop bogus runtime pm state update
	serial: 8250_dw: Preserve original value of DLF register
	serial: sifive: Fix sifive_serial_console_setup() section
	USB: serial: option: support Quectel EM060K_128
	USB: serial: option: add Quectel EC200A module support
	USB: serial: simple: add Kaufmann RKS+CAN VCP
	USB: serial: simple: sort driver entries
	can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
	Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
	usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
	usb: dwc3: don't reset device side if dwc3 was configured as host-only
	usb: ohci-at91: Fix the unhandle interrupt when resume
	USB: quirks: add quirk for Focusrite Scarlett
	usb: xhci-mtk: set the dma max_seg_size
	Revert "usb: xhci: tegra: Fix error check"
	Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
	Documentation: security-bugs.rst: clarify CVE handling
	staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
	tty: n_gsm: fix UAF in gsm_cleanup_mux
	ALSA: hda/relatek: Enable Mute LED on HP 250 G8
	hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
	btrfs: check for commit error at btrfs_attach_transaction_barrier()
	file: always lock position for FMODE_ATOMIC_POS
	nfsd: Remove incorrect check in nfsd4_validate_stateid
	tpm_tis: Explicitly check for error code
	irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
	irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation
	KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest
	KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0()
	KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em
	KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest
	staging: rtl8712: Use constants from <linux/ieee80211.h>
	staging: r8712: Fix memory leak in _r8712_init_xmit_priv()
	btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
	virtio-net: fix race between set queues and probe
	s390/dasd: fix hanging device after quiesce/resume
	ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
	ceph: never send metrics if disable_send_metrics is set
	dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
	drm/ttm: make ttm_bo_unpin more defensive
	ACPI: processor: perflib: Use the "no limit" frequency QoS
	ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
	cpufreq: intel_pstate: Drop ACPI _PSS states table patching
	selftests: mptcp: depend on SYN_COOKIES
	io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
	ASoC: cs42l51: fix driver to properly autoload with automatic module loading
	kprobes/x86: Fix fall-through warnings for Clang
	x86/kprobes: Do not decode opcode in resume_execution()
	x86/kprobes: Retrieve correct opcode for group instruction
	x86/kprobes: Identify far indirect JMP correctly
	x86/kprobes: Use int3 instead of debug trap for single-step
	x86/kprobes: Fix to identify indirect jmp and others using range case
	x86/kprobes: Move 'inline' to the beginning of the kprobe_is_ss() declaration
	x86/kprobes: Update kcb status flag after singlestepping
	x86/kprobes: Fix JNG/JNLE emulation
	io_uring: gate iowait schedule on having pending requests
	perf: Fix function pointer case
	loop: Select I/O scheduler 'none' from inside add_disk()
	arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux
	word-at-a-time: use the same return type for has_zero regardless of endianness
	KVM: s390: fix sthyi error handling
	wifi: cfg80211: Fix return value in scan logic
	net/mlx5: DR, fix memory leak in mlx5dr_cmd_create_reformat_ctx
	net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
	bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
	rtnetlink: let rtnl_bridge_setlink checks IFLA_BRIDGE_MODE length
	net: dsa: fix value check in bcm_sf2_sw_probe()
	perf test uprobe_from_different_cu: Skip if there is no gcc
	net: sched: cls_u32: Fix match key mis-addressing
	mISDN: hfcpci: Fix potential deadlock on &hc->lock
	net: annotate data-races around sk->sk_max_pacing_rate
	net: add missing READ_ONCE(sk->sk_rcvlowat) annotation
	net: add missing READ_ONCE(sk->sk_sndbuf) annotation
	net: add missing READ_ONCE(sk->sk_rcvbuf) annotation
	net: add missing data-race annotations around sk->sk_peek_off
	net: add missing data-race annotation for sk_ll_usec
	net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
	net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
	net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
	bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire
	net: ll_temac: Switch to use dev_err_probe() helper
	net: ll_temac: fix error checking of irq_of_parse_and_map()
	net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode
	net: dcb: choose correct policy to parse DCB_ATTR_BCN
	s390/qeth: Don't call dev_close/dev_open (DOWN/UP)
	ip6mr: Fix skb_under_panic in ip6mr_cache_report()
	vxlan: Fix nexthop hash size
	net/mlx5: fs_core: Make find_closest_ft more generic
	net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio
	tcp_metrics: fix addr_same() helper
	tcp_metrics: annotate data-races around tm->tcpm_stamp
	tcp_metrics: annotate data-races around tm->tcpm_lock
	tcp_metrics: annotate data-races around tm->tcpm_vals[]
	tcp_metrics: annotate data-races around tm->tcpm_net
	tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
	scsi: zfcp: Defer fc_rport blocking until after ADISC response
	libceph: fix potential hang in ceph_osdc_notify()
	USB: zaurus: Add ID for A-300/B-500/C-700
	ceph: defer stopping mdsc delayed_work
	exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
	exfat: release s_lock before calling dir_emit()
	mtd: spinand: toshiba: Fix ecc_get_status
	mtd: rawnand: meson: fix OOB available bytes for ECC
	arm64: dts: stratix10: fix incorrect I2C property for SCL signal
	net: tun_chr_open(): set sk_uid from current_fsuid()
	net: tap_open(): set sk_uid from current_fsuid()
	bpf: Disable preemption in bpf_event_output
	open: make RESOLVE_CACHED correctly test for O_TMPFILE
	drm/ttm: check null pointer before accessing when swapping
	file: reinstate f_pos locking optimization for regular files
	tracing: Fix sleeping while atomic in kdb ftdump
	fs/sysv: Null check to prevent null-ptr-deref bug
	Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
	net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
	fs: Protect reconfiguration of sb read-write from racing writes
	ext2: Drop fragment support
	mtd: rawnand: omap_elm: Fix incorrect type in assignment
	mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
	powerpc/mm/altmap: Fix altmap boundary check
	selftests/rseq: check if libc rseq support is registered
	selftests/rseq: Play nice with binaries statically linked against glibc 2.35+
	soundwire: bus: add better dev_dbg to track complete() calls
	soundwire: bus: pm_runtime_request_resume on peripheral attachment
	soundwire: fix enumeration completion
	PM / wakeirq: support enabling wake-up irq after runtime_suspend called
	PM: sleep: wakeirq: fix wake irq arming
	exfat: speed up iterate/lookup by fixing start point of traversing cluster chain
	exfat: support dynamic allocate bh for exfat_entry_set_cache
	exfat: check if filename entries exceeds max filename length
	mt76: move band capabilities in mt76_phy
	mt76: mt7615: Fix fall-through warnings for Clang
	wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)
	ARM: dts: imx: add usb alias
	ARM: dts: imx6sll: fixup of operating points
	ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
	x86/CPU/AMD: Do not leak quotient data after a division by 0
	Linux 5.10.190

Fix up build problem in ext4 due to merge of ed3d841f2f ("ext4: fix to
check return value of freeze_bdev() in ext4_shutdown()") conflicting
with a previous block layer core change coming in through the f2fs tree
in the past, that is not upstream, but ANDROID specific.

Change-Id: Ib95e59ce8ba653bcc791802735afafcd26bd996f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-08-25 12:26:58 +00:00
Namjae Jeon
381f7df0f3 exfat: check if filename entries exceeds max filename length
[ Upstream commit d42334578eba1390859012ebb91e1e556d51db49 ]

exfat_extract_uni_name copies characters from a given file name entry into
the 'uniname' variable. This variable is actually defined on the stack of
the exfat_readdir() function. According to the definition of
the 'exfat_uni_name' type, the file name should be limited 255 characters
(+ null teminator space), but the exfat_get_uniname_from_ext_entry()
function can write more characters because there is no check if filename
entries exceeds max filename length. This patch add the check not to copy
filename characters when exceeding max filename length.

Cc: stable@vger.kernel.org
Cc: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reported-by: Maxim Suhanov <dfirblog@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-11 11:57:55 +02:00
Yuezhang Mo
bd3bdb9e0d exfat: support dynamic allocate bh for exfat_entry_set_cache
[ Upstream commit a3ff29a95fde16906304455aa8c0bd84eb770258 ]

In special cases, a file or a directory may occupied more than 19
directory entries, pre-allocating 3 bh is not enough. Such as
  - Support vendor secondary directory entry in the future.
  - Since file directory entry is damaged, the SecondaryCount
    field is bigger than 18.

So this commit supports dynamic allocation of bh.

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Stable-dep-of: d42334578eba ("exfat: check if filename entries exceeds max filename length")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-11 11:57:55 +02:00
Hyeongseok Kim
e0d192a402 exfat: speed up iterate/lookup by fixing start point of traversing cluster chain
[ Upstream commit c6e2f52e3051e8d898d38840104638ca8bbcdec2 ]

When directory iterate and lookup is called, there's a buggy rewinding
of start point for traversing cluster chain to the parent directory
entry's first cluster. This caused repeated cluster chain traversing
from the first entry of the parent directory that would show worse
performance if huge amounts of files exist under the parent directory.
Fix not to rewind, make continue from currently referenced cluster and
dir entry.

Tested with 50,000 files under single directory / 256GB sdcard,
with command "time ls -l > /dev/null",
Before :     0m08.69s real     0m00.27s user     0m05.91s system
After  :     0m07.01s real     0m00.25s user     0m04.34s system

Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Stable-dep-of: d42334578eba ("exfat: check if filename entries exceeds max filename length")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-11 11:57:55 +02:00
Sungjong Seo
ddf7cc7029 exfat: release s_lock before calling dir_emit()
commit ff84772fd45d486e4fc78c82e2f70ce5333543e6 upstream.

There is a potential deadlock reported by syzbot as below:

======================================================
WARNING: possible circular locking dependency detected
6.4.0-next-20230707-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor330/5073 is trying to acquire lock:
ffff8880218527a0 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_lock_killable include/linux/mmap_lock.h:151 [inline]
ffff8880218527a0 (&mm->mmap_lock){++++}-{3:3}, at: get_mmap_lock_carefully mm/memory.c:5293 [inline]
ffff8880218527a0 (&mm->mmap_lock){++++}-{3:3}, at: lock_mm_and_find_vma+0x369/0x510 mm/memory.c:5344
but task is already holding lock:
ffff888019f760e0 (&sbi->s_lock){+.+.}-{3:3}, at: exfat_iterate+0x117/0xb50 fs/exfat/dir.c:232

which lock already depends on the new lock.

Chain exists of:
  &mm->mmap_lock --> mapping.invalidate_lock#3 --> &sbi->s_lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&sbi->s_lock);
                               lock(mapping.invalidate_lock#3);
                               lock(&sbi->s_lock);
  rlock(&mm->mmap_lock);

Let's try to avoid above potential deadlock condition by moving dir_emit*()
out of sbi->s_lock coverage.

Fixes: ca06197382 ("exfat: add directory operations")
Cc: stable@vger.kernel.org #v5.7+
Reported-by: syzbot+1741a5d9b79989c10bdc@syzkaller.appspotmail.com
Link: https://lore.kernel.org/lkml/00000000000078ee7e060066270b@google.com/T/#u
Tested-by: syzbot+1741a5d9b79989c10bdc@syzkaller.appspotmail.com
Signed-off-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-11 11:57:52 +02:00
gaoming
79d16a84ea exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
commit daf60d6cca26e50d65dac374db92e58de745ad26 upstream.

The call stack shown below is a scenario in the Linux 4.19 kernel.
Allocating memory failed where exfat fs use kmalloc_array due to
system memory fragmentation, while the u-disk was inserted without
recognition.
Devices such as u-disk using the exfat file system are pluggable and
may be insert into the system at any time.
However, long-term running systems cannot guarantee the continuity of
physical memory. Therefore, it's necessary to address this issue.

Binder:2632_6: page allocation failure: order:4,
 mode:0x6040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
Call trace:
[242178.097582]  dump_backtrace+0x0/0x4
[242178.097589]  dump_stack+0xf4/0x134
[242178.097598]  warn_alloc+0xd8/0x144
[242178.097603]  __alloc_pages_nodemask+0x1364/0x1384
[242178.097608]  kmalloc_order+0x2c/0x510
[242178.097612]  kmalloc_order_trace+0x40/0x16c
[242178.097618]  __kmalloc+0x360/0x408
[242178.097624]  load_alloc_bitmap+0x160/0x284
[242178.097628]  exfat_fill_super+0xa3c/0xe7c
[242178.097635]  mount_bdev+0x2e8/0x3a0
[242178.097638]  exfat_fs_mount+0x40/0x50
[242178.097643]  mount_fs+0x138/0x2e8
[242178.097649]  vfs_kern_mount+0x90/0x270
[242178.097655]  do_mount+0x798/0x173c
[242178.097659]  ksys_mount+0x114/0x1ac
[242178.097665]  __arm64_sys_mount+0x24/0x34
[242178.097671]  el0_svc_common+0xb8/0x1b8
[242178.097676]  el0_svc_handler+0x74/0x90
[242178.097681]  el0_svc+0x8/0x340

By analyzing the exfat code,we found that continuous physical memory
is not required here,so kvmalloc_array is used can solve this problem.

Cc: stable@vger.kernel.org
Signed-off-by: gaoming <gaoming20@hihonor.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-11 11:57:52 +02:00
Greg Kroah-Hartman
0847230e9b This is the 5.10.173 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmQMoPMACgkQONu9yGCS
 aT4a1Q//WHnQOEgEykqbHMree6UQD5F6crB0kUcJTSDB5lblviYGxpOadw2j+670
 AGsFg00cm8Sb8p78v3SA+X2UzScGnY5Cwhe+B/JucUSr+4rDlZ9FjOGXbKdlYFc2
 sOTp9j/9KrETf0K/VVuCa48rKBPUFvrT7pZUAblZ0vVmk6cSzPW/1iBa4W6Ho6Ec
 LxqNzCDtyTWX0JCzdv5DvjW7WALvPiEiw8CX8+psZTD8RHdAjtnW2DKp8ZnznzJS
 YVBf2ulsD1g3zKEqDm5nMcUyN3fSEWci97bmbEzIeMTULfsj+aQF5a7JoXIkj7Yb
 QIvZ1fG6RSviVplt5SoT5ucDN2cGqLt7+4b3v6DKQX1dMTDrAPdU+T1VU0LRxB6h
 5M3ZZ925ktJu2YTmKi4QvgP01ZVJv0dNWytbmAnIVvJRGY3gHQt5tx0W2lnQdHE9
 mJeW2MXcLKeho7d5p3wRl6yEWAJuAoioZCd95NPyNnVZMMhYRu6iTIIzY8EdNegQ
 5ve9Rsda9uobvWRCWefyS0pHvuJ2HJrJONnU92MHKSojEC9oAjURvRGWpXYcQFM/
 EiywE1oBRA6NrGI7BomAH6khVoTi01yBsQ0QEt30mTOuyxa6j/oR9iEsNv7bmjZC
 SoApcWDPNy6RpHX7SDtch0Qj1l7YfYDNNj66Y94o5E70eHebU9Q=
 =vHOd
 -----END PGP SIGNATURE-----

Merge 5.10.173 into android12-5.10-lts

Changes in 5.10.173
	HID: asus: Remove check for same LED brightness on set
	HID: asus: use spinlock to protect concurrent accesses
	HID: asus: use spinlock to safely schedule workers
	powerpc/mm: Rearrange if-else block to avoid clang warning
	ARM: OMAP2+: Fix memory leak in realtime_counter_init()
	arm64: dts: qcom: qcs404: use symbol names for PCIe resets
	ARM: zynq: Fix refcount leak in zynq_early_slcr_init
	arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description
	arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name
	arm64: dts: qcom: sc7180: correct SPMI bus address cells
	arm64: dts: meson-gx: Fix Ethernet MAC address unit name
	arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name
	arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
	arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names
	arm64: dts: qcom: Fix IPQ8074 PCIe PHY nodes
	arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size
	arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY
	arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges
	arm64: dts: qcom: ipq8074: fix Gen3 PCIe node
	arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names
	arm64: dts: meson: remove CPU opps below 1GHz for G12A boards
	ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
	ARM: s3c: fix s3c64xx_set_timer_source prototype
	arm64: dts: ti: k3-j7200: Fix wakeup pinmux range
	ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
	ARM: imx: Call ida_simple_remove() for ida_simple_get
	arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
	arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
	arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
	arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names property
	arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
	arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
	arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name
	arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
	arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name
	arm64: dts: renesas: beacon-renesom: Fix gpio expander reference
	ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference
	ARM: dts: imx7s: correct iomuxc gpr mux controller cells
	arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
	blk-mq: avoid sleep in blk_mq_alloc_request_hctx
	blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
	blk-mq: correct stale comment of .get_budget
	s390/dasd: Prepare for additional path event handling
	s390/dasd: Fix potential memleak in dasd_eckd_init()
	sched/deadline,rt: Remove unused parameter from pick_next_[rt|dl]_entity()
	sched/rt: pick_next_rt_entity(): check list_entry
	x86/perf/zhaoxin: Add stepping check for ZXC
	block: bio-integrity: Copy flags when bio_integrity_payload is cloned
	wifi: rsi: Fix memory leak in rsi_coex_attach()
	wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave()
	wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave()
	wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave()
	wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave()
	wifi: libertas: fix memory leak in lbs_init_adapter()
	wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
	rtlwifi: fix -Wpointer-sign warning
	wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
	libbpf: Fix btf__align_of() by taking into account field offsets
	wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
	wifi: ipw2200: fix memory leak in ipw_wdev_init()
	wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()
	wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
	wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid()
	wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
	wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
	wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
	wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
	wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
	crypto: x86/ghash - fix unaligned access in ghash_setkey()
	ACPICA: Drop port I/O validation for some regions
	genirq: Fix the return type of kstat_cpu_irqs_sum()
	rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose
	rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls
	rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes()
	lib/mpi: Fix buffer overrun when SG is too long
	crypto: ccp: Use the stack for small SEV command buffers
	crypto: ccp: Use the stack and common buffer for status commands
	crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak
	crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2
	ACPICA: nsrepair: handle cases without a return value correctly
	thermal/drivers/tsens: Drop msm8976-specific defines
	thermal/drivers/qcom/tsens_v1: Enable sensor 3 on MSM8976
	thermal/drivers/tsens: Add compat string for the qcom,msm8960
	thermal/drivers/tsens: Sort out msm8976 vs msm8956 data
	wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU
	wifi: orinoco: check return value of hermes_write_wordrec()
	wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
	ath9k: hif_usb: simplify if-if to if-else
	ath9k: htc: clean up statistics macros
	wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
	wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
	wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup
	wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data()
	ACPI: battery: Fix missing NUL-termination with large strings
	crypto: ccp - Failure on re-initialization due to duplicate sysfs filename
	crypto: essiv - Handle EBUSY correctly
	crypto: seqiv - Handle EBUSY correctly
	powercap: fix possible name leak in powercap_register_zone()
	x86/cpu: Init AP exception handling from cpu_init_secondary()
	x86/microcode: Replace deprecated CPU-hotplug functions.
	x86: Mark stop_this_cpu() __noreturn
	x86/microcode: Rip out the OLD_INTERFACE
	x86/microcode: Default-disable late loading
	x86/microcode: Print previous version of microcode after reload
	x86/microcode: Add a parameter to microcode_check() to store CPU capabilities
	x86/microcode: Check CPU capabilities after late microcode update correctly
	x86/microcode: Adjust late loading result reporting message
	net: ethernet: ti: am65-cpsw: fix tx csum offload for multi mac mode
	net: ethernet: ti: am65-cpsw: handle deferred probe with dev_err_probe()
	net: ethernet: ti: add missing of_node_put before return
	crypto: xts - Handle EBUSY correctly
	leds: led-class: Add missing put_device() to led_put()
	crypto: ccp - Refactor out sev_fw_alloc()
	crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware
	bpftool: profile online CPUs instead of possible
	net/mlx5: Enhance debug print in page allocation failure
	irqchip: Fix refcount leak in platform_irqchip_probe
	irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
	irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
	irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
	s390/vmem: fix empty page tables cleanup under KASAN
	net: add sock_init_data_uid()
	tun: tun_chr_open(): correctly initialize socket uid
	tap: tap_open(): correctly initialize socket uid
	OPP: fix error checking in opp_migrate_dentry()
	Bluetooth: L2CAP: Fix potential user-after-free
	libbpf: Fix alen calculation in libbpf_nla_dump_errormsg()
	rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
	crypto: rsa-pkcs1pad - Use akcipher_request_complete
	m68k: /proc/hardware should depend on PROC_FS
	RISC-V: time: initialize hrtimer based broadcast clock event device
	wifi: iwl3945: Add missing check for create_singlethread_workqueue
	wifi: iwl4965: Add missing check for create_singlethread_workqueue()
	wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
	selftests/bpf: Fix out-of-srctree build
	crypto: crypto4xx - Call dma_unmap_page when done
	wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
	thermal/drivers/hisi: Drop second sensor hi3660
	can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
	bpf: Fix global subprog context argument resolution logic
	irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts
	irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
	selftests/net: Interpret UDP_GRO cmsg data as an int value
	l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()
	net: bcmgenet: fix MoCA LED control
	selftest: fib_tests: Always cleanup before exit
	sefltests: netdevsim: wait for devlink instance after netns removal
	drm: Fix potential null-ptr-deref due to drmm_mode_config_init()
	drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
	drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
	drm/bridge: megachips: Fix error handling in i2c_register_driver()
	drm/vkms: Fix null-ptr-deref in vkms_release()
	drm/vc4: dpi: Add option for inverting pixel clock and output enable
	drm/vc4: dpi: Fix format mapping for RGB565
	drm: tidss: Fix pixel format definition
	gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
	drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
	pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins
	pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
	pinctrl: rockchip: add support for rk3568
	pinctrl: rockchip: do coding style for mux route struct
	pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
	drm/vc4: hvs: Set AXI panic modes
	drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5
	drm/vc4: hdmi: Correct interlaced timings again
	ASoC: fsl_sai: initialize is_dsp_mode flag
	drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()
	ALSA: hda/ca0132: minor fix for allocation size
	drm/msm/dpu: Disallow unallocated resources to be returned
	drm/bridge: lt9611: fix sleep mode setup
	drm/bridge: lt9611: fix HPD reenablement
	drm/bridge: lt9611: fix polarity programming
	drm/bridge: lt9611: fix programming of video modes
	drm/bridge: lt9611: fix clock calculation
	drm/bridge: lt9611: pass a pointer to the of node
	drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
	drm/msm: use strscpy instead of strncpy
	drm/msm/dpu: Add check for cstate
	drm/msm/dpu: Add check for pstates
	drm/msm/mdp5: Add check for kzalloc
	pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback()
	pinctrl: mediatek: Initialize variable pullen and pullup to zero
	pinctrl: mediatek: Initialize variable *buf to zero
	gpu: host1x: Don't skip assigning syncpoints to channels
	drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd
	drm/mediatek: Use NULL instead of 0 for NULL pointer
	drm/mediatek: Drop unbalanced obj unref
	drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc
	drm/mediatek: Clean dangling pointer on bind error path
	ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
	gpio: vf610: connect GPIO label to dev name
	spi: dw_bt1: fix MUX_MMIO dependencies
	ASoC: mchp-spdifrx: fix controls which rely on rsr register
	ASoC: atmel: fix spelling mistakes
	ASoC: mchp-spdifrx: fix return value in case completion times out
	ASoC: mchp-spdifrx: fix controls that works with completion mechanism
	ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
	ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
	ASoC: dt-bindings: meson: fix gx-card codec node regex
	hwmon: (ltc2945) Handle error case in ltc2945_value_store
	drm/amdgpu: fix enum odm_combine_mode mismatch
	scsi: mpt3sas: Fix a memory leak
	scsi: aic94xx: Add missing check for dma_map_single()
	spi: bcm63xx-hsspi: fix pm_runtime
	spi: bcm63xx-hsspi: Fix multi-bit mode setting
	hwmon: (mlxreg-fan) Return zero speed for broken fan
	ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
	dm: remove flush_scheduled_work() during local_exit()
	NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode()
	NFSv4: keep state manager thread active if swap is enabled
	nfs4trace: fix state manager flag printing
	NFS: fix disabling of swap
	spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
	ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
	HID: bigben: use spinlock to protect concurrent accesses
	HID: bigben_worker() remove unneeded check on report_field
	HID: bigben: use spinlock to safely schedule workers
	hid: bigben_probe(): validate report count
	nfsd: fix race to check ls_layouts
	cifs: Fix lost destroy smbd connection when MR allocate failed
	cifs: Fix warning and UAF when destroy the MR list
	gfs2: jdata writepage fix
	perf llvm: Fix inadvertent file creation
	leds: led-core: Fix refcount leak in of_led_get()
	perf tools: Fix auto-complete on aarch64
	sparc: allow PM configs for sparc32 COMPILE_TEST
	selftests/ftrace: Fix bash specific "==" operator
	printf: fix errname.c list
	objtool: add UACCESS exceptions for __tsan_volatile_read/write
	mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
	clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
	clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
	RISC-V: fix funct4 definition for c.jalr in parse_asm.h
	mtd: rawnand: sunxi: Fix the size of the last OOB region
	Input: iqs269a - drop unused device node references
	Input: iqs269a - increase interrupt handler return delay
	Input: iqs269a - configure device with a single block write
	linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>
	clk: renesas: cpg-mssr: Fix use after free if cpg_mssr_common_init() failed
	clk: renesas: cpg-mssr: Remove superfluous check in resume code
	clk: imx: avoid memory leak
	Input: ads7846 - don't report pressure for ads7845
	Input: ads7846 - convert to full duplex
	Input: ads7846 - convert to one message
	Input: ads7846 - always set last command to PWRDOWN
	Input: ads7846 - don't check penirq immediately for 7845
	clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
	clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
	powerpc/powernv/ioda: Skip unallocated resources when mapping to PE
	clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
	powerpc/perf/hv-24x7: add missing RTAS retry status handling
	powerpc/pseries/lpar: add missing RTAS retry status handling
	powerpc/pseries/lparcfg: add missing RTAS retry status handling
	powerpc/rtas: make all exports GPL
	powerpc/rtas: ensure 4KB alignment for rtas_data_buf
	powerpc/eeh: Small refactor of eeh_handle_normal_event()
	powerpc/eeh: Set channel state after notifying the drivers
	MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
	MIPS: vpe-mt: drop physical_memsize
	vdpa/mlx5: Don't clear mr struct on destroy MR
	alpha/boot/tools/objstrip: fix the check for ELF header
	Input: iqs269a - do not poll during suspend or resume
	Input: iqs269a - do not poll during ATI
	remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers
	media: ti: cal: fix possible memory leak in cal_ctx_create()
	media: platform: ti: Add missing check for devm_regulator_get
	powerpc: Remove linker flag from KBUILD_AFLAGS
	builddeb: clean generated package content
	media: max9286: Fix memleak in max9286_v4l2_register()
	media: ov2740: Fix memleak in ov2740_init_controls()
	media: ov5675: Fix memleak in ov5675_init_controls()
	media: i2c: ov772x: Fix memleak in ov772x_probe()
	media: i2c: imx219: remove redundant writes
	media: i2c: imx219: Split common registers from mode tables
	media: i2c: imx219: Fix binning for RAW8 capture
	media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
	media: i2c: ov7670: 0 instead of -EINVAL was returned
	media: usb: siano: Fix use after free bugs caused by do_submit_urb
	media: saa7134: Use video_unregister_device for radio_dev
	rpmsg: glink: Avoid infinite loop on intent for missing channel
	udf: Define EFSCORRUPTED error code
	ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
	blk-iocost: fix divide by 0 error in calc_lcoefs()
	wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect()
	wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
	rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks
	rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
	rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug
	wifi: ath11k: debugfs: fix to work with multiple PCI devices
	thermal: intel: Fix unsigned comparison with less than zero
	timers: Prevent union confusion from unexpected restart_syscall()
	x86/bugs: Reset speculation control settings on init
	wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
	wifi: mt7601u: fix an integer underflow
	inet: fix fast path in __inet_hash_connect()
	ice: add missing checks for PF vsi type
	ACPI: Don't build ACPICA with '-Os'
	clocksource: Suspend the watchdog temporarily when high read latency detected
	crypto: hisilicon: Wipe entire pool on error
	net: bcmgenet: Add a check for oversized packets
	m68k: Check syscall_trace_enter() return code
	wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
	ACPI: video: Fix Lenovo Ideapad Z570 DMI match
	net/mlx5: fw_tracer: Fix debug print
	coda: Avoid partial allocation of sig_inputArgs
	uaccess: Add minimum bounds check on kernel buffer size
	PM: EM: fix memory leak with using debugfs_lookup()
	Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE
	drm/amd/display: Fix potential null-deref in dm_resume
	drm/omap: dsi: Fix excessive stack usage
	HID: Add Mapping for System Microphone Mute
	drm/tiny: ili9486: Do not assume 8-bit only SPI controllers
	drm/radeon: free iio for atombios when driver shutdown
	drm: amd: display: Fix memory leakage
	drm/msm/dsi: Add missing check for alloc_ordered_workqueue
	docs/scripts/gdb: add necessary make scripts_gdb step
	ASoC: kirkwood: Iterate over array indexes instead of using pointer math
	regulator: max77802: Bounds check regulator id against opmode
	regulator: s5m8767: Bounds check id indexing into arrays
	gfs2: Improve gfs2_make_fs_rw error handling
	hwmon: (coretemp) Simplify platform device handling
	pinctrl: at91: use devm_kasprintf() to avoid potential leaks
	HID: logitech-hidpp: Don't restart communication if not necessary
	drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5
	dm thin: add cond_resched() to various workqueue loops
	dm cache: add cond_resched() to various workqueue loops
	nfsd: zero out pointers after putting nfsd_files on COPY setup error
	wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
	firmware: coreboot: framebuffer: Ignore reserved pixel color bits
	rtc: pm8xxx: fix set-alarm race
	ipmi_ssif: Rename idle state and check
	s390/extmem: return correct segment type in __segment_load()
	s390: discard .interp section
	s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
	s390/kprobes: fix current_kprobe never cleared after kprobes reenter
	cifs: Fix uninitialized memory read in smb3_qfs_tcon()
	ARM: dts: exynos: correct HDMI phy compatible in Exynos4
	hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
	fs: hfsplus: fix UAF issue in hfsplus_put_super
	exfat: fix reporting fs error when reading dir beyond EOF
	exfat: fix unexpected EOF while reading dir
	exfat: redefine DIR_DELETED as the bad cluster number
	exfat: fix inode->i_blocks for non-512 byte sector size device
	f2fs: fix information leak in f2fs_move_inline_dirents()
	f2fs: fix cgroup writeback accounting with fs-layer encryption
	ocfs2: fix defrag path triggering jbd2 ASSERT
	ocfs2: fix non-auto defrag path not working issue
	udf: Truncate added extents on failed expansion
	udf: Do not bother merging very long extents
	udf: Do not update file length for failed writes to inline files
	udf: Preserve link count of system files
	udf: Detect system inodes linked into directory hierarchy
	udf: Fix file corruption when appending just after end of preallocated extent
	KVM: Destroy target device if coalesced MMIO unregistration fails
	KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI
	KVM: s390: disable migration mode when dirty tracking is disabled
	x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows)
	x86/crash: Disable virt in core NMI crash handler to avoid double shootdown
	x86/reboot: Disable virtualization in an emergency if SVM is supported
	x86/reboot: Disable SVM, not just VMX, when stopping CPUs
	x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
	x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
	x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter
	x86/microcode/AMD: Add a @cpu parameter to the reloading functions
	x86/microcode/AMD: Fix mixed steppings support
	x86/speculation: Allow enabling STIBP with legacy IBRS
	Documentation/hw-vuln: Document the interaction between IBRS and STIBP
	brd: return 0/-error from brd_insert_page()
	ima: Align ima_file_mmap() parameters with mmap_file LSM hook
	irqdomain: Fix association race
	irqdomain: Fix disassociation race
	irqdomain: Drop bogus fwspec-mapping error handling
	io_uring: handle TIF_NOTIFY_RESUME when checking for task_work
	io_uring: mark task TASK_RUNNING before handling resume/task work
	io_uring: add a conditional reschedule to the IOPOLL cancelation loop
	io_uring/rsrc: disallow multi-source reg buffers
	io_uring: remove MSG_NOSIGNAL from recvmsg
	io_uring/poll: allow some retries for poll triggering spuriously
	ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
	ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC
	jbd2: fix data missing when reusing bh which is ready to be checkpointed
	ext4: optimize ea_inode block expansion
	ext4: refuse to create ea block when umounted
	mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
	dm: add cond_resched() to dm_wq_work()
	wifi: rtl8xxxu: Use a longer retry limit of 48
	wifi: cfg80211: Fix use after free for wext
	thermal: intel: powerclamp: Fix cur_state for multi package system
	dm flakey: fix logic when corrupting a bio
	dm flakey: don't corrupt the zero page
	ARM: dts: exynos: correct TMU phandle in Exynos4210
	ARM: dts: exynos: correct TMU phandle in Exynos4
	ARM: dts: exynos: correct TMU phandle in Odroid XU3 family
	ARM: dts: exynos: correct TMU phandle in Exynos5250
	ARM: dts: exynos: correct TMU phandle in Odroid XU
	ARM: dts: exynos: correct TMU phandle in Odroid HC1
	rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
	alpha: fix FEN fault handling
	dax/kmem: Fix leak of memory-hotplug resources
	mips: fix syscall_get_nr
	media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
	remoteproc/mtk_scp: Move clk ops outside send_lock
	docs: gdbmacros: print newest record
	mm: memcontrol: deprecate charge moving
	mm/thp: check and bail out if page in deferred queue already
	ktest.pl: Give back console on Ctrt^C on monitor
	ktest.pl: Fix missing "end_monitor" when machine check fails
	ktest.pl: Add RUN_TIMEOUT option with default unlimited
	ring-buffer: Handle race between rb_move_tail and rb_check_pages
	scsi: qla2xxx: Fix link failure in NPIV environment
	scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests
	scsi: qla2xxx: Fix erroneous link down
	scsi: ses: Don't attach if enclosure has no components
	scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
	scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
	scsi: ses: Fix possible desc_ptr out-of-bounds accesses
	scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
	riscv: jump_label: Fixup unaligned arch_static_branch function
	PCI/PM: Observe reset delay irrespective of bridge_d3
	PCI: hotplug: Allow marking devices as disconnected during bind/unbind
	PCI: Avoid FLR for AMD FCH AHCI adapters
	vfio/type1: prevent underflow of locked_vm via exec()
	drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv
	drm/radeon: Fix eDP for single-display iMac11,2
	drm/edid: fix AVI infoframe aspect ratio handling
	arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY
	wifi: ath9k: use proper statements in conditionals
	pinctrl: rockchip: fix mux route data for rk3568
	pinctrl: rockchip: fix reading pull type on rk3568
	kbuild: Port silent mode detection to future gnu make.
	net/sched: Retire tcindex classifier
	fs/jfs: fix shift exponent db_agl2size negative
	objtool: Fix memory leak in create_static_call_sections()
	pwm: sifive: Reduce time the controller lock is held
	pwm: sifive: Always let the first pwm_apply_state succeed
	pwm: stm32-lp: fix the check on arr and cmp registers update
	f2fs: use memcpy_{to,from}_page() where possible
	fs: f2fs: initialize fsdata in pagecache_write()
	um: vector: Fix memory leak in vector_config
	ubi: ensure that VID header offset + VID header size <= alloc, size
	ubifs: Fix build errors as symbol undefined
	ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
	ubifs: Rectify space budget for ubifs_xrename()
	ubifs: Fix wrong dirty space budget for dirty inode
	ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
	ubifs: Reserve one leb for each journal head while doing budget
	ubi: Fix use-after-free when volume resizing failed
	ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
	ubifs: Fix memory leak in alloc_wbufs()
	ubi: Fix possible null-ptr-deref in ubi_free_volume()
	ubifs: Re-statistic cleaned znode count if commit failed
	ubifs: dirty_cow_znode: Fix memleak in error handling path
	ubifs: ubifs_writepage: Mark page dirty after writing inode failed
	ubi: fastmap: Fix missed fm_anchor PEB in wear-leveling after disabling fastmap
	ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
	ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
	x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
	watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
	watchdog: Fix kmemleak in watchdog_cdev_register
	watchdog: pcwd_usb: Fix attempting to access uninitialized memory
	netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
	netfilter: ebtables: fix table blob use-after-free
	ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
	sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop
	net: fix __dev_kfree_skb_any() vs drop monitor
	9p/xen: fix version parsing
	9p/xen: fix connection sequence
	9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
	net/mlx5: Geneve, Fix handling of Geneve object id as error code
	nfc: fix memory leak of se_io context in nfc_genl_se_io
	net/sched: act_sample: fix action bind logic
	ARM: dts: spear320-hmi: correct STMPE GPIO compatible
	tcp: tcp_check_req() can be called from process context
	vc_screen: modify vcs_size() handling in vcs_read()
	rtc: sun6i: Always export the internal oscillator
	scsi: ipr: Work around fortify-string warning
	loop: loop_set_status_from_info() check before assignment
	ASoC: adau7118: don't disable regulators on device unbind
	ASoC: zl38060: Remove spurious gpiolib select
	ASoC: zl38060 add gpiolib dependency
	thermal: intel: quark_dts: fix error pointer dereference
	thermal: intel: BXT_PMIC: select REGMAP instead of depending on it
	tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
	firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
	bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
	mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
	IB/hfi1: Update RMT size calculation
	media: uvcvideo: Handle cameras with invalid descriptors
	media: uvcvideo: Handle errors from calls to usb_string
	media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910
	media: uvcvideo: Silence memcpy() run-time false positive warnings
	staging: emxx_udc: Add checks for dma_alloc_coherent()
	tty: fix out-of-bounds access in tty_driver_lookup_tty()
	tty: serial: fsl_lpuart: disable the CTS when send break signal
	serial: sc16is7xx: setup GPIO controller later in probe
	mei: bus-fixup:upon error print return values of send and receive
	tools/iio/iio_utils:fix memory leak
	iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
	iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word()
	PCI: loongson: Prevent LS7A MRRS increases
	usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
	USB: ene_usb6250: Allocate enough memory for full object
	usb: uvc: Enumerate valid values for color matching
	usb: gadget: uvc: Make bSourceID read/write
	PCI: Align extra resources for hotplug bridges properly
	PCI: Take other bus devices into account when distributing resources
	kernel/fail_function: fix memory leak with using debugfs_lookup()
	PCI: loongson: Add more devices that need MRRS quirk
	PCI: Add ACS quirk for Wangxun NICs
	phy: rockchip-typec: Fix unsigned comparison with less than zero
	soundwire: cadence: Remove wasted space in response_buf
	soundwire: cadence: Drain the RX FIFO after an IO timeout
	net: tls: avoid hanging tasks on the tx_lock
	x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid}
	x86/resctl: fix scheduler confusion with 'current'
	drm/display/dp_mst: Fix down/up message handling after sink disconnect
	drm/display/dp_mst: Fix down message handling after a packet reception error
	Bluetooth: hci_sock: purge socket queues in the destruct() callback
	tcp: Fix listen() regression in 5.10.163
	drm/virtio: Fix error code in virtio_gpu_object_shmem_init()
	media: uvcvideo: Provide sync and async uvc_ctrl_status_event
	media: uvcvideo: Fix race condition with usb_kill_urb
	Revert "scsi: mpt3sas: Fix return value check of dma_get_required_mask()"
	scsi: mpt3sas: Don't change DMA mask while reallocating pools
	scsi: mpt3sas: re-do lost mpt3sas DMA mask fix
	scsi: mpt3sas: Remove usage of dma_get_required_mask() API
	malidp: Fix NULL vs IS_ERR() checking
	usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
	Linux 5.10.173

Change-Id: Iedcbc093feb171d48c70976d0aa99e972fac3ad1
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-03-22 11:21:35 +00:00
Yuezhang Mo
f9dbc35ecb exfat: fix inode->i_blocks for non-512 byte sector size device
commit 39c1ce8eafc0ff64fb9e28536ccc7df6a8e2999d upstream.

inode->i_blocks is not real number of blocks, but 512 byte ones.

Fixes: 98d917047e ("exfat: add file operations")
Cc: stable@vger.kernel.org # v5.7+
Reported-by: Wang Yugui <wangyugui@e16-tech.com>
Tested-by: Wang Yugui <wangyugui@e16-tech.com>
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-11 16:39:56 +01:00
Sungjong Seo
4017209e08 exfat: redefine DIR_DELETED as the bad cluster number
commit bdaadfd343e3cba49ad0b009ff4b148dad0fa404 upstream.

When a file or a directory is deleted, the hint for the cluster of
its parent directory in its in-memory inode is set as DIR_DELETED.
Therefore, DIR_DELETED must be one of invalid cluster numbers. According
to the exFAT specification, a volume can have at most 2^32-11 clusters.
However, DIR_DELETED is wrongly defined as 0xFFFF0321, which could be
a valid cluster number. To fix it, let's redefine DIR_DELETED as
0xFFFFFFF7, the bad cluster number.

Fixes: 1acf1a564b ("exfat: add in-memory and on-disk structures and headers")
Cc: stable@vger.kernel.org # v5.7+
Reported-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-11 16:39:56 +01:00
Yuezhang Mo
c2d1997074 exfat: fix unexpected EOF while reading dir
commit 6cb5d1a16a51d080fbc1649a5144cbc5ca7d6f88 upstream.

If the position is not aligned with the dentry size, the return
value of readdir() will be NULL and errno is 0, which means the
end of the directory stream is reached.

If the position is aligned with dentry size, but there is no file
or directory at the position, exfat_readdir() will continue to
get dentry from the next dentry. So the dentry gotten by readdir()
may not be at the position.

After this commit, if the position is not aligned with the dentry
size, round the position up to the dentry size and continue to get
the dentry.

Fixes: ca06197382 ("exfat: add directory operations")
Cc: stable@vger.kernel.org # v5.7+
Reported-by: Wang Yugui <wangyugui@e16-tech.com>
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-11 16:39:56 +01:00
Yuezhang Mo
34b0588341 exfat: fix reporting fs error when reading dir beyond EOF
commit 706fdcac002316893434d753be8cfb549fe1d40d upstream.

Since seekdir() does not check whether the position is valid, the
position may exceed the size of the directory. We found that for
a directory with discontinuous clusters, if the position exceeds
the size of the directory and the excess size is greater than or
equal to the cluster size, exfat_readdir() will return -EIO,
causing a file system error and making the file system unavailable.

Reproduce this bug by:

seekdir(dir, dir_size + cluster_size);
dirent = readdir(dir);

The following log will be printed if mount with 'errors=remount-ro'.

[11166.712896] exFAT-fs (sdb1): error, invalid access to FAT (entry 0xffffffff)
[11166.712905] exFAT-fs (sdb1): Filesystem has been set read-only

Fixes: 1e5654de0f51 ("exfat: handle wrong stream entry size in exfat_readdir()")
Cc: stable@vger.kernel.org # v5.7+
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-11 16:39:56 +01:00
Greg Kroah-Hartman
ee965fe12d Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
Sync up with android12-5.10 for the following commits:

fb39cdb9ea ANDROID: export reclaim_pages
1f8f6d59a2 ANDROID: vendor_hook: Add hook to not be stuck ro rmap lock in kswapd or direct_reclaim
91bfc78bc0 ANDROID: Update symbol list for mtk
02df0b2661 ANDROID: GKI: rockchip: Add symbols for crypto
efdf581d14 ANDROID: GKI: rockchip: Add symbol pci_disable_link_state
504ce2d3a6 ANDROID: GKI: rockchip: Add symbols for sound
a6b6bc98b7 ANDROID: GKI: rockchip: Add symbols for video
f3a311b456 BACKPORT: f2fs: do not set compression bit if kernel doesn't support
b0988144b0 UPSTREAM: exfat: improve performance of exfat_free_cluster when using dirsync mount
00d3b8c0cc ANDROID: GKI: rockchip: Add symbols for drm dp
936f1e35d1 UPSTREAM: arm64: perf: Support new DT compatibles
ed931dc8ff UPSTREAM: arm64: perf: Simplify registration boilerplate
bb6c018ab6 UPSTREAM: arm64: perf: Support Denver and Carmel PMUs
d306fd9d47 UPSTREAM: arm64: perf: add support for Cortex-A78
09f78c3f7e ANDROID: GKI: rockchip: Update symbol for devfreq
e7ed66854e ANDROID: GKI: rockchip: Update symbols for drm
a3e70ff5bf ANDROID: GKI: Update symbols to symbol list
a09241c6dd UPSTREAM: ASoC: hdmi-codec: make hdmi_codec_controls static
9eda09e511 UPSTREAM: ASoC: hdmi-codec: Add a prepare hook
4ad97b395f UPSTREAM: ASoC: hdmi-codec: Add iec958 controls
c0c2f6962d UPSTREAM: ASoC: hdmi-codec: Rework to support more controls
4c6eb3db8a UPSTREAM: ALSA: iec958: Split status creation and fill
580d2e7c78 UPSTREAM: ALSA: doc: Clarify IEC958 controls iface
8b4bb1bca0 UPSTREAM: ASoC: hdmi-codec: remove unused spk_mask member
5a2c4a5d1e UPSTREAM: ASoC: hdmi-codec: remove useless initialization
49e502f0c0 UPSTREAM: ASoC: codec: hdmi-codec: Support IEC958 encoded PCM format
9bf69acb92 UPSTREAM: ASoC: hdmi-codec: Fix return value in hdmi_codec_set_jack()
056409c7dc UPSTREAM: ASoC: hdmi-codec: Add RX support
5e75deab3a UPSTREAM: ASoC: hdmi-codec: Get ELD in before reporting plugged event
d6207c39cb ANDROID: GKI: rockchip: Add symbols for display driver
1c3ed9d481 BACKPORT: KVM: x86/mmu: fix NULL pointer dereference on guest INVPCID
843d3cb41b BACKPORT: io_uring: always grab file table for deferred statx
784cc16aed BACKPORT: Bluetooth: L2CAP: Fix use-after-free caused by l2cap_chan_put
2b377175a3 ANDROID: add two func in mm/memcontrol.c
e56f8712cf ANDROID: vendor_hooks: protect multi-mapcount pages in kernel
3f775b9367 ANDROID: vendor_hooks: account page-mapcount
1d2287f56e FROMGIT: io_uring: Use original task for req identity in io_identity_cow()
e0c9da25b2 FROMLIST: binder: fix UAF of ref->proc caused by race condition
12f4322442 ANDROID: vendor_hooks: Guard cgroup struct with CONFIG_CGROUPS
6532784c78 ANDROID: vendor_hooks: add hooks for remove_vm_area.
c9a70dd592 ANDROID: GKI: allow mm vendor hooks header inclusion from header files
039080d064 ANDROID: Update symbol list of mediatek
9e8dedef1e ANDROID: sched: add vendor hook to PELT multiplier
573c7f061d ANDROID: Guard hooks with their CONFIG_ options
14f646cca5 ANDROID: fix kernelci issue for allnoconfig builds
4442801a43 ANDROID: sched: Introducing PELT multiplier
b2e5773ea4 FROMGIT: binder: fix redefinition of seq_file attributes
9c2a5eef8f Merge tag 'android12-5.10.117_r00' into 'android12-5.10'
5fa1e1affc ANDROID: GKI: pcie: Fix the broken dw_pcie structure
51b3e17071 UPSTREAM: PCI: dwc: Support multiple ATU memory regions
a8d7f6518e ANDROID: oplus: Update the ABI xml and symbol list
4536de1b70 ANDROID: vendor_hooks: add hooks in __alloc_pages_slowpath
d63c961c9d ANDROID: GKI: Update symbols to symbol list
41cbbe08f9 FROMGIT: arm64: fix oops in concurrently setting insn_emulation sysctls
c301d142e8 FROMGIT: usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bootup
8b19ed264b ANDROID: vendor_hooks:vendor hook for mmput
242b11e574 ANDROID: vendor_hooks:vendor hook for pidfd_open
0e1cb27700 ANDROID: vendor_hook: Add hook in shmem_writepage()
8ee37d0bcd BACKPORT: iommu/dma: Fix race condition during iova_domain initialization
321bf845e1 FROMGIT: usb: dwc3: core: Deprecate GCTL.CORESOFTRESET
c5eb0edfde FROMGIT: usb: dwc3: gadget: Prevent repeat pullup()
8de633b735 FROMGIT: Binder: add TF_UPDATE_TXN to replace outdated txn
e8fce59434 BACKPORT: FROMGIT: cgroup: Use separate src/dst nodes when preloading css_sets for migration
f26c566455 UPSTREAM: usb: gadget: f_uac2: allow changing interface name via configfs
98fa7f7dfd UPSTREAM: usb: gadget: f_uac1: allow changing interface name via configfs
29172165ca UPSTREAM: usb: gadget: f_uac1: Add suspend callback
ff5468c71e UPSTREAM: usb: gadget: f_uac2: Add suspend callback
31e6d620c1 UPSTREAM: usb: gadget: u_audio: Add suspend call
17643c1fdd UPSTREAM: usb: gadget: u_audio: Rate ctl notifies about current srate (0=stopped)
308955e3a6 UPSTREAM: usb: gadget: f_uac1: Support multiple sampling rates
ae03eadb42 UPSTREAM: usb: gadget: f_uac2: Support multiple sampling rates
bedc53fae4 UPSTREAM: usb: gadget:audio: Replace deprecated macro S_IRUGO
37e0d5eddb UPSTREAM: usb: gadget: u_audio: Add capture/playback srate getter
3251bb3250 UPSTREAM: usb: gadget: u_audio: Move dynamic srate from params to rtd
530916be97 UPSTREAM: usb: gadget: u_audio: Support multiple sampling rates
7f496d5a99 UPSTREAM: docs: ABI: fixed formatting in configfs-usb-gadget-uac2
2500cb53e6 UPSTREAM: usb: gadget: u_audio: Subdevice 0 for capture ctls
c386f34bd4 UPSTREAM: usb: gadget: u_audio: fix calculations for small bInterval
f74e3e2fe4 UPSTREAM: docs: ABI: fixed req_number desc in UAC1
02949bae5c UPSTREAM: docs: ABI: added missing num_requests param to UAC2
e1377ac38f UPSTREAM: usb:gadget: f_uac1: fixed sync playback
4b7c8905c5 UPSTREAM: usb: gadget: u_audio.c: Adding Playback Pitch ctl for sync playback
e29d2b5178 UPSTREAM: ABI: configfs-usb-gadget-uac2: fix a broken table
ec313ae88d UPSTREAM: ABI: configfs-usb-gadget-uac1: fix a broken table
bf46bbe087 UPSTREAM: usb: gadget: f_uac1: fixing inconsistent indenting
b9c4cbbf7a UPSTREAM: docs: usb: fix malformed table
a380b466e0 UPSTREAM: usb: gadget: f_uac1: add volume and mute support
e2c0816af2 BACKPORT: usb: gadget: f_uac2: add volume and mute support
8430eb0243 UPSTREAM: usb: gadget: u_audio: add bi-directional volume and mute support
257d21b184 UPSTREAM: usb: audio-v2: add ability to define feature unit descriptor
1002747429 ANDROID: mm: shmem: use reclaim_pages() to recalim pages from a list
6719763187 UPSTREAM: usb: gadget: f_uac1: disable IN/OUT ep if unused

And add the new symbols being tracked due to abi additions from the
android12-5.10 branch:

Leaf changes summary: 85 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 69 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 16 Added variables

69 Added functions:

  [A] 'function void __dev_kfree_skb_irq(sk_buff*, skb_free_reason)'
  [A] 'function int __page_mapcount(page*)'
  [A] 'function int __traceiter_android_vh_add_page_to_lrulist(void*, page*, bool, lru_list)'
  [A] 'function int __traceiter_android_vh_alloc_pages_slowpath_begin(void*, gfp_t, unsigned int, unsigned long int*)'
  [A] 'function int __traceiter_android_vh_alloc_pages_slowpath_end(void*, gfp_t, unsigned int, unsigned long int)'
  [A] 'function int __traceiter_android_vh_del_page_from_lrulist(void*, page*, bool, lru_list)'
  [A] 'function int __traceiter_android_vh_do_traversal_lruvec(void*, lruvec*)'
  [A] 'function int __traceiter_android_vh_mark_page_accessed(void*, page*)'
  [A] 'function int __traceiter_android_vh_mutex_unlock_slowpath_end(void*, mutex*, task_struct*)'
  [A] 'function int __traceiter_android_vh_page_should_be_protected(void*, page*, bool*)'
  [A] 'function int __traceiter_android_vh_rwsem_mark_wake_readers(void*, rw_semaphore*, rwsem_waiter*)'
  [A] 'function int __traceiter_android_vh_rwsem_set_owner(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_rwsem_set_reader_owned(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_rwsem_up_read_end(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_rwsem_up_write_end(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_sched_pelt_multiplier(void*, unsigned int, unsigned int, int*)'
  [A] 'function int __traceiter_android_vh_show_mapcount_pages(void*, void*)'
  [A] 'function int __traceiter_android_vh_update_page_mapcount(void*, page*, bool, bool, bool*, bool*)'
  [A] 'function int __v4l2_ctrl_handler_setup(v4l2_ctrl_handler*)'
  [A] 'function int crypto_ahash_final(ahash_request*)'
  [A] 'function crypto_akcipher* crypto_alloc_akcipher(const char*, u32, u32)'
  [A] 'function int crypto_register_akcipher(akcipher_alg*)'
  [A] 'function void crypto_unregister_akcipher(akcipher_alg*)'
  [A] 'function int des_expand_key(des_ctx*, const u8*, unsigned int)'
  [A] 'function void dev_pm_opp_unregister_set_opp_helper(opp_table*)'
  [A] 'function net_device* devm_alloc_etherdev_mqs(device*, int, unsigned int, unsigned int)'
  [A] 'function mii_bus* devm_mdiobus_alloc_size(device*, int)'
  [A] 'function int devm_of_mdiobus_register(device*, mii_bus*, device_node*)'
  [A] 'function int devm_register_netdev(device*, net_device*)'
  [A] 'function bool disable_hardirq(unsigned int)'
  [A] 'function void do_traversal_all_lruvec()'
  [A] 'function drm_connector_status drm_bridge_detect(drm_bridge*)'
  [A] 'function edid* drm_bridge_get_edid(drm_bridge*, drm_connector*)'
  [A] 'function int drm_bridge_get_modes(drm_bridge*, drm_connector*)'
  [A] 'function int drm_dp_get_phy_test_pattern(drm_dp_aux*, drm_dp_phy_test_params*)'
  [A] 'function int drm_dp_read_desc(drm_dp_aux*, drm_dp_desc*, bool)'
  [A] 'function int drm_dp_read_dpcd_caps(drm_dp_aux*, u8*)'
  [A] 'function int drm_dp_read_sink_count(drm_dp_aux*)'
  [A] 'function int drm_dp_set_phy_test_pattern(drm_dp_aux*, drm_dp_phy_test_params*, u8)'
  [A] 'function uint64_t drm_format_info_min_pitch(const drm_format_info*, int, unsigned int)'
  [A] 'function int drm_mm_reserve_node(drm_mm*, drm_mm_node*)'
  [A] 'function bool drm_probe_ddc(i2c_adapter*)'
  [A] 'function void drm_self_refresh_helper_cleanup(drm_crtc*)'
  [A] 'function int drm_self_refresh_helper_init(drm_crtc*)'
  [A] 'function int get_pelt_halflife()'
  [A] 'function ssize_t hdmi_avi_infoframe_pack_only(const hdmi_avi_infoframe*, void*, size_t)'
  [A] 'function ssize_t iio_read_const_attr(device*, device_attribute*, char*)'
  [A] 'function bool mipi_dsi_packet_format_is_short(u8)'
  [A] 'function platform_device* of_device_alloc(device_node*, const char*, device*)'
  [A] 'function lruvec* page_to_lruvec(page*, pg_data_t*)'
  [A] 'function int pci_disable_link_state(pci_dev*, int)'
  [A] 'function int regmap_test_bits(regmap*, unsigned int, unsigned int)'
  [A] 'function unsigned int regulator_get_linear_step(regulator*)'
  [A] 'function int regulator_suspend_enable(regulator_dev*, suspend_state_t)'
  [A] 'function int rsa_parse_priv_key(rsa_key*, void*, unsigned int)'
  [A] 'function int rsa_parse_pub_key(rsa_key*, void*, unsigned int)'
  [A] 'function int sg_nents(scatterlist*)'
  [A] 'function int snd_pcm_create_iec958_consumer_default(u8*, size_t)'
  [A] 'function int snd_pcm_fill_iec958_consumer(snd_pcm_runtime*, u8*, size_t)'
  [A] 'function int snd_pcm_fill_iec958_consumer_hw_params(snd_pcm_hw_params*, u8*, size_t)'
  [A] 'function int snd_soc_dapm_force_bias_level(snd_soc_dapm_context*, snd_soc_bias_level)'
  [A] 'function int snd_soc_jack_add_zones(snd_soc_jack*, int, snd_soc_jack_zone*)'
  [A] 'function int snd_soc_jack_get_type(snd_soc_jack*, int)'
  [A] 'function void tcpm_tcpc_reset(tcpm_port*)'
  [A] 'function int v4l2_enum_dv_timings_cap(v4l2_enum_dv_timings*, const v4l2_dv_timings_cap*, v4l2_check_dv_timings_fnc*, void*)'
  [A] 'function void v4l2_print_dv_timings(const char*, const char*, const v4l2_dv_timings*, bool)'
  [A] 'function int v4l2_src_change_event_subdev_subscribe(v4l2_subdev*, v4l2_fh*, v4l2_event_subscription*)'
  [A] 'function void v4l2_subdev_notify_event(v4l2_subdev*, const v4l2_event*)'
  [A] 'function bool v4l2_valid_dv_timings(const v4l2_dv_timings*, const v4l2_dv_timings_cap*, v4l2_check_dv_timings_fnc*, void*)'

16 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_add_page_to_lrulist'
  [A] 'tracepoint __tracepoint_android_vh_alloc_pages_slowpath_begin'
  [A] 'tracepoint __tracepoint_android_vh_alloc_pages_slowpath_end'
  [A] 'tracepoint __tracepoint_android_vh_del_page_from_lrulist'
  [A] 'tracepoint __tracepoint_android_vh_do_traversal_lruvec'
  [A] 'tracepoint __tracepoint_android_vh_mark_page_accessed'
  [A] 'tracepoint __tracepoint_android_vh_mutex_unlock_slowpath_end'
  [A] 'tracepoint __tracepoint_android_vh_page_should_be_protected'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_mark_wake_readers'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_set_owner'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_set_reader_owned'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_up_read_end'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_up_write_end'
  [A] 'tracepoint __tracepoint_android_vh_sched_pelt_multiplier'
  [A] 'tracepoint __tracepoint_android_vh_show_mapcount_pages'
  [A] 'tracepoint __tracepoint_android_vh_update_page_mapcount'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I47eefe85b949d3f358da95a9b6553660b9be0791
2022-08-16 14:34:54 +02:00
liujinbao1
b0988144b0 UPSTREAM: exfat: improve performance of exfat_free_cluster when using dirsync mount
There are stressful update of cluster allocation bitmap when using
dirsync mount option which is doing sync buffer on every cluster bit
clearing. This could result in performance degradation when deleting
big size file.
Fix to update only when the bitmap buffer index is changed would make
less disk access, improving performance especially for truncate operation.

Testing with Samsung 256GB sdcard, mounted with dirsync option
(mount -t exfat /dev/block/mmcblk0p1 /temp/mount -o dirsync)

Remove 4GB file, blktrace result.
[Before] : 39 secs.
Total (blktrace):
 Reads Queued:      0,        0KiB   Writes Queued:      32775,    16387KiB
 Read Dispatches:   0,        0KiB   Write Dispatches:   32775,    16387KiB
 Reads Requeued:    0                Writes Requeued:        0
 Reads Completed:   0,        0KiB   Writes Completed:   32775,    16387KiB
 Read Merges:       0,        0KiB   Write Merges:           0,        0KiB
 IO unplugs:        2                Timer unplugs:          0

[After] : 1 sec.
Total (blktrace):
 Reads Queued:      0,        0KiB   Writes Queued:         13,        6KiB
 Read Dispatches:   0,        0KiB   Write Dispatches:      13,        6KiB
 Reads Requeued:    0                Writes Requeued:        0
 Reads Completed:   0,        0KiB   Writes Completed:      13,        6KiB
 Read Merges:       0,        0KiB   Write Merges:           0,        0KiB
 IO unplugs:        1                Timer unplugs:          0

Bug: 241198061

Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
(cherry picked from commit f728760aa923f1dd3a4818368dbdbd2c7d63b370)

Signed-off-by: liujinbao1 <liujinbao1@xiaomi.com>
Change-Id: I3931f005491c17489f5950293783270eb888fb09
Signed-off-by: liujinbao1 <liujinbao1@xiaomi.com>
2022-08-11 01:57:43 +00:00
Greg Kroah-Hartman
2de0a17df4 This is the 5.10.120 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmKdoegACgkQONu9yGCS
 aT6ytRAAjBTL+El1JeJ5W14PjtQEl45XhEqJ300SuF9Ob0ZBgooPbBa3rwPBw05T
 xpyT4/vLGmG87s2+KTUkAtfX8lhoWLbE+xx4zrOx49plbFVYYvqugzvzliXvZ8Zb
 2h1aP0SG8hrIFHMsN+qOZnmY3k9m8Z7rNZu/Eyq8zQ/z0SCmQ0EExq3PiKskrfyb
 4AcC5Y77UfUl9r7loyFVAPj5z5AOyE+d/5biFdLsJgHa+qHmoYTMKYy53BF8aD3v
 jIOZ4JzYZ+ybtkGSrPtXmay02c15TqWXgzlYRjpYQm75C69yFugxFt5usBsVAZmK
 JraaBEr13EdZhBvove2cV0ZK8afJfwoo2NuTBuxw52ZmEDvifkb7ESwPa/1kbAqI
 267e+yTtqRoge2STMXqU4J3GNbMNf9vmOq4x6NaaPF+Q2K05Z9xO64yh0uxhYx7i
 n/EoT2ESOrWguhICf+Gets58dmY6jbWNzlCKFJnbXiuYvx1AxcS1nzP0OrzeWsq8
 qii9QS8VouzLnKGXanRZKmjznxSWMyQ3UjA/u4pqL4ISsDy25ICxeSemLvtHIdSU
 Ksd+RQgL39e+V9ZXUZ+KQ6zm6a4gKXHsqxuq1UO4xzxYNnR7sgvDS4ACquLRae+N
 ISNrz0LP0bDDXHFK4ElU0LBs5jwdYRm67TSVSAOVjCl5B5tB8zk=
 =o88P
 -----END PGP SIGNATURE-----

Merge 5.10.120 into android12-5.10-lts

Changes in 5.10.120
	pinctrl: sunxi: fix f1c100s uart2 function
	percpu_ref_init(): clean ->percpu_count_ref on failure
	net: af_key: check encryption module availability consistency
	nfc: pn533: Fix buggy cleanup order
	net: ftgmac100: Disable hardware checksum on AST2600
	i2c: ismt: Provide a DMA buffer for Interrupt Cause Logging
	drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers
	netfilter: nf_tables: disallow non-stateful expression in sets earlier
	pipe: make poll_usage boolean and annotate its access
	pipe: Fix missing lock in pipe_resize_ring()
	cfg80211: set custom regdomain after wiphy registration
	assoc_array: Fix BUG_ON during garbage collect
	io_uring: don't re-import iovecs from callbacks
	io_uring: fix using under-expanded iters
	net: ipa: compute proper aggregation limit
	xfs: detect overflows in bmbt records
	xfs: show the proper user quota options
	xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks
	xfs: fix an ABBA deadlock in xfs_rename
	xfs: Fix CIL throttle hang when CIL space used going backwards
	drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency()
	exfat: check if cluster num is valid
	lib/crypto: add prompts back to crypto libraries
	crypto: drbg - prepare for more fine-grained tracking of seeding state
	crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
	crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
	crypto: drbg - make reseeding from get_random_bytes() synchronous
	netfilter: nf_tables: sanitize nft_set_desc_concat_parse()
	netfilter: conntrack: re-fetch conntrack after insertion
	KVM: PPC: Book3S HV: fix incorrect NULL check on list iterator
	x86/kvm: Alloc dummy async #PF token outside of raw spinlock
	x86, kvm: use correct GFP flags for preemption disabled
	KVM: x86: avoid calling x86 emulator without a decoded instruction
	crypto: caam - fix i.MX6SX entropy delay value
	crypto: ecrdsa - Fix incorrect use of vli_cmp
	zsmalloc: fix races between asynchronous zspage free and page migration
	Bluetooth: hci_qca: Use del_timer_sync() before freeing
	ARM: dts: s5pv210: Correct interrupt name for bluetooth in Aries
	dm integrity: fix error code in dm_integrity_ctr()
	dm crypt: make printing of the key constant-time
	dm stats: add cond_resched when looping over entries
	dm verity: set DM_TARGET_IMMUTABLE feature flag
	raid5: introduce MD_BROKEN
	HID: multitouch: Add support for Google Whiskers Touchpad
	HID: multitouch: add quirks to enable Lenovo X12 trackpoint
	tpm: Fix buffer access in tpm2_get_tpm_pt()
	tpm: ibmvtpm: Correct the return value in tpm_ibmvtpm_probe()
	docs: submitting-patches: Fix crossref to 'The canonical patch format'
	NFS: Memory allocation failures are not server fatal errors
	NFSD: Fix possible sleep during nfsd4_release_lockowner()
	bpf: Fix potential array overflow in bpf_trampoline_get_progs()
	bpf: Enlarge offset check value to INT_MAX in bpf_skb_{load,store}_bytes
	Linux 5.10.120

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I48c0d649a50bd16ad719b2cb9f0ffccd0a74519a
2022-07-23 16:09:48 +02:00
Hyeongseok Kim
74769685e4 BACKPORT: exfat: improve write performance when dirsync enabled
Degradation of write speed caused by frequent disk access for cluster
bitmap update on every cluster allocation could be improved by
selective syncing bitmap buffer. Change to flush bitmap buffer only
for the directory related operations.

Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Change-Id: I660931d6da488880337a33dd03b48cb0be0bb26c
Signed-off-by: Howard Chen <howardsoc@google.com>
(cherry picked from commit 23befe490ba885bdf757d40b2489134315fef690)
Bug: 233712676
2022-06-17 09:44:44 +00:00
Tadeusz Struk
82f723b8a5 exfat: check if cluster num is valid
commit 64ba4b15e5c045f8b746c6da5fc9be9a6b00b61d upstream.

Syzbot reported slab-out-of-bounds read in exfat_clear_bitmap.
This was triggered by reproducer calling truncute with size 0,
which causes the following trace:

BUG: KASAN: slab-out-of-bounds in exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174
Read of size 8 at addr ffff888115aa9508 by task syz-executor251/365

Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack_lvl+0x1e2/0x24b lib/dump_stack.c:118
 print_address_description+0x81/0x3c0 mm/kasan/report.c:233
 __kasan_report mm/kasan/report.c:419 [inline]
 kasan_report+0x1a4/0x1f0 mm/kasan/report.c:436
 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report_generic.c:309
 exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174
 exfat_free_cluster+0x25a/0x4a0 fs/exfat/fatent.c:181
 __exfat_truncate+0x99e/0xe00 fs/exfat/file.c:217
 exfat_truncate+0x11b/0x4f0 fs/exfat/file.c:243
 exfat_setattr+0xa03/0xd40 fs/exfat/file.c:339
 notify_change+0xb76/0xe10 fs/attr.c:336
 do_truncate+0x1ea/0x2d0 fs/open.c:65

Move the is_valid_cluster() helper from fatent.c to a common
header to make it reusable in other *.c files. And add is_valid_cluster()
to validate if cluster number is within valid range in exfat_clear_bitmap()
and exfat_set_bitmap().

Link: https://syzkaller.appspot.com/bug?id=50381fc73821ecae743b8cf24b4c9a04776f767c
Reported-by: syzbot+a4087e40b9c13aad7892@syzkaller.appspotmail.com
Fixes: 1e49a94cf7 ("exfat: add bitmap operations")
Cc: stable@vger.kernel.org # v5.7+
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-06 08:42:42 +02:00
Greg Kroah-Hartman
51790ed529 This is the 5.10.109 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmJBamMACgkQONu9yGCS
 aT7kCQ//drKTGahD3da+gR45YW67qsQKE1vuaary0cU9VcT1Z2XqI9J2W+LLLB8C
 bDkYEmloYbmUVTExlUy26CkZ01DvcMQHPigmboCODL8Lc0T5nNxpZWtvkMYhb8z4
 6iUVgVrj8YMkH/N1xT8Ba8LISEfjnVjQ9hrST7cfH/ssULr9qlwPogLprtZ9PzsJ
 EzkeLCJdhRswR70KnFbTsdiUKlxkZgc7dR5VqiEwoYKu0DmQxdAhvs727LOen5/Q
 GOowdR86zVPr6gjBqBjADv9YeLjAdey0FAP3B5CLj5byxzmcC/mrpvkTnBDfJxrC
 lvosEfvtKx3IPc9gIPZoHvsPS83rYour3zxbMYrHdB2FOVndxdhq7rPKBW3xA7Ft
 g+4oufeWQXkzSWD7TiIUwdceZv4B7a/PPpT5oxI4WkFwyc9ICNhJe3T4MkG5zNXv
 U8viVj7n9Ocq5t307ACz40CGk3jf9s7Fbszr/8vs9/pCUpebZwoLj9iSy/OIPC+y
 9hnkkqyhuMSWwPlZY9q/lU0IPfn+WdOS7fJUhEortWL7Hdbz8JgAG/yEG+guAQzO
 xKc8OG8yRpOKinTpCQLJJQFOzuka6DneZrUyMmT1/1G3Dwbzjanl4JKiu9sldJOh
 JV3rKLCMHrhtoaDQlkLeNtCmXg3JWIgADdhAibUir4b4E0WdMb0=
 =h4tU
 -----END PGP SIGNATURE-----

Merge 5.10.109 into android12-5.10-lts

Changes in 5.10.109
	nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION
	net: ipv6: fix skb_over_panic in __ip6_append_data
	exfat: avoid incorrectly releasing for root inode
	cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv
	cgroup: Use open-time cgroup namespace for process migration perm checks
	cgroup-v1: Correct privileges check in release_agent writes
	tpm: Fix error handling in async work
	staging: fbtft: fb_st7789v: reset display before initialization
	llc: fix netdevice reference leaks in llc_ui_bind()
	ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call
	ALSA: oss: Fix PCM OSS buffer allocation overflow
	ALSA: usb-audio: add mapping for new Corsair Virtuoso SE
	ALSA: hda/realtek: Add quirk for Clevo NP70PNJ
	ALSA: hda/realtek: Add quirk for Clevo NP50PNJ
	ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
	ALSA: hda/realtek: Add quirk for ASUS GA402
	ALSA: pcm: Fix races among concurrent hw_params and hw_free calls
	ALSA: pcm: Fix races among concurrent read/write and buffer changes
	ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls
	ALSA: pcm: Fix races among concurrent prealloc proc writes
	ALSA: pcm: Add stream lock during PCM reset ioctl operations
	ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB
	ALSA: cmipci: Restore aux vol on suspend/resume
	ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec
	drivers: net: xgene: Fix regression in CRC stripping
	netfilter: nf_tables: initialize registers in nft_do_chain()
	ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board
	ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3
	ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
	crypto: qat - disable registration of algorithms
	Revert "ath: add support for special 0x0 regulatory domain"
	rcu: Don't deboost before reporting expedited quiescent state
	mac80211: fix potential double free on mesh join
	tpm: use try_get_ops() in tpm-space.c
	wcn36xx: Differentiate wcn3660 from wcn3620
	nds32: fix access_ok() checks in get/put_user
	llc: only change llc->dev when bind() succeeds
	Linux 5.10.109

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifd757f0ec4ba643f7cbaf78aa899d3c159c4b877
2022-03-28 10:10:32 +02:00
Chen Li
9eeaa2d7d5 exfat: avoid incorrectly releasing for root inode
commit 839a534f1e853f1aec100d06040c0037b89c2dc3 upstream.

In d_make_root, when we fail to allocate dentry for root inode,
we will iput root inode and returned value is NULL in this function.

So we do not need to release this inode again at d_make_root's caller.

Signed-off-by: Chen Li <chenli@uniontech.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Cc: Tadeusz Struk <tadeusz.struk@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-28 09:57:07 +02:00
Greg Kroah-Hartman
0773736e48 This is the 5.10.104 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmInm+kACgkQONu9yGCS
 aT4/lw/6AoFz3oHbzlft4tCUn4UXQIut8gIiJfrXBnIqw6pa5YQPA1E7hgQBxTnG
 v9llnwDRFR7qouXq1qhoXU01vETiRqZ2ClkT/MnvLfRMQcHgtS9B61VgwnpNuNBg
 qStZORcqFi6rQHXySUgs2ObF6NZQ3BRyHY2LYqZPj0YkuHIdQo48WtQ9cy0XWZLV
 WT49LIVxkTZ6D0fs/k10qRv+M4lmeOzCqEZf4591F0sjoVuTFj3F1xMsSbu8W3xZ
 xXxE0hPbN0If3JFhnb3DqdQ20kRNSmrrV1CzYaN09jyP7KHpdIDVT8R1hSau3TFP
 3zd2fBWmOP0FPzOVkNnqetMuKspKH8p3kKW2rkTyHYcGtUFzh54Hm0QRpA3CVB3L
 JZje9HCkxWiBSl1mwypmBGp88kWOe+n3NRUOhX3yqPoT3R2n45coBV+sfSOakkxv
 K8mUw1FFbJTPjgJtMCs57zzxybInnMrAF5/7XA2MgHCr3SVvYQA7+joSPn3CO+0K
 zKO4kTdEmD9jTT+3vMDL4Z3VSmOJMVcxCHBTUrac/OBIiBz+7y9WQSc7a6aRbfdu
 k3wy7HJ98pmjYB6g73MJcXOtTwXuoTqur4QWU5MCgTw6+qglgRQHr5ILSs35ZeAV
 LO1zvAsklOWFMc/3fD8heLmKGBZ0GHcn+0Y7ZqfFKLmqOTnx7tA=
 =W+lo
 -----END PGP SIGNATURE-----

Merge 5.10.104 into android12-5.10-lts

Changes in 5.10.104
	mac80211_hwsim: report NOACK frames in tx_status
	mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
	i2c: bcm2835: Avoid clock stretching timeouts
	ASoC: rt5668: do not block workqueue if card is unbound
	ASoC: rt5682: do not block workqueue if card is unbound
	regulator: core: fix false positive in regulator_late_cleanup()
	Input: clear BTN_RIGHT/MIDDLE on buttonpads
	KVM: arm64: vgic: Read HW interrupt pending state from the HW
	tipc: fix a bit overflow in tipc_crypto_key_rcv()
	cifs: fix double free race when mount fails in cifs_get_root()
	selftests/seccomp: Fix seccomp failure by adding missing headers
	dmaengine: shdma: Fix runtime PM imbalance on error
	i2c: cadence: allow COMPILE_TEST
	i2c: qup: allow COMPILE_TEST
	net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
	usb: gadget: don't release an existing dev->buf
	usb: gadget: clear related members when goto fail
	exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()
	exfat: fix i_blocks for files truncated over 4 GiB
	tracing: Add test for user space strings when filtering on string pointers
	serial: stm32: prevent TDR register overwrite when sending x_char
	ata: pata_hpt37x: fix PCI clock detection
	drm/amdgpu: check vm ready by amdgpu_vm->evicting flag
	tracing: Add ustring operation to filtering string pointers
	ALSA: intel_hdmi: Fix reference to PCM buffer address
	riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value
	riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP
	riscv: Fix config KASAN && DEBUG_VIRTUAL
	ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
	iommu/amd: Recover from event log overflow
	drm/i915: s/JSP2/ICP2/ PCH
	xen/netfront: destroy queues before real_num_tx_queues is zeroed
	thermal: core: Fix TZ_GET_TRIP NULL pointer dereference
	ntb: intel: fix port config status offset for SPR
	mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls
	xfrm: fix MTU regression
	netfilter: fix use-after-free in __nf_register_net_hook()
	bpf, sockmap: Do not ignore orig_len parameter
	xfrm: fix the if_id check in changelink
	xfrm: enforce validity of offload input flags
	e1000e: Correct NVM checksum verification flow
	net: fix up skbs delta_truesize in UDP GRO frag_list
	netfilter: nf_queue: don't assume sk is full socket
	netfilter: nf_queue: fix possible use-after-free
	netfilter: nf_queue: handle socket prefetch
	batman-adv: Request iflink once in batadv-on-batadv check
	batman-adv: Request iflink once in batadv_get_real_netdevice
	batman-adv: Don't expect inter-netns unique iflink indices
	net: ipv6: ensure we call ipv6_mc_down() at most once
	net: dcb: flush lingering app table entries for unregistered devices
	net/smc: fix connection leak
	net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
	net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
	rcu/nocb: Fix missed nocb_timer requeue
	ice: Fix race conditions between virtchnl handling and VF ndo ops
	ice: fix concurrent reset and removal of VFs
	sched/topology: Make sched_init_numa() use a set for the deduplicating sort
	sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()
	ia64: ensure proper NUMA distance and possible map initialization
	mac80211: fix forwarded mesh frames AC & queue selection
	net: stmmac: fix return value of __setup handler
	mac80211: treat some SAE auth steps as final
	iavf: Fix missing check for running netdev
	net: sxgbe: fix return value of __setup handler
	ibmvnic: register netdev after init of adapter
	net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
	ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
	efivars: Respect "block" flag in efivar_entry_set_safe()
	firmware: arm_scmi: Remove space in MODULE_ALIAS name
	ASoC: cs4265: Fix the duplicated control name
	can: gs_usb: change active_channels's type from atomic_t to u8
	arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
	igc: igc_read_phy_reg_gpy: drop premature return
	ARM: Fix kgdb breakpoint for Thumb2
	ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
	selftests: mlxsw: tc_police_scale: Make test more robust
	pinctrl: sunxi: Use unique lockdep classes for IRQs
	igc: igc_write_phy_reg_gpy: drop premature return
	ibmvnic: free reset-work-item when flushing
	memfd: fix F_SEAL_WRITE after shmem huge page allocated
	s390/extable: fix exception table sorting
	ARM: dts: switch timer config to common devkit8000 devicetree
	ARM: dts: Use 32KiHz oscillator on devkit8000
	soc: fsl: guts: Revert commit 3c0d64e867
	soc: fsl: guts: Add a missing memory allocation failure check
	soc: fsl: qe: Check of ioremap return value
	ARM: tegra: Move panels to AUX bus
	ibmvnic: complete init_done on transport events
	net: chelsio: cxgb3: check the return value of pci_find_capability()
	iavf: Refactor iavf state machine tracking
	nl80211: Handle nla_memdup failures in handle_nan_filter
	drm/amdgpu: fix suspend/resume hang regression
	net: dcb: disable softirqs in dcbnl_flush_dev()
	Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
	Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
	Input: samsung-keypad - properly state IOMEM dependency
	HID: add mapping for KEY_DICTATE
	HID: add mapping for KEY_ALL_APPLICATIONS
	tracing/histogram: Fix sorting on old "cpu" value
	tracing: Fix return value of __setup handlers
	btrfs: fix lost prealloc extents beyond eof after full fsync
	btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
	btrfs: add missing run of delayed items after unlink during log replay
	Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
	hamradio: fix macro redefine warning
	Linux 5.10.104

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I24dabeba483a0b0123a4e8c10d1a568b11dfb9c8
2022-03-12 13:57:09 +01:00
Christophe Vu-Brugier
db36a94ed6 exfat: fix i_blocks for files truncated over 4 GiB
[ Upstream commit 92fba084b79e6bc7b12fc118209f1922c1a2df56 ]

In exfat_truncate(), the computation of inode->i_blocks is wrong if
the file is larger than 4 GiB because a 32-bit variable is used as a
mask. This is fixed and simplified by using round_up().

Also fix the same buggy computation in exfat_read_root() and another
(correct) one in exfat_fill_inode(). The latter was fixed another way
last month but can be simplified by using round_up() as well. See:

  commit 0c336d6e33f4 ("exfat: fix incorrect loading of i_blocks for
                        large files")

Fixes: 98d917047e ("exfat: add file operations")
Cc: stable@vger.kernel.org # v5.7+
Suggested-by: Matthew Wilcox <willy@infradead.org>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Christophe Vu-Brugier <christophe.vu-brugier@seagate.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-08 19:09:30 +01:00
Christophe Vu-Brugier
1b810d5cb6 exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()
[ Upstream commit 7dee6f57d7f22a89dd214518c778aec448270d4c ]

Also add a local "struct exfat_inode_info *ei" variable to
exfat_truncate() to simplify the code.

Signed-off-by: Christophe Vu-Brugier <christophe.vu-brugier@seagate.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-08 19:09:30 +01:00
Greg Kroah-Hartman
f45f895af5 Merge branch 'android12-5.10' into android12-5.10-lts
Sync up with android12-5.10 for the following commits:

2c152aa329 UPSTREAM: f2fs: reduce the scope of setting fsck tag when de->name_len is zero
c29dd368ef ANDROID: GKI: Update symbols to abi_gki_aarch64_oplus
428d0bb762 ANDROID: Add initial ASUS symbol list
87a74496ed ANDROID: configfs: add proper module namespace marking
b7a6c15a6f ANDROID: Configure out the macros in android_kabi and android_vendor
bdc772adbd ANDROID: kernel: fix debug_kinfo set twice crash issue
d483eed85f ANDROID: GKI: set vfs-only exports into their own namespace
27fc5a7c69 UPSTREAM: net/packet: rx_owner_map depends on pg_vec
f70ea63f3b ANDROID: GKI: Update symbols to symbol list
a593acdae8 FROMLIST: module.h: allow #define strings to work with MODULE_IMPORT_NS
eb171b4cbe FROMLIST: export: fix string handling of namespace in EXPORT_SYMBOL_NS
05c23b7a50 ANDROID: vendor_hooks: Add hooks for binder
e99926fdfa ANDROID: mm/oom_kill: allow process_mrelease reclaim memory in parallel with exit_mmap
f4f2c619d5 FROMLIST: mm/oom_kill: allow process_mrelease to run under mmap_lock protection
2452622293 FROMLIST: mm: protect free_pgtables with mmap_lock write lock in exit_mmap
fd7af95538 UPSTREAM: mm/oom_kill.c: prevent a race between process_mrelease and exit_mmap
fe50dcab7a UPSTREAM: mm: wire up syscall process_mrelease
7fc3ac4968 UPSTREAM: mm: introduce process_mrelease system call
ac44888155 Revert "FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
3a624c9ccd ANDROID: fips140: add show_invalid_inputs command to fips140_lab_util
a481d43521 ANDROID: fips140: refactor and rename fips140_lab_test
d4b5ca56b5 ANDROID: GKI: add lenovo symbol list
47874cc690 ANDROID: abi_gki_aarch64_qcom: Add rproc_set_firmware
c41767a8ec UPSTREAM: remoteproc: Add a rproc_set_firmware() API
28d62c68d1 FROMGIT: iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure
99ad261273 UPSTREAM: sctp: add param size validation for SCTP_PARAM_SET_PRIMARY
282a4de8f0 UPSTREAM: sctp: validate chunk size in __rcv_asconf_lookup
fef7dba3a7 UPSTREAM: bpf: Fix integer overflow in prealloc_elems_and_freelist()
893425f545 ANDROID: GKI: Update symbol list
cef0df2218 ANDROID: ABI: update allowed list for galaxy
a7ab784f60 ANDROID: vendor_hooks: Add hooks for futex
84fc3abca0 ANDROID: dma-contiguous: Add tracehook to allow subpage allocations in dma_alloc_contiguous
d94655c43e ANDROID: Update the ABI xml and symbol list
414c32d38e UPSTREAM: ALSA: memalloc: Align buffer allocations in page size
75617df5b3 ANDROID: Fix mmu_notifier_trylock definition for !CONFIG_MMU_NOTIFIER config
7531e63661 FROMGIT: USB: gadget: bRequestType is a bitfield, not a enum
70c9301d9c ANDROID: qcom: Add flush_delayed_fput to ABI
5d8520b557 ANDROID: fix ABI breakage caused by mm_struct->mmu_notifier_lock addition
a4d26b9a4b ANDROID: fix ABI breakage caused by percpu_rw_semaphore changes
6971350406 ANDROID: fix mmu_notifier race caused by not taking mmap_lock during SPF
2fc2c66b9c ANDROID: percpu-rwsem: enable percpu_sem destruction in atomic context
f3f87608d8 FROMLIST: virtio_mmio: pm: Add notification handlers for restore and freeze
9180348b91 FROMLIST: virtio: do not reset stateful devices on resume
392cb940f6 FROMGIT: f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file
ddd9e01504 UPSTREAM: mm, slub: fix incorrect memcg slab count for bulk free
82ac5b0b1d UPSTREAM: mm, slub: fix potential use-after-free in slab_debugfs_fops
e07a663f5d UPSTREAM: mm, slub: fix potential memoryleak in kmem_cache_open()
cd02f347ab UPSTREAM: mm, slub: fix mismatch between reconstructed freelist depth and cnt
6b6725f77d UPSTREAM: mm, slub: fix two bugs in slab_debug_trace_open()
791f85d16d UPSTREAM: mm, slub: allocate private object map for debugfs listings
1260b47d4f FROMGIT: dma-buf: remove restriction of IOCTL:DMA_BUF_SET_NAME
e80be54e4b UPSTREAM: usb: dwc3: core: balance phy init and exit
89137e0047 UPSTREAM: xhci: Fix failure to give back some cached cancelled URBs.
f37b6d79f8 ANDROID: mm/memory_hotplug: Don't special case memory_block_size_bytes
8b7ffd60a5 UPSTREAM: usb: gadget: uvc: fix multiple opens
ae22ebebbb UPSTREAM: aio: fix use-after-free due to missing POLLFREE handling
b9c8788830 UPSTREAM: aio: keep poll requests on waitqueue until completed
f965176884 UPSTREAM: signalfd: use wake_up_pollfree()
49744a390d UPSTREAM: binder: use wake_up_pollfree()
e50fe1de2f UPSTREAM: wait: add wake_up_pollfree()
53afb231f5 UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
593309a377 BACKPORT: scsi: ufs: Improve SCSI abort handling further
21949c429a FROMGIT: scsi: ufs: Introduce ufshcd_release_scsi_cmd()
d600bdedac FROMGIT: scsi: ufs: Remove the 'update_scaling' local variable
5f9614157c UPSTREAM: scsi: ufs: core: Fix another task management completion race
76760a995c BACKPORT: scsi: ufs: core: Fix task management completion timeout race
dab2a8a288 ANDROID: qcom: Add android_rvh_do_ptrauth_fault to ABI
b4604acd52 UPSTREAM: USB: gadget: detect too-big endpoint 0 requests
2d6a43c036 ANDROID: ABI: Add symbols used by frame buffer driver
183905923f UPSTREAM: xhci: Add bus number to some debug messages
5b15c955a6 UPSTREAM: xhci: Add additional dynamic debug to follow URBs in cancel and error cases.
f4cbe34956 UPSTREAM: Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set"
c23b0e7c47 UPSTREAM: xhci: Fix failure to give back some cached cancelled URBs.
7320fb1abd UPSTREAM: HID: check for valid USB device for many HID drivers
e98c96b8b8 UPSTREAM: HID: wacom: fix problems when device is not a valid USB device
5a72ef56c8 UPSTREAM: HID: bigbenff: prevent null pointer dereference
7b8a19b917 UPSTREAM: HID: add USB_HID dependancy on some USB HID drivers
8219b106a3 UPSTREAM: HID: add USB_HID dependancy to hid-chicony
a4909c90b7 UPSTREAM: HID: add USB_HID dependancy to hid-prodikeys
ddea17081f UPSTREAM: HID: add hid_is_usb() function to make it simpler for USB detection
81b6ea435e FROMGIT: clk: Don't parent clks until the parent is fully registered
78ea29e570 UPSTREAM: mm/gup: remove the vma allocation from gup_longterm_locked()
709fde7c61 BACKPORT: usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect
ea4a92c6af ANDROID: ABI: Add iio_write_channel_raw symbol
f803f248dd ANDROID: GKI: Update symbols to symbol list
672d51b2a7 UPSTREAM: ASoC: dapm: use component prefix when checking widget names
686cd3b2d8 ANDROID: ABI: Add symbols used by clocksource driver
80c1cef2d1 ANDROID: GKI: Export clocksource_mmio_init
84881c68b1 ANDROID: GKI: Export sched_clock_register
9e5446d7de FROMGIT: f2fs: show number of pending discard commands
28de741861 ANDROID: workqueue: export symbol of the function wq_worker_comm()
71f00d64c1 ANDROID: GKI: Update symbols to symbol list
05aa93d251 ANDROID: vendor_hooks: Add hooks for binder proc transaction

Also update the .xml file for the following new symbols that are now
being tracked:

Leaf changes summary: 165 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 154 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 11 Added variables

154 Added functions:

  [A] 'function void __bforget(buffer_head*)'
  [A] 'function ssize_t __blockdev_direct_IO(kiocb*, inode*, block_device*, iov_iter*, get_block_t*, dio_iodone_t*, dio_submit_t*, int)'
  [A] 'function buffer_head* __bread_gfp(block_device*, sector_t, unsigned int, gfp_t)'
  [A] 'function void __breadahead(block_device*, sector_t, unsigned int)'
  [A] 'function void __brelse(buffer_head*)'
  [A] 'function void __cancel_dirty_page(page*)'
  [A] 'function void __cleancache_invalidate_inode(address_space*)'
  [A] 'function void __filemap_set_wb_err(address_space*, int)'
  [A] 'function void __insert_inode_hash(inode*, unsigned long int)'
  [A] 'function void __mark_inode_dirty(inode*, int)'
  [A] 'function void __pagevec_release(pagevec*)'
  [A] 'function void __remove_inode_hash(inode*)'
  [A] 'function int __set_page_dirty_buffers(page*)'
  [A] 'function int __set_page_dirty_nobuffers(page*)'
  [A] 'function int __test_set_page_writeback(page*, bool)'
  [A] 'function int __traceiter_android_vh_binder_free_proc(void*, binder_proc*)'
  [A] 'function int __traceiter_android_vh_binder_has_work_ilocked(void*, binder_thread*, bool, int*)'
  [A] 'function int __traceiter_android_vh_binder_looper_state_registered(void*, binder_thread*, binder_proc*)'
  [A] 'function int __traceiter_android_vh_binder_proc_transaction_end(void*, task_struct*, task_struct*, task_struct*, unsigned int, bool, bool)'
  [A] 'function int __traceiter_android_vh_binder_read_done(void*, binder_proc*, binder_thread*)'
  [A] 'function int __traceiter_android_vh_binder_thread_read(void*, list_head**, binder_proc*, binder_thread*)'
  [A] 'function int __traceiter_android_vh_binder_thread_release(void*, binder_proc*, binder_thread*)'
  [A] 'function int __traceiter_android_vh_futex_sleep_start(void*, task_struct*)'
  [A] 'function int __traceiter_block_bio_remap(void*, request_queue*, bio*, dev_t, sector_t)'
  [A] 'function int add_to_page_cache_locked(page*, address_space*, unsigned long int, gfp_t)'
  [A] 'function bio* bio_split(bio*, int, gfp_t, bio_set*)'
  [A] 'function wait_queue_head* bit_waitqueue(void*, int)'
  [A] 'function blk_plug_cb* blk_check_plugged(blk_plug_cb_fn, void*, int)'
  [A] 'function void blk_queue_max_write_same_sectors(request_queue*, unsigned int)'
  [A] 'function int blkdev_issue_discard(block_device*, sector_t, sector_t, gfp_t, unsigned long int)'
  [A] 'function void block_invalidatepage(page*, unsigned int, unsigned int)'
  [A] 'function int block_is_partially_uptodate(page*, unsigned long int, unsigned long int)'
  [A] 'function int buffer_migrate_page(address_space*, page*, page*, migrate_mode)'
  [A] 'function bool capable_wrt_inode_uidgid(const inode*, int)'
  [A] 'function void clean_bdev_aliases(block_device*, sector_t, sector_t)'
  [A] 'function void clear_inode(inode*)'
  [A] 'function int clear_page_dirty_for_io(page*)'
  [A] 'function int clk_set_duty_cycle(clk*, unsigned int, unsigned int)'
  [A] 'function int clocksource_mmio_init(void*, const char*, unsigned long int, int, unsigned int, typedef u64 (clocksource*)*)'
  [A] 'function u64 clocksource_mmio_readl_up(clocksource*)'
  [A] 'function void create_empty_buffers(page*, unsigned long int, unsigned long int)'
  [A] 'function int current_umask()'
  [A] 'function dentry* d_add_ci(dentry*, inode*, qstr*)'
  [A] 'function void d_instantiate(dentry*, inode*)'
  [A] 'function dentry* d_obtain_alias(inode*)'
  [A] 'function dentry* d_splice_alias(inode*, dentry*)'
  [A] 'function void delete_from_page_cache(page*)'
  [A] 'function void disk_stack_limits(gendisk*, block_device*, sector_t)'
  [A] 'function void drop_nlink(inode*)'
  [A] 'function void end_buffer_write_sync(buffer_head*, int)'
  [A] 'function void end_page_writeback(page*)'
  [A] 'function errseq_t errseq_set(errseq_t*, int)'
  [A] 'function int fb_get_options(const char*, char**)'
  [A] 'function int fiemap_fill_next_extent(fiemap_extent_info*, u64, u64, u64, u32)'
  [A] 'function int fiemap_prep(inode*, fiemap_extent_info*, u64, u64*, u32)'
  [A] 'function int file_remove_privs(file*)'
  [A] 'function int file_update_time(file*)'
  [A] 'function int file_write_and_wait_range(file*, loff_t, loff_t)'
  [A] 'function vm_fault_t filemap_fault(vm_fault*)'
  [A] 'function int filemap_fdatawait_range(address_space*, loff_t, loff_t)'
  [A] 'function int filemap_fdatawrite(address_space*)'
  [A] 'function int filemap_flush(address_space*)'
  [A] 'function int filemap_write_and_wait_range(address_space*, loff_t, loff_t)'
  [A] 'function file* filp_open(const char*, int, umode_t)'
  [A] 'function void flush_delayed_fput()'
  [A] 'function int freq_qos_remove_notifier(freq_constraints*, freq_qos_req_type, notifier_block*)'
  [A] 'function int generic_error_remove_page(address_space*, page*)'
  [A] 'function ssize_t generic_file_direct_write(kiocb*, iov_iter*)'
  [A] 'function int generic_file_mmap(file*, vm_area_struct*)'
  [A] 'function int generic_file_open(inode*, file*)'
  [A] 'function ssize_t generic_file_splice_read(file*, loff_t*, pipe_inode_info*, size_t, unsigned int)'
  [A] 'function void generic_fillattr(inode*, kstat*)'
  [A] 'function ssize_t generic_read_dir(file*, char*, size_t, loff_t*)'
  [A] 'function page* grab_cache_page_write_begin(address_space*, unsigned long int, unsigned int)'
  [A] 'function inode* iget5_locked(super_block*, unsigned long int, int (inode*, void*)*, int (inode*, void*)*, void*)'
  [A] 'function inode* igrab(inode*)'
  [A] 'function void ihold(inode*)'
  [A] 'function int iio_write_channel_raw(iio_channel*, int)'
  [A] 'function inode* ilookup5(super_block*, unsigned long int, int (inode*, void*)*, void*)'
  [A] 'function int in_group_p(kgid_t)'
  [A] 'function void inc_nlink(inode*)'
  [A] 'function void init_special_inode(inode*, umode_t, dev_t)'
  [A] 'function void inode_dio_wait(inode*)'
  [A] 'function void inode_init_once(inode*)'
  [A] 'function void inode_init_owner(inode*, const inode*, umode_t)'
  [A] 'function int inode_newsize_ok(const inode*, loff_t)'
  [A] 'function void inode_set_flags(inode*, unsigned int, unsigned int)'
  [A] 'function void io_schedule()'
  [A] 'function void iov_iter_advance(iov_iter*, size_t)'
  [A] 'function unsigned long int iov_iter_alignment(const iov_iter*)'
  [A] 'function size_t iov_iter_copy_from_user_atomic(page*, iov_iter*, unsigned long int, size_t)'
  [A] 'function int iov_iter_fault_in_readable(iov_iter*, size_t)'
  [A] 'function ssize_t iov_iter_get_pages(iov_iter*, page**, size_t, unsigned int, size_t*)'
  [A] 'function size_t iov_iter_single_seg_count(const iov_iter*)'
  [A] 'function bool is_bad_inode(inode*)'
  [A] 'function ssize_t iter_file_splice_write(pipe_inode_info*, file*, loff_t*, size_t, unsigned int)'
  [A] 'function ino_t iunique(super_block*, ino_t)'
  [A] 'function void kill_block_super(super_block*)'
  [A] 'function void ll_rw_block(int, int, int, buffer_head**)'
  [A] 'function nls_table* load_nls(char*)'
  [A] 'function nls_table* load_nls_default()'
  [A] 'function void lru_cache_add(page*)'
  [A] 'function void make_bad_inode(inode*)'
  [A] 'function void mark_buffer_async_write(buffer_head*)'
  [A] 'function void mark_buffer_dirty(buffer_head*)'
  [A] 'function void mark_buffer_write_io_error(buffer_head*)'
  [A] 'function void mark_page_accessed(page*)'
  [A] 'function void mnt_drop_write_file(file*)'
  [A] 'function int mnt_want_write_file(file*)'
  [A] 'function dentry* mount_bdev(file_system_type*, int, const char*, void*, int (super_block*, void*, int)*)'
  [A] 'function void mpage_readahead(readahead_control*, get_block_t*)'
  [A] 'function int mpage_readpage(page*, get_block_t*)'
  [A] 'function int notify_change(dentry*, iattr*, inode**)'
  [A] 'function unsigned long int page_cache_next_miss(address_space*, unsigned long int, unsigned long int)'
  [A] 'function unsigned long int page_cache_prev_miss(address_space*, unsigned long int, unsigned long int)'
  [A] 'function bool page_mapped(page*)'
  [A] 'function int page_mkclean(page*)'
  [A] 'function void page_zero_new_buffers(page*, unsigned int, unsigned int)'
  [A] 'function page* pagecache_get_page(address_space*, unsigned long int, int, gfp_t)'
  [A] 'function unsigned int pagevec_lookup_range(pagevec*, address_space*, unsigned long int*, unsigned long int)'
  [A] 'function unsigned int pagevec_lookup_range_tag(pagevec*, address_space*, unsigned long int*, unsigned long int, xa_mark_t)'
  [A] 'function void put_pages_list(list_head*)'
  [A] 'function gfp_t readahead_gfp_mask(address_space*)'
  [A] 'function int redirty_page_for_writepage(writeback_control*, page*)'
  [A] 'function int rproc_set_firmware(rproc*, const char*)'
  [A] 'function int sb_min_blocksize(super_block*, int)'
  [A] 'function int sb_set_blocksize(super_block*, int)'
  [A] 'function void sched_clock_register(typedef u64 ()*, int, unsigned long int)'
  [A] 'function int security_inode_init_security(inode*, inode*, const qstr*, const initxattrs, void*)'
  [A] 'function void set_nlink(inode*, unsigned int)'
  [A] 'function int setattr_prepare(dentry*, iattr*)'
  [A] 'function blk_qc_t submit_bio_noacct(bio*)'
  [A] 'function int sync_dirty_buffer(buffer_head*)'
  [A] 'function int sync_filesystem(super_block*)'
  [A] 'function int sync_inode_metadata(inode*, int)'
  [A] 'function void tag_pages_for_writeback(address_space*, unsigned long int, unsigned long int)'
  [A] 'function timespec64 timestamp_truncate(timespec64, inode*)'
  [A] 'function void touch_atime(const path*)'
  [A] 'function void truncate_inode_pages(address_space*, loff_t)'
  [A] 'function void truncate_inode_pages_final(address_space*)'
  [A] 'function void truncate_pagecache(inode*, loff_t)'
  [A] 'function void truncate_setsize(inode*, loff_t)'
  [A] 'function int try_to_release_page(page*, gfp_t)'
  [A] 'function void try_to_writeback_inodes_sb(super_block*, wb_reason)'
  [A] 'function void unload_nls(nls_table*)'
  [A] 'function void unlock_buffer(buffer_head*)'
  [A] 'function void unlock_new_inode(inode*)'
  [A] 'function void usbnet_cdc_unbind(usbnet*, usb_interface*)'
  [A] 'function int usbnet_generic_cdc_bind(usbnet*, usb_interface*)'
  [A] 'function void wait_on_page_bit(page*, int)'
  [A] 'function int wake_bit_function(wait_queue_entry*, unsigned int, int, void*)'
  [A] 'function void wq_worker_comm(char*, size_t, task_struct*)'
  [A] 'function int write_inode_now(inode*, int)'
  [A] 'function int write_one_page(page*)'

11 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_do_ptrauth_fault'
  [A] 'tracepoint __tracepoint_android_vh_binder_free_proc'
  [A] 'tracepoint __tracepoint_android_vh_binder_has_work_ilocked'
  [A] 'tracepoint __tracepoint_android_vh_binder_looper_state_registered'
  [A] 'tracepoint __tracepoint_android_vh_binder_proc_transaction_end'
  [A] 'tracepoint __tracepoint_android_vh_binder_read_done'
  [A] 'tracepoint __tracepoint_android_vh_binder_thread_read'
  [A] 'tracepoint __tracepoint_android_vh_binder_thread_release'
  [A] 'tracepoint __tracepoint_android_vh_futex_sleep_start'
  [A] 'tracepoint __tracepoint_android_vh_subpage_dma_contig_alloc'
  [A] 'tracepoint __tracepoint_block_bio_remap'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I064b6ff0420cee2d64e17814f43fbff8e2d9b019

Change-Id: Ia880c70c912f2b801a770feb1fdc4f4eb390d34d
2022-01-17 18:47:02 +01:00
Greg Kroah-Hartman
d483eed85f ANDROID: GKI: set vfs-only exports into their own namespace
We have namespaces, so use them for all vfs-exported namespaces so that
filesystems can use them, but not anything else.

Some in-kernel drivers that do direct filesystem accesses (because they
serve up files) are also allowed access to these symbols to keep 'make
allmodconfig' builds working properly, but it is not needed for Android
kernel images.

Bug: 157965270
Bug: 210074446
Cc: Matthias Maennich <maennich@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iaf6140baf3a18a516ab2d5c3966235c42f3f70de
2022-01-11 09:30:47 +01:00
Sungjong Seo
284ad31054 exfat: fix incorrect loading of i_blocks for large files
commit 0c336d6e33f4bedc443404c89f43c91c8bd9ee11 upstream.

When calculating i_blocks, there was a mistake that was masked with a
32-bit variable. So i_blocks for files larger than 4 GiB had incorrect
values. Mask with a 64-bit variable instead of 32-bit one.

Fixes: 5f2aa07507 ("exfat: add inode operations")
Cc: stable@vger.kernel.org # v5.7+
Reported-by: Ganapathi Kamath <hgkamath@hotmail.com>
Signed-off-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-18 14:03:37 +01:00
Namjae Jeon
5c6956e664 exfat: handle wrong stream entry size in exfat_readdir()
commit 1e5654de0f51890f88abd409ebf4867782431e81 upstream.

The compatibility issue between linux exfat and exfat of some camera
company was reported from Florian. In their exfat, if the number of files
exceeds any limit, the DataLength in stream entry of the directory is
no longer updated. So some files created from camera does not show in
linux exfat. because linux exfat doesn't allow that cpos becomes larger
than DataLength of stream entry. This patch check DataLength in stream
entry only if the type is ALLOC_NO_FAT_CHAIN and add the check ensure
that dentry offset does not exceed max dentries size(256 MB) to avoid
the circular FAT chain issue.

Fixes: ca06197382 ("exfat: add directory operations")
Cc: stable@vger.kernel.org # v5.9
Reported-by: Florian Cramer <flrncrmr@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Tested-by: Chris Down <chris@chrisdown.name>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-07-14 16:56:52 +02:00
Hyeongseok Kim
11e3ff7e16 exfat: fix erroneous discard when clear cluster bit
commit 77edfc6e51055b61cae2f54c8e6c3bb7c762e4fe upstream.

If mounted with discard option, exFAT issues discard command when clear
cluster bit to remove file. But the input parameter of cluster-to-sector
calculation is abnormally added by reserved cluster size which is 2,
leading to discard unrelated sectors included in target+2 cluster.
With fixing this, remove the wrong comments in set/clear/find bitmap
functions.

Fixes: 1e49a94cf7 ("exfat: add bitmap operations")
Cc: stable@vger.kernel.org # v5.7+
Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-11 14:47:36 +02:00
Namjae Jeon
4e6e00704f exfat: fix shift-out-of-bounds in exfat_fill_super()
commit 78c276f5495aa53a8beebb627e5bf6a54f0af34f upstream.

syzbot reported a warning which could cause shift-out-of-bounds issue.

Call Trace:
 __dump_stack lib/dump_stack.c:79 [inline]
 dump_stack+0x183/0x22e lib/dump_stack.c:120
 ubsan_epilogue lib/ubsan.c:148 [inline]
 __ubsan_handle_shift_out_of_bounds+0x432/0x4d0 lib/ubsan.c:395
 exfat_read_boot_sector fs/exfat/super.c:471 [inline]
 __exfat_fill_super fs/exfat/super.c:556 [inline]
 exfat_fill_super+0x2acb/0x2d00 fs/exfat/super.c:624
 get_tree_bdev+0x406/0x630 fs/super.c:1291
 vfs_get_tree+0x86/0x270 fs/super.c:1496
 do_new_mount fs/namespace.c:2881 [inline]
 path_mount+0x1937/0x2c50 fs/namespace.c:3211
 do_mount fs/namespace.c:3224 [inline]
 __do_sys_mount fs/namespace.c:3432 [inline]
 __se_sys_mount+0x2f9/0x3b0 fs/namespace.c:3409
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

exfat specification describe sect_per_clus_bits field of boot sector
could be at most 25 - sect_size_bits and at least 0. And sect_size_bits
can also affect this calculation, It also needs validation.
This patch add validation for sect_per_clus_bits and sect_size_bits
field of boot sector.

Fixes: 719c1e1829 ("exfat: add super block operations")
Cc: stable@vger.kernel.org # v5.9+
Reported-by: syzbot+da4fe66aaadd3c2e2d1c@syzkaller.appspotmail.com
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-04 11:38:41 +01:00
Artem Labazov
5f5240c03a exfat: Avoid allocating upcase table using kcalloc()
commit 9eb78c25327548b905598975aa3ded4ef244b94a upstream.

The table for Unicode upcase conversion requires an order-5 allocation,
which may fail on a highly-fragmented system:

 pool-udisksd: page allocation failure: order:5,
 mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),
 cpuset=/,mems_allowed=0
 CPU: 4 PID: 3756880 Comm: pool-udisksd Tainted: G U
 5.8.10-200.fc32.x86_64 #1
 Hardware name: Dell Inc. XPS 13 9360/0PVG6D, BIOS 2.13.0 11/14/2019
 Call Trace:
  dump_stack+0x6b/0x88
  warn_alloc.cold+0x75/0xd9
  ? _cond_resched+0x16/0x40
  ? __alloc_pages_direct_compact+0x144/0x150
  __alloc_pages_slowpath.constprop.0+0xcfa/0xd30
  ? __schedule+0x28a/0x840
  ? __wait_on_bit_lock+0x92/0xa0
  __alloc_pages_nodemask+0x2df/0x320
  kmalloc_order+0x1b/0x80
  kmalloc_order_trace+0x1d/0xa0
  exfat_create_upcase_table+0x115/0x390 [exfat]
  exfat_fill_super+0x3ef/0x7f0 [exfat]
  ? sget_fc+0x1d0/0x240
  ? exfat_init_fs_context+0x120/0x120 [exfat]
  get_tree_bdev+0x15c/0x250
  vfs_get_tree+0x25/0xb0
  do_mount+0x7c3/0xaf0
  ? copy_mount_options+0xab/0x180
  __x64_sys_mount+0x8e/0xd0
  do_syscall_64+0x4d/0x90
  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Make the driver use kvcalloc() to eliminate the issue.

Fixes: 370e812b3e ("exfat: add nls operations")
Cc: stable@vger.kernel.org #v5.7+
Signed-off-by: Artem Labazov <123321artyom@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-26 16:02:38 +01:00
Linus Torvalds
0eac1102e9 Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull misc vfs updates from Al Viro:
 "Assorted stuff all over the place (the largest group here is
  Christoph's stat cleanups)"

* 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  fs: remove KSTAT_QUERY_FLAGS
  fs: remove vfs_stat_set_lookup_flags
  fs: move vfs_fstatat out of line
  fs: implement vfs_stat and vfs_lstat in terms of vfs_fstatat
  fs: remove vfs_statx_fd
  fs: omfs: use kmemdup() rather than kmalloc+memcpy
  [PATCH] reduce boilerplate in fsid handling
  fs: Remove duplicated flag O_NDELAY occurring twice in VALID_OPEN_FLAGS
  selftests: mount: add nosymfollow tests
  Add a "nosymfollow" mount option.
2020-10-24 12:26:05 -07:00
Tetsuhiro Kohada
eae503f7eb exfat: remove useless check in exfat_move_file()
In exfat_move_file(), the identity of source and target directory has been
checked by the caller.
Also, it gets stream.start_clu from file dir-entry, which is an invalid
determination.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:12 +09:00
Tetsuhiro Kohada
04cee52fb8 exfat: remove 'rwoffset' in exfat_inode_info
Remove 'rwoffset' in exfat_inode_info and replace it with the parameter of
exfat_readdir().
Since rwoffset is referenced only by exfat_readdir(), it is not necessary
a exfat_inode_info's member.
Also, change cpos to point to the next of entry-set, and return the index
of dir-entry via dir_entry->entry.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:11 +09:00
Tetsuhiro Kohada
a7a241686c exfat: replace memcpy with structure assignment
Use structure assignment instead of memcpy.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:11 +09:00
Tetsuhiro Kohada
6c958a0955 exfat: remove useless directory scan in exfat_add_entry()
There is nothing in directory just created, so there is no need to scan.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:11 +09:00
Tetsuhiro Kohada
188df41f21 exfat: eliminate dead code in exfat_find()
The exfat_find_dir_entry() called by exfat_find() doesn't return -EEXIST.
Therefore, the root-dir information setting is never executed.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:11 +09:00
Xianting Tian
45882a6a0d exfat: use i_blocksize() to get blocksize
We alreday has the interface i_blocksize() to get blocksize,
so use it.

Signed-off-by: Xianting Tian <tian.xianting@h3c.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:10 +09:00
Namjae Jeon
9e456aeaac exfat: fix misspellings using codespell tool
Sedat reported typos using codespell tool.

 $ codespell fs/exfat/*.c | grep -v iput
 fs/exfat/namei.c:293: upto ==> up to
 fs/exfat/nls.c:14: tabel ==> table

 $ codespell fs/exfat/*.h
 fs/exfat/exfat_fs.h:133: usally ==> usually

Fix typos found by codespell.

Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-22 08:29:10 +09:00
Namjae Jeon
8ff006e57a exfat: fix use of uninitialized spinlock on error path
syzbot reported warning message:

Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1d6/0x29e lib/dump_stack.c:118
 register_lock_class+0xf06/0x1520 kernel/locking/lockdep.c:893
 __lock_acquire+0xfd/0x2ae0 kernel/locking/lockdep.c:4320
 lock_acquire+0x148/0x720 kernel/locking/lockdep.c:5029
 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
 _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151
 spin_lock include/linux/spinlock.h:354 [inline]
 exfat_cache_inval_inode+0x30/0x280 fs/exfat/cache.c:226
 exfat_evict_inode+0x124/0x270 fs/exfat/inode.c:660
 evict+0x2bb/0x6d0 fs/inode.c:576
 exfat_fill_super+0x1e07/0x27d0 fs/exfat/super.c:681
 get_tree_bdev+0x3e9/0x5f0 fs/super.c:1342
 vfs_get_tree+0x88/0x270 fs/super.c:1547
 do_new_mount fs/namespace.c:2875 [inline]
 path_mount+0x179d/0x29e0 fs/namespace.c:3192
 do_mount fs/namespace.c:3205 [inline]
 __do_sys_mount fs/namespace.c:3413 [inline]
 __se_sys_mount+0x126/0x180 fs/namespace.c:3390
 do_syscall_64+0x31/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

If exfat_read_root() returns an error, spinlock is used in
exfat_evict_inode() without initialization. This patch combines
exfat_cache_init_inode() with exfat_inode_init_once() to initialize
spinlock by slab constructor.

Fixes: c35b6810c4 ("exfat: add exfat cache")
Cc: stable@vger.kernel.org # v5.7+
Reported-by: syzbot <syzbot+b91107320911a26c9a95@syzkaller.appspotmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-07 14:27:13 +09:00
Tetsuhiro Kohada
d6c9efd924 exfat: fix pointer error checking
Fix missing result check of exfat_build_inode().
And use PTR_ERR_OR_ZERO instead of PTR_ERR.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-10-07 14:26:55 +09:00
Al Viro
6d1349c769 [PATCH] reduce boilerplate in fsid handling
Get rid of boilerplate in most of ->statfs()
instances...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2020-09-18 16:45:50 -04:00
Tetsuhiro Kohada
7018ec68f0 exfat: retain 'VolumeFlags' properly
MediaFailure and VolumeDirty should be retained if these are set before
mounting.

In '3.1.13.3 Media Failure Field' of exfat specification describe:

 If, upon mounting a volume, the value of this field is 1,
 implementations which scan the entire volume for media failures and
 record all failures as "bad" clusters in the FAT (or otherwise resolve
 media failures) may clear the value of  this field to 0.

Therefore, We should not clear MediaFailure without scanning volume.

In '8.1 Recommended Write Ordering' of exfat specification describe:

 Clear the value of the VolumeDirty field to 0, if its value prior to
 the first step was 0.

Therefore, We should not clear VolumeDirty after mounting.
Also rename ERR_MEDIUM to MEDIA_FAILURE.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-08-12 08:31:13 +09:00
Tetsuhiro Kohada
4dc7d35e09 exfat: optimize exfat_zeroed_cluster()
Replace part of exfat_zeroed_cluster() with exfat_update_bhs().
And remove exfat_sync_bhs().

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-08-12 08:31:12 +09:00
Tetsuhiro Kohada
8b0c471773 exfat: add error check when updating dir-entries
Add error check when synchronously updating dir-entries.

Suggested-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-08-12 08:31:12 +09:00
Tetsuhiro Kohada
3db3c3fb84 exfat: write multiple sectors at once
Write multiple sectors at once when updating dir-entries.
Add exfat_update_bhs() for that. It wait for write completion once
instead of sector by sector.
It's only effective if sync enabled.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-08-12 08:31:11 +09:00
Tetsuhiro Kohada
2c7f8937ef exfat: remove EXFAT_SB_DIRTY flag
This flag is set/reset in exfat_put_super()/exfat_sync_fs()
to avoid sync_blockdev().
- exfat_put_super():
Before calling this, the VFS has already called sync_filesystem(),
so sync is never performed here.
- exfat_sync_fs():
After calling this, the VFS calls sync_blockdev(), so, it is meaningless
to check EXFAT_SB_DIRTY or to bypass sync_blockdev() here.

Remove the EXFAT_SB_DIRTY check to ensure synchronization.
And remove the code related to the flag.

Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-08-12 08:31:10 +09:00