The ordered extent cleanup is hard to grasp because it doesn't follow
the common cleanup-asap pattern.
E.g. run_delalloc_nocow() and cow_file_range() allocate one or more
ordered extent, but if any error is hit, the cleanup is done later inside
btrfs_run_delalloc_range().
To change the existing delayed cleanup:
- Update the comment on error handling of run_delalloc_nocow()
There are in fact 3 different cases other than 2 if we are doing
ordered extents cleanup inside run_delalloc_nocow():
1) @cow_start and @cow_end not set
No fallback to COW at all.
Before @cur_offset we need to cleanup the OE and page dirty.
After @cur_offset just clear all involved page and extent flags.
2) @cow_start set but @cow_end not set.
This means we failed before even calling fallback_to_cow().
It's just a variant of case 1), where it's @cow_start splitting
the two parts (and we should just ignore @cur_offset since it's
advanced without any new ordered extent).
3) @cow_start and @cow_end both set
This means fallback_to_cow() failed, meaning [start, cow_start)
needs the regular OE and dirty folio cleanup, and skip range
[cow_start, cow_end) as cow_file_range() has done the cleanup,
and eventually cleanup [cow_end, end) range.
- Only reset @cow_start after fallback_to_cow() succeeded
As above case 2) and 3) are both relying on @cow_start to determine
the cleanup range.
- Move btrfs_cleanup_ordered_extents() into run_delalloc_nocow(),
cow_file_range() and nocow_one_range()
For cow_file_range() it's pretty straightforward and easy.
For run_delalloc_nocow() refer to the above 3 different error cases.
For nocow_one_range() if we hit an error, we need to cleanup the
ordered extents by ourselves.
And then it will fallback to case 1), since @cur_offset is not yet
advanced, the existing cleanup will co-operate with nocow_one_range()
well.
- Remove the btrfs_cleanup_ordered_extents() inside submit_uncompressed_range()
As failed cow_file_range() will do all the proper cleanup now.
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Currently we're doing all the ordered extent and extent map generation
inside a while() loop of run_delalloc_nocow(). This makes it pretty
hard to read, nor doing proper error handling.
So move that part of code into a helper, nocow_one_range().
This should not change anything, but there is a tiny timing change where
btrfs_dec_nocow_writers() is only called after nocow_one_range() helper
exits.
This timing change is small, and makes error handling easier, thus
should be fine.
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
The address space flag AS_STABLE_WRITES determine if FGP_STABLE for will
wait for the folio to finish its writeback.
For btrfs, due to the default data checksum behavior, if we modify the
folio while it's still under writeback, it will cause data checksum
mismatch. Thus for quite some call sites we manually call
folio_wait_writeback() to prevent such problem from happening.
Currently there is only one call site inside btrfs really utilizing
FGP_STABLE, and in that case we also manually call folio_wait_writeback()
to do the waiting.
But it's better to properly expose the stable writes flag to a per-inode
basis, to allow call sites to fully benefit from FGP_STABLE flag.
E.g. for inodes with NODATASUM allowing beginning dirtying the page
without waiting for writeback.
This involves:
- Update the mapping's stable write flag when setting/clearing NODATASUM
inode flag using ioctl
This only works for empty files, so it should be fine.
- Update the mapping's stable write flag when reading an inode from disk
- Remove the explicit folio_wait_writeback() for FGP_BEGINWRITE call
site
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Currently for s390x HW zlib compression, to get the best performance we
need a buffer size which is larger than a page.
This means we need to copy multiple pages into workspace->buf, then use
that buffer as zlib compression input.
Currently it's hardcoded using page sized folio, and all the handling
are deep inside a loop.
Refactor the code by:
- Introduce a dedicated helper to do the buffer copy
The new helper will be called copy_data_into_buffer().
- Add extra ASSERT()s
* Make sure we only go into the function for hardware acceleration
* Make sure we still get page sized folio
- Prepare for future large folios
This means we will rely on the folio size, other than PAGE_SIZE to do
the copy.
- Handle the folio mapping and unmapping inside the helper function
For S390x hardware acceleration case, it never utilize the @data_in
pointer, thus we can do folio mapping/unmapping all inside the function.
Acked-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Tested-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
At btrfs_do_readpage() if we get an extent map for a prealloc extent we
end up assigning twice to the 'block_start' variable, first the value
returned by extent_map_block_start() and then EXTENT_MAP_HOLE. This is
pointless so make it more clear by using an if-else statement and doing
only one assignment. Also, while at it, move the declaration of
'block_start' into the while loop's scope, since it's not used outside of
it and the related 'disk_bytenr' is also declared in this scope.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
[BUG]
It is a long known bug that VM image on btrfs can lead to data csum
mismatch, if the qemu is using direct-io for the image (this is commonly
known as cache mode 'none').
[CAUSE]
Inside the VM, if the fs is EXT4 or XFS, or even NTFS from Windows, the
fs is allowed to dirty/modify the folio even if the folio is under
writeback (as long as the address space doesn't have AS_STABLE_WRITES
flag inherited from the block device).
This is a valid optimization to improve the concurrency, and since these
filesystems have no extra checksum on data, the content change is not a
problem at all.
But the final write into the image file is handled by btrfs, which needs
the content not to be modified during writeback, or the checksum will
not match the data (checksum is calculated before submitting the bio).
So EXT4/XFS/NTRFS assume they can modify the folio under writeback, but
btrfs requires no modification, this leads to the false csum mismatch.
This is only a controlled example, there are even cases where
multi-thread programs can submit a direct IO write, then another thread
modifies the direct IO buffer for whatever reason.
For such cases, btrfs has no sane way to detect such cases and leads to
false data csum mismatch.
[FIX]
I have considered the following ideas to solve the problem:
- Make direct IO to always skip data checksum
This not only requires a new incompatible flag, as it breaks the
current per-inode NODATASUM flag.
But also requires extra handling for no csum found cases.
And this also reduces our checksum protection.
- Let hardware handle all the checksum
AKA, just nodatasum mount option.
That requires trust for hardware (which is not that trustful in a lot
of cases), and it's not generic at all.
- Always fallback to buffered write if the inode requires checksum
This was suggested by Christoph, and is the solution utilized by this
patch.
The cost is obvious, the extra buffer copying into page cache, thus it
reduces the performance.
But at least it's still user configurable, if the end user still wants
the zero-copy performance, just set NODATASUM flag for the inode
(which is a common practice for VM images on btrfs).
Since we cannot trust user space programs to keep the buffer
consistent during direct IO, we have no choice but always falling back
to buffered IO. At least by this, we avoid the more deadly false data
checksum mismatch error.
Suggested-by: Christoph Hellwig <hch@infradead.org>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
In that function we call set_extent_buffer_uptodate() or
clear_extent_buffer_uptodate(), which will already update the uptodate
flag for all the involved extent buffer folios.
Thus there is no need to update the folio uptodate flags again.
Just remove the open-coded part.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Retrieve folios instead of pages and work on them throughout. Removes
a few calls to compound_head() and a reference to page->mapping.
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: David Sterba <dsterba@suse.com>
Remove references to the page lock and page->mapping. Also btrfs folios
can never be swizzled into swap (mentioned in extent_write_cache_pages()).
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Only allocate the btrfs_encoded_read_private structure for asynchronous
(io_uring) mode.
There's no need to allocate an object from slab in the synchronous mode. In
such a case stack can be happily used as it used to be before 68d3b27e05
("btrfs: move priv off stack in btrfs_encoded_read_regular_fill_pages()")
which was a preparation for the async mode.
While at it, fix the comment to reflect the atomic => refcount change in
d29662695e ("btrfs: fix use-after-free waiting for encoded read endios").
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Daniel Vacek <neelx@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Tracing instances have a ref count to keep them around while files within
their directories are open. This prevents them from being deleted while
they are used. The histogram code had some files that needed to take the
ref count and that was added, but the error paths did not decrement the
ref counts. This caused the instances from ever being removed if a
histogram file failed to open due to some error.
-----BEGIN PGP SIGNATURE-----
iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCZ9cE8hQccm9zdGVkdEBn
b29kbWlzLm9yZwAKCRAp5XQQmuv6qtm8AQDrdfwo63g/K0xpM0Uej9Ex5pBkHEq/
WwCI2hUbPya0wAEAtEcfvgt7P0GuO0PNOYY3uzhAokfBiN04elatbLEetQ4=
=i35g
-----END PGP SIGNATURE-----
Merge tag 'trace-v6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
Pull tracing fix from Steven Rostedt:
"Fix ref count of trace_array in error path of histogram file open
Tracing instances have a ref count to keep them around while files
within their directories are open. This prevents them from being
deleted while they are used.
The histogram code had some files that needed to take the ref count
and that was added, but the error paths did not decrement the ref
counts. This caused the instances from ever being removed if a
histogram file failed to open due to some error"
* tag 'trace-v6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
tracing: Correct the refcount if the hist/hist_debug file fails to open
Here are some small USB and Thunderbolt driver fixes and new usb-serial
device ids for 6.14-rc7. Included in here are:
- new usb-serial device ids
- typec driver bugfix
- thunderbolt driver resume bugfix
All of these have been in linux-next with no reported issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCZ9Zv7g8cZ3JlZ0Brcm9h
aC5jb20ACgkQMUfUDdst+yk0HQCeLLrRAae/JXEZzNTy1kFdijg5anUAnRgSeogs
bSZ6FZ1QD+T3IfnTPJUf
=fIO2
-----END PGP SIGNATURE-----
Merge tag 'usb-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH:
"Here are some small USB and Thunderbolt driver fixes and new
usb-serial device ids. Included in here are:
- new usb-serial device ids
- typec driver bugfix
- thunderbolt driver resume bugfix
All of these have been in linux-next with no reported issues"
* tag 'usb-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: typec: tcpm: fix state transition for SNK_WAIT_CAPABILITIES state in run_state_machine()
USB: serial: ftdi_sio: add support for Altera USB Blaster 3
thunderbolt: Prevent use-after-free in resume from hibernate
USB: serial: option: fix Telit Cinterion FE990A name
USB: serial: option: add Telit Cinterion FE990B compositions
USB: serial: option: match on interface class for Telit FN990B
- several new device IDs added to xpad game controller driver
- support for imagis IST3038H variant of chip added to imagis touch
controller driver
- a fix for GPIO allocation for ads7846 touch controller driver
- a fix for iqs7222 driver to properly support status register
- a fix for goodix-berlin touch controller driver to use the right name
for the regulator
- more i8042 quirks to better handle several old Clevo devices.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQST2eWILY88ieB2DOtAj56VGEWXnAUCZ9YmjwAKCRBAj56VGEWX
nPMXAP9DTIz200i04+sLoW6ZO7NiPUkJTw5AmBC64yXxWncUQQD/T5hue5JJBsJo
Me53HNUu+GiN923FB2dQEJdDvWOclwc=
=A/VU
-----END PGP SIGNATURE-----
Merge tag 'input-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
- several new device IDs added to xpad game controller driver
- support for imagis IST3038H variant of chip added to imagis touch
controller driver
- a fix for GPIO allocation for ads7846 touch controller driver
- a fix for iqs7222 driver to properly support status register
- a fix for goodix-berlin touch controller driver to use the right name
for the regulator
- more i8042 quirks to better handle several old Clevo devices.
* tag 'input-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
MAINTAINERS: Remove myself from the goodix touchscreen maintainers
Input: iqs7222 - preserve system status register
Input: i8042 - swap old quirk combination with new quirk for more devices
Input: i8042 - swap old quirk combination with new quirk for several devices
Input: i8042 - add required quirks for missing old boardnames
Input: i8042 - swap old quirk combination with new quirk for NHxxRZQ
Input: xpad - rename QH controller to Legion Go S
Input: xpad - add support for TECNO Pocket Go
Input: xpad - add support for ZOTAC Gaming Zone
Input: goodix-berlin - fix vddio regulator references
Input: goodix-berlin - fix comment referencing wrong regulator
Input: imagis - add support for imagis IST3038H
dt-bindings: input/touchscreen: imagis: add compatible for ist3038h
Input: xpad - add multiple supported devices
Input: xpad - add 8BitDo SN30 Pro, Hyperkin X91 and Gamesir G7 SE controllers
Input: ads7846 - fix gpiod allocation
Input: wdt87xx_i2c - fix compiler warning
Toolchain and infrastructure:
- Disallow BTF generation with Rust + LTO.
- Improve rust-analyzer support.
'kernel' crate:
- 'init' module: remove 'Zeroable' implementation for a couple types
that should not have it.
- 'alloc' module: fix macOS failure in host test by satisfying POSIX
alignment requirement.
- Add missing '\n's to 'pr_*!()' calls.
And a couple other minor cleanups.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmfV7lAACgkQGXyLc2ht
IW3wSg/+KEb8mYb4F/dazuCw5LlX9kM3g/5j5KsY6ClFuOkPyRkIMiTSAlaPs80u
eX9qM2BErX5pSsh58pxsC6fIMMf1nuZlq9pr+cGTdyo/tL5jhssJobNFD+/fnIAf
vTdik2+aOCCZZGJ4kWWHSodF0oPQR7GrpvbvLCR9ngwG1TKn2iwDN/9YDzstt3KA
e+oQpirw0/Ev8Cm9I2NmD1i7rA00YHLNEif9bvm1MJbA9PLFkW2g9Zxz+698Uu+P
7dmAQYN8LeiMOPKPadQjw4/n4K6IPIiuDPtxYLF6JL3cg7UD0nd4Uy52MA8xSk9D
Z+wxVSdqTw+tOGFQTMFMAo65+H3zri7ZCjALybYVYgHdWIyZrAN8OGYpTRYYZgqf
z4JwYxBiyPWhoNlcu1kIWwtMW/Nbi2e44DpReddzdgPewE9XHYi6EXiiKGrlu2vP
h8BItBwlqsCwiogGKW4+s3VvZmOijrwXvu1XfjlFQ8NCLc2wxaUkcjgsTb2kTOEI
YWTVhS0Ggxz1CbEoFnpwLjlE0qku6DCWIFeo0WslUEK/XXYm7H7DUPY9hME5sQ/5
dQ96A/PDP1eLDM375A7ccN6eUNejzWRYpZnGtT9PvQSNmZ24eSzjvrBaUYD3/qDG
PzbyuSZFBoysNS312mgoCRKYBqzit+GRqgwiuAez0RiJeJV+b6Y=
=F4QT
-----END PGP SIGNATURE-----
Merge tag 'rust-fixes-6.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
Pull rust fixes from Miguel Ojeda:
"Toolchain and infrastructure:
- Disallow BTF generation with Rust + LTO
- Improve rust-analyzer support
'kernel' crate:
- 'init' module: remove 'Zeroable' implementation for a couple types
that should not have it
- 'alloc' module: fix macOS failure in host test by satisfying POSIX
alignment requirement
- Add missing '\n's to 'pr_*!()' calls
And a couple other minor cleanups"
* tag 'rust-fixes-6.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
scripts: generate_rust_analyzer: add uapi crate
scripts: generate_rust_analyzer: add missing include_dirs
scripts: generate_rust_analyzer: add missing macros deps
rust: Disallow BTF generation with Rust + LTO
rust: task: fix `SAFETY` comment in `Task::wake_up`
rust: workqueue: add missing newline to pr_info! examples
rust: sync: add missing newline in locked_by log example
rust: init: add missing newline to pr_info! calls
rust: error: add missing newline to pr_warn! calls
rust: docs: add missing newline to printing macro examples
rust: alloc: satisfy POSIX alignment requirement
rust: init: fix `Zeroable` implementation for `Option<NonNull<T>>` and `Option<KBox<T>>`
rust: remove leftover mentions of the `alloc` crate
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEq1nRK9aeMoq1VSgcnJ2qBz9kQNkFAmfVSgwACgkQnJ2qBz9k
QNkhqgf9GbV/DkH+NWKSAkTUkTUj/ibwkpc7KIFVvBEoNQOAqDntpIqDCGKVvywA
hrX0/SxDn34RPSrQSzVVqlH/SGHkL1xgWTOwHUmo2DFEk7k03mfOlGEiV3I85Ugz
ZaPdIfGwXFCf7/bXXJV2zkFPPDQjqkTHSzzBf3Az/HXzTvz7ZZ1QexbXTAlplTuN
4PWkIOZBOAccSLlbqfSygEQ8nuTcR6mjExDXLYwIispDXa6Th28SFMF7nlk5D3G0
/O4YrPmVozb6U/0fmoMr+x3Knu2tz/GDVxP8w4mI9k79FYsJ1UmuywnhZuuniXZF
A1r1HE+DBP6Dd24SVThOQLuQvpnw6Q==
=L6AL
-----END PGP SIGNATURE-----
Merge tag 'fsnotify_for_v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull fsnotify reverts from Jan Kara:
"Syzbot has found out that fsnotify HSM events generated on page fault
can be generated while we already hold freeze protection for the
filesystem (when you do buffered write from a buffer which is mmapped
file on the same filesystem) which violates expectations for HSM
events and could lead to deadlocks of HSM clients with filesystem
freezing.
Since it's quite late in the cycle we've decided to revert changes
implementing HSM events on page fault for now and instead just
generate one event for the whole range on mmap(2) so that HSM client
can fetch the data at that moment"
* tag 'fsnotify_for_v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
Revert "fanotify: disable readahead if we have pre-content watches"
Revert "mm: don't allow huge faults for files with pre content watches"
Revert "fsnotify: generate pre-content permission event on page fault"
Revert "xfs: add pre-content fsnotify hook for DAX faults"
Revert "ext4: add pre-content fsnotify hook for DAX faults"
fsnotify: add pre-content hooks on mmap()
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmfUUVcACgkQiiy9cAdy
T1HugQv9GitmeAhtSoI9YSGR7rAiAbtpVz3vSEPMWDMSW6kog+tdV0qGqb8Co5LR
kPWor4n3AXifoLATOEZrHCHFPdP3UVKpNX6Igx/4Jryyl+te3gl2YyzX+CYqBwkH
cjhs4GxNNbwO85zow3I8c7Y4EwjVR0EYeTKPxOlMZK8iDUptO8TGmCC+KbA/866+
GRdml0ZGQqwt4Jdk6mDc6LLT8BzqdV9dOpXeFqMgi10wCOCnaS4JOJBWTrjwKsr7
AXFFJS6HD7rSbzsTSIueZ0EYXF3UX5WeUSPl/+VO2ZRNI7a12GaSEL16q3rXVLAZ
SVgTI6DCZXgdySApPnMx5ko6kSxgij0lsxARvdppBoWizgeYv0F6lGeLhjD+gRpN
H1ucWiH/AY4gelz900fJQtkfOiRO8ofbVZaixtjn1cvN/joqvHNxyFC0ndsVgqeb
nEO/42Lf5+X58WlaHcFDlE2ZqsjJbhwvGgTQ4J+YR0T42BXadPk1Vht8cUIGMV1s
JaJ5E0w/
=Yd+1
-----END PGP SIGNATURE-----
Merge tag 'v6.14-rc6-smb3-server-fixes' of git://git.samba.org/ksmbd
Pull smb server fixes from Steve French:
- Two fixes for oplock break/lease races
* tag 'v6.14-rc6-smb3-server-fixes' of git://git.samba.org/ksmbd:
ksmbd: prevent connection release during oplock break notification
ksmbd: fix use-after-free in ksmbd_free_work_struct
- change an assertion to an ERO that a user hit doing the 6.14 upgrade
- fix 32 bit build breakage
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmfUw1UACgkQE6szbY3K
bnY+WQ//QZ4gs78eipqCa3cpmYsjMFaNsBh+s+DbX5vYU1mrRwPMRfrsXEN26fjx
G5eVFdCix/0rFuLWHpJzehQxMWeicpgP7WLN6WM/eKSIkZWlyR7xQj+xzGRSmMWp
3ZIb4qh3XzJvJyl3aXD0VW5P5a4+HEWTDdsmFivPtCmPg1yrLPZrdoc0siIJsXMD
ZGRrH2ngapVYbCRIQ3+jemEwJ2NeA6/kaP64J9DhVi4w24OjBFhheJ4DFTpntgQj
onE0tWTr762rQXE0zkoPDMJ7ESu8Uag7AISU6bwO4ZJP+oH7o+Ws40LYY326c+Ng
jWnjjDD2AGFTMEA35sf9mTUVyyZVaGWJ5eYm2hzt0JkUhW3j/rserGCPmMqwo4k8
NSaIAA1BgfUBXokY996VafygX6AhDjuEYIT3umeAH3avifejrKeNfmMwSQWyZF2w
Pe2teHftbyflsbplUg27bPLaiiRD2mQKMopBXl5j2zjy0/YWAjoloMF21JWwotjQ
f1YFzjaO6CrIoRfFWB/RQXKKRS0hUaTccLdw9q6KfWT3GPKdpYEZNngo6NWd74fm
XIGUNgKBbdPKUCBXEoaFsrZ1D8Hr39oBTtoMrvADb/RV9q0RDBBaCmZzdlfbcNoO
ka78Z297nJl98tXE44njxWItO11Syn+3f2xt33KnySKyng7kXsw=
=dNgK
-----END PGP SIGNATURE-----
Merge tag 'bcachefs-2025-03-14.2' of git://evilpiepirate.org/bcachefs
Pull another bcachefs hotfix from Kent Overstreet:
- fix 32 bit build breakage
* tag 'bcachefs-2025-03-14.2' of git://evilpiepirate.org/bcachefs:
bcachefs: fix build on 32 bit in get_random_u64_below()
bare 64 bit divides not allowed, whoops
arm-linux-gnueabi-ld: drivers/char/random.o: in function `__get_random_u64_below':
drivers/char/random.c:602:(.text+0xc70): undefined reference to `__aeabi_uldivmod'
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-----BEGIN PGP SIGNATURE-----
iJUEABMJAB0WIQSmtYVZ/MfVMGUq1GNcsMJ8RxYuYwUCZ9QpngAKCRBcsMJ8RxYu
Y69DAX9khbIzgfgPK2inzc/sgWbkJmR0HCTQ8tTdE4WzC2e86qAEcDohFV0hLowa
100XU2EBfje1gouO5qtDlrdh/Lj89XIk19Rox+NjwKXh/UcLx5m166KuQE6b9Ef3
h3m3Gicm2g==
=bUgw
-----END PGP SIGNATURE-----
Merge tag 'xfs-fixes-6.14-rc7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs cleanup from Carlos Maiolino:
"Use abs_diff instead of XFS_ABSDIFF"
* tag 'xfs-fixes-6.14-rc7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
xfs: Use abs_diff instead of XFS_ABSDIFF
This one is high priority: a user hit an assertion in the upgrade to
6.14, and we don't have a reproducer, so this changes the assertion to
an emergency read-only with more info so we can debug it.
-----BEGIN PGP SIGNATURE-----
iQIyBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmfUTFgACgkQE6szbY3K
bnYOlg/3Ram/mou5oHuUnvX6ZhtJ2ATewJ72MIKB2rTFP/5hlJk1Mr16hJFrNf7o
oGvklAGkLeq/1JMggRMJ8iLvwhT5jL8MBCt9eq9EI0zfjN9mT5g+hPjUsaznz1XS
Fcb8i0587vhv5+peM+KEwUm2tDU0uPK9efOEhfYT08bleRNODU8wDoS6e8O3LSmp
mTsOfhfL8pbl5AhmliEwy7MjLymNolxmKdTszSEkPqL7kMrKErQD2qrieoQbnFCa
K+jhGkwbo2pTdl/yA8PuPHyA3Z65F5oNgUDhfXWhUXA0nQaYSI1eK0gakxkBEyFo
WMoNDuto8sATKGz3CStBo7BYXM8TwEd16czlk/UtHu7svwuTEIZRhF8hFs7YnjN3
cZ8J4gBd05bInXfe1GaVm44FbOFMKHIlFH1WRgwjbEX/zLtcr5I/cKGDdxvxjoUO
OgqNrScEyFWRylSkbtZQBEhKForokC2tzTLxnegu2QJ6tWd1n4koW/GymM82LnPB
6sjQJ7hXjQqqBLQefGWFSqjqgcFQ+//0j1uww4NspwHgnoFEM18aFmFTP77Acwgt
2RnsN9Rvak+2u/j+oZ65xR7osZFSAlDZo9ugoK5Pzn3MipWy1zfpdXs9NWj1+J4N
3GBoptFyHKFZhLdrP/1xXMdJMWN4abazADUr4M4Yxjj29uF6sw==
=Ahlg
-----END PGP SIGNATURE-----
Merge tag 'bcachefs-2025-03-14' of git://evilpiepirate.org/bcachefs
Pull bcachefs hotfix from Kent Overstreet:
"This one is high priority: a user hit an assertion in the upgrade to
6.14, and we don't have a reproducer, so this changes the assertion to
an emergency read-only with more info so we can debug it"
* tag 'bcachefs-2025-03-14' of git://evilpiepirate.org/bcachefs:
bcachefs: Change btree wb assert to runtime error
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmfTYxsQHGF4Ym9lQGtl
cm5lbC5kawAKCRD301j7KXHgpjVKD/9qZjztmVq6Rk9RBjZwMYxcO9Nzj7qQQ6m9
S15eXslAA1eLec3p1Mx4oVaWoFranY03BClqCgywBUAgpYstnT9cEqkz0P+n6xIE
bNGjfxx4NInvrQYRETskc4wQqOnAdiRMd9i96EpHqW9Pi/pl8dSQxmxlaeo0BBIM
XDvodLhr38aLJwcNBQ9NKCfhJ7RruACuSiXRAsPH3D641ZpccW4ADuhYxhJDehKa
fMzuEFaa9/mBvmIrhE3QCbvWr7VYzSkadMLJWnxLsN1PU4FXZbh4Oy5Kp7DrA4Zq
YkwezSivjNWNqNsiyvVa63mKbxfe9MSh5odqWuLrkWr4cOzEOcpHRbNV2El5RK/x
BtGt/eCT2cRQAG4MzveoiE1yG9AAmUvUZL/RvxbERedqWO69IsgrsIsdnoiaLgw/
267eCeGQlpHGhVUKga7ouShlTowTaCLCi+XgJwUTsVP/VPuzEFwgkzX0J45bSPGd
h0laUzuHcThe8cRY2t5JWu+JJTqHj6ubsPeqiMAQzCns1C+IWYsjPXEohfqt7av+
2yoIwG9DCBfJfh0ml0t3yHHMSJzjcwQcQAw1P7loLI+TIDvrpVP7AYOVt4SYeXl4
RTEvNKQRmQGNZ8B3lGrqVKnbJ5ExBzvE6muQTOhockCTQsNK7WNaT2dMWRLyW6rW
HcdUkADDVg==
=MG/C
-----END PGP SIGNATURE-----
Merge tag 'block-6.14-20250313' of git://git.kernel.dk/linux
Pull block fixes from Jens Axboe:
- NVMe pull request via Keith:
- Concurrent pci error and hotplug handling fix (Keith)
- Endpoint function fixes (Damien)
- Fix for a regression introduced in this cycle with error checking for
batched request completions (Shin'ichiro)
* tag 'block-6.14-20250313' of git://git.kernel.dk/linux:
block: change blk_mq_add_to_batch() third argument type to bool
nvme: move error logging from nvme_end_req() to __nvme_end_req()
nvmet: pci-epf: Do not add an IRQ vector if not needed
nvmet: pci-epf: Set NVMET_PCI_EPF_Q_LIVE when a queue is fully created
nvme-pci: fix stuck reset on concurrent DPC and HP
Fixes and new HW support:
- amd/pmf:
- Fix error handling in amd_pmf_init_smart_pc()
- Fix missing hidden options for Smart PC
- surface: aggregator_registry: Add Support for Surface Pro 11
The following is an automated shortlog grouped by driver:
amd/pmf:
- fix cleanup in amd_pmf_init_smart_pc()
amd: pmf:
- Fix missing hidden options for Smart PC
MAINTAINERS:
- Update Ike Panhc's email address
surface: aggregator_registry:
- Add Support for Surface Pro 11
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZ9Q9DAAKCRBZrE9hU+XO
MZE3AP9GnIgzXK1dFbuorGfNCHMol4TbR6oANflMBPvORWE54QD/XWwongTvUpFU
cgwVSasJb2fLso/nyBlVmYeKE7h8qAk=
=6Une
-----END PGP SIGNATURE-----
Merge tag 'platform-drivers-x86-v6.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform driver fixes from Ilpo Järvinen:
"Fixes and new HW support.
The diff is a bit larger than I'd prefer at this point due to
unwinding the amd/pmf driver's error handling properly instead of
calling a deinit function that was a can full of worms.
Summary:
- amd/pmf:
- Fix error handling in amd_pmf_init_smart_pc()
- Fix missing hidden options for Smart PC
- surface: aggregator_registry: Add Support for Surface Pro 11"
* tag 'platform-drivers-x86-v6.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
MAINTAINERS: Update Ike Panhc's email address
platform/x86/amd: pmf: Fix missing hidden options for Smart PC
platform/surface: aggregator_registry: Add Support for Surface Pro 11
platform/x86/amd/pmf: fix cleanup in amd_pmf_init_smart_pc()
- use raw notifier for line state events
- don't check the return value of gpio_chip::get_direction() when
registering a GPIO chip
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmfT/6AACgkQEacuoBRx
13JcXBAAxhMZQ4WpdqXMCjLTSGCRGS/QsmsqMFSeaPAi9es3BiQrFHq8D5uu0pGT
37mkKQVt7mnNy7N7edbheKKwmwN6DCEBYvBNMnKTuXuruHOIsNqk/zgBisB5BlAV
nrZhy5c7pSRcMVVfnNr9lFgfIw0Vg1chUXh3GqL9l4JhrIpWdtnACw2/RvjV3CCj
eGotF+pBKoLiN8fGobK7b710LptUJ0oB0RLxgYkqPHwBFRe6A90Z6NgQtTHzIcI/
lHxEU2kmfqGGhhQMLZwE8f1IR477fu903YpeN4DnQoEbgZtPx8KuW4eyZ/sRRxWZ
a1JEQq29TUES7xnbPMQCSFnI+2CPQCC6Y61cxsI+RJeF2hjw/+HrF+7Kil4hI9Gk
XlAWohymH60rVnRx9V7DLDu2E7F/D7xVd/0B//RnDp32uvQaQtxkfg4Y0cz8Ldwa
4c3yxeGjTQinxavkePeSQOV0m5Y14ow5X4HDM72wzHjt7tcdj0EcU/Go3Y/ymkbu
lJa6p4LpXA8QlKUBKUHztoLOoYbuCr/5A/zdc8PYS7SBCn9Zm29A+TcjPxxwRimA
7UpgfD5xytgY7DRB5meuebXD6BvLda0cJaa9vdc7Hd8nRbbPdhGlmt5i1URPM38g
E4jTmFMmNVzL+ngRJPBxv5CQ9R35jiOlQsAphcMObVwCCj65w3s=
=gVFo
-----END PGP SIGNATURE-----
Merge tag 'gpio-fixes-for-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull gpio fixes from Bartosz Golaszewski:
"The first fix is a backport from my v6.15-rc1 queue that turned out to
be needed in v6.14 as well but as the former diverged from my fixes
branch I had to adjust the patch a bit.
The second one fixes a regression observed in user-space where closing
a file descriptor associated with a GPIO device results in a ~10ms
delay due to the atomic notifier calling rcu_synchronize() when
unregistering.
Summary:
- don't check the return value of gpio_chip::get_direction() when
registering a GPIO chip
- use raw notifier for line state events"
* tag 'gpio-fixes-for-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
gpio: cdev: use raw notifier for line state events
gpiolib: don't check the retval of get_direction() when registering a chip
A collection of last-minute fixes. Most of them are for ASoC, and
the only one core fix is for reverting the previous change, while
the rest are all device-specific quirks and fixes, which should be
relatively safe to apply.
-----BEGIN PGP SIGNATURE-----
iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmfT/QgOHHRpd2FpQHN1
c2UuZGUACgkQLtJE4w1nLE+BRQ//R0JdsAi6QdLaFBr9djLaeD4cg4teZNAIllZH
+DHicAcLq8c8YRZpBEtbkdNSPqQaaP1DFK+ecfBPCnMNVVNviVu31LfOkPYOeeaa
OhcpewBoeIPbUlt2B1uvgo/sNsQVw2oNIYQLd8iwz/Qx50K2M2TdsBvdsvD94MbL
tTADYYXexXv3zNLTPrrUH0aq6pQ+ybjiXovsN+enWTnwTTg9EDiBeiC4x0pYje1e
pbY2ouxkKhxJR5+RFlkznSgeUZap4X63ax1yo5x5nosyEWzIX9R6PL735HTtgjXc
Z1BcB5nxv93sbdkTivPCrF8Ttqb9vCLDdBNvK4J/oLSJzmLImEl7WNldNEYdEfad
DeI90gNL2nQBnhCsVhu2kPw20IsLym9UNuDsu9A/tC0tVw9cTcV95xPNWhosM2ue
y7ma+UsZQKLVgZWtLBbwHaPmXiyb0z9n/5GtVA2ZfmBih4h5pKPZ/qV7pL59zubz
73vq8vZNaeRMJdO2wTmsfkZxvxfeh8w9AzqzDEYVMj9bsKsheDtgjGVHKE15dMbk
Ti9YnPv0T5Hcv39ZK2vF8xNCEVfpeJt2P9449ht41gyKdVCW0BO7LCcHih7LSreL
RiowSMa2L4+Afjali+qIWT8Kp3jTlqWDPF88Eqw+jTZF4OUSAB7JeSN3OWycrrtS
2J52niI=
=EmsG
-----END PGP SIGNATURE-----
Merge tag 'sound-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A collection of last-minute fixes.
Most of them are for ASoC, and the only one core fix is for reverting
the previous change, while the rest are all device-specific quirks and
fixes, which should be relatively safe to apply"
* tag 'sound-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ASoC: cs42l43: convert to SYSTEM_SLEEP_PM_OPS
ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx
ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
ASoC: rt722-sdca: add missing readable registers
ASoC: amd: yc: Support mic on another Lenovo ThinkPad E16 Gen 2 model
ASoC: cs42l43: Fix maximum ADC Volume
ASoC: ops: Consistently treat platform_max as control value
ASoC: rt1320: set wake_capable = 0 explicitly
ASoC: cs42l43: Add jack delay debounce after suspend
ASoC: tegra: Fix ADX S24_LE audio format
ASoC: codecs: wsa884x: report temps to hwmon in millidegree of Celsius
ASoC: Intel: sof_sdw: Fix unlikely uninitialized variable use in create_sdw_dailinks()
- Fix population of the vmemmap for regions of memory that are smaller
than a section (128 MiB)
- Fix range-based TLB over-invalidation when invoked via a MMU notifier
-----BEGIN PGP SIGNATURE-----
iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmfTHq4QHHdpbGxAa2Vy
bmVsLm9yZwAKCRC3rHDchMFjNGU4CAC6PIWBABqenvd3bDAKSndhq8oGUWGU6sxT
XvOaIJZzTNOufe3mbLZe2B4IQryW3aRnW5Y97PX9aEdymZCz9o9FRId7nyzduRON
kga5AzYJ0EiGQV5clXY3lh6rlcG2lnCtvc2ZJwZFKPpC5wqWbpUoRIcgVyq5Ys3E
lDtMa4Lq9CpEfzLZeEN2e7U5FzFFPppoYl/zfLmhQDawpOlIwnH5zQLgEvjhJvg7
gsbUdHmtIFbzAqM/JlHyOe1cks8Il39xlG0g/q1B7tw6Cr82NaQ/6HIDH82Niuwu
m3u3N5c3JeeSTlDPuLOnvk1jNHnsxKsoizNc4YMKxdrJx1XA/kua
=UQo9
-----END PGP SIGNATURE-----
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon:
"The main one is a horrible macro fix for our TLB flushing code which
resulted in over-invalidation on the MMU notifier path.
Summary:
- Fix population of the vmemmap for regions of memory that are
smaller than a section (128 MiB)
- Fix range-based TLB over-invalidation when invoked via a MMU
notifier"
* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
Fix mmu notifiers for range-based invalidates
arm64: mm: Populate vmemmap at the page level if not section aligned
utilizing static keys that didn't consider that the
static_key_disable() call could be triggered in atomic context.
Revert the optimization.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT8m4RHG1pbmdvQGtl
cm5lbC5vcmcACgkQEnMQ0APhK1h8IRAAlvqGw8HmdN5VGdco95ejRK8zdPLWQFvI
m7FvjSZu5ciZrxz72QVmpIoprfNSb7WiYFhrVi7x6qIHgc/g9frIWxRP/OnXsMSg
hWAHystWPVrLirD6lN46nOKvVaqaACa6NyndNnwGtLEwTyf3Rc87XU/gRjiCwCBG
hFt7HAEbgSi0YnKcPm79Le0Es33ZfH1Z47LSOSLlEyZbp+dcoliOzveJmbxhcfTM
3yUO9HtoFRKsUbDZCYHE/ZWgDJbaGNPokwHf9XMSFrWbTXPHxvJvKgZKMfaN+rtr
NKXzDvUW7D3Au3KHrBk39TcBZMkAKLnnze5RV8xAurKzMZBRWD7ybKetzeMt8gzg
os/Ge9M5AxldiuPxK8s8S+X+L5tQ/uNwzbQEaC0w4ouH3ZBjgoHTWNJM6Lpwpl42
3c+zBC+2TdC2dDj0elL2Z34T6X6FiHMoBHOIKaTvX7Lh5G4lTLC9+GIBAt/vSAFv
vqpo3Bc61qq2jgpnmWRVVfvHKrvA7dvfvId0oE8JQfGB446glLlEKJ7Dyn65NJp6
9rc2wPAAs+oaaxi47p94CKwBvYzyKkMXSnyB5WXQJOk4O6QD7uv9qGXHzy+8gAom
QAFTJGpTr7mnXcu/ZOdGGBqoq5Kcbvf15SnnkYqduE0f/omoW+BqgEyGxvbP+qsV
/7D7ZCXbyk0=
=fXc6
-----END PGP SIGNATURE-----
Merge tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Ingo Molnar:
"Fix a sleeping-while-atomic bug caused by a recent optimization
utilizing static keys that didn't consider that the
static_key_disable() call could be triggered in atomic context.
Revert the optimization"
* tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/clock: Don't define sched_clock_irqtime as static key
- Restrict the Rust runtime from unintended access
to dynamically allocated LockClassKeys
- KernelDoc annotation fix
- Fix a lock ordering bug in semaphore::up(), related
to trying to printk() and wake up the console
within critical sections
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT8UwRHG1pbmdvQGtl
cm5lbC5vcmcACgkQEnMQ0APhK1h0PQ//UsdUP6lNHcm7VLDWxvWiESe6J6VuzBMF
y8XU0YumFO+nwgiRNv0Itny1RGV075/Xe6BwUI2ftF234cfVK1O/qAwt+a2tQ9pd
7NCoCKyXX6iQseRECYqDxFw5TqCWikpdx5oPaMAy03G3Ig/skr1JBalSukoeedO9
M57YcWSfmqn+NeevfaNwUygFN7smFHPJSQqWGbefU/Wj7bGynNA4eH9I4xubMMXZ
Q5jWfeM5zvp5rhIf9Gf22j9SjAiE+ePZKAN57t3tMmNYTIPqLebzlKpCy3XWReUr
pONSWSZHlwTIJVPfH7f04Y6/198PHtQ1urtbcPnM/8PIh2UW7/8OESkZvtkTswfU
INiFx5baWtyjU8UosJFgUnlZeaVYAdBsdv7C8Ngng7aXmiJvAYOnIDTDgYIirPSN
5LOO55mLBylASNC+6NYtp/AFBQshKgKACCQsWuguvqVS5Xok+LuHIu5s9LWKRWM8
Og1nRAczbQIKRCrHGkQIW/TisWAZLvqiw8u9aqmYsO/KuNNELqcibpPSkxZ4h0c+
T+ssvZ+c7qe3luZKbjJ16kl7Uk1OJK5s5Tk68LHsBLrRu/oOAFsuWwfnwwxiGPdg
6JPoMPng7bRUFtKDAS3o/ux4eGuGMCup1N29+HqcBRAkW8UCdvmfvbK01MDttaaC
1cc2MelHHUU=
=8KVL
-----END PGP SIGNATURE-----
Merge tag 'locking-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull misc locking fixes from Ingo Molnar:
- Restrict the Rust runtime from unintended access to dynamically
allocated LockClassKeys
- KernelDoc annotation fix
- Fix a lock ordering bug in semaphore::up(), related to trying to
printk() and wake up the console within critical sections
* tag 'locking-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
locking/semaphore: Use wake_q to wake up processes outside lock critical section
locking/rtmutex: Use the 'struct' keyword in kernel-doc comment
rust: lockdep: Remove support for dynamically allocated LockClassKeys
We just had a report of the assert for "btree in write buffer for
non-write buffer btree" popping during the 6.14 upgrade.
- 150TB filesystem, after a reboot the upgrade was able to continue from
where it left off, so no major damage.
But with 6.14 about to come out we want to get this tracked down asap,
and need more data if other users hit this.
Convert the BUG_ON() to an emergency read-only, and print out btree, the
key itself, and stack trace from the original write buffer update (which
did not have this check before).
Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
We have a central definition for this function since 2023, used by
a number of different parts of the kernel.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
The function event_{hist,hist_debug}_open() maintains the refcount of
'file->tr' and 'file' through tracing_open_file_tr(). However, it does
not roll back these counts on subsequent failure paths, resulting in a
refcount leak.
A very obvious case is that if the hist/hist_debug file belongs to a
specific instance, the refcount leak will prevent the deletion of that
instance, as it relies on the condition 'tr->ref == 1' within
__remove_instance().
Fix this by calling tracing_release_file_tr() on all failure paths in
event_{hist,hist_debug}_open() to correct the refcount.
Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Zheng Yejian <zhengyejian1@huawei.com>
Link: https://lore.kernel.org/20250314065335.1202817-1-wutengda@huaweicloud.com
Fixes: 1cc111b9cd ("tracing: Fix uaf issue when open the hist or hist_debug file")
Signed-off-by: Tengda Wu <wutengda@huaweicloud.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmfT5twACgkQUa+KL4f8
d2Er2w//Zm+7YyDI08IT+szh+IUVfiEFJFkIuW1fS1js+NKi7rlBszos+mrRRwXQ
E098W+ARQ9RB+Cr9IKPhb7fNhWNx3Pepdtb66UUXjvGTdM/gsmvx8a/frneOcFxO
qO2Mn97+kB3I0/FegvsAuk1/EFvE0h0a6c2LY92CGOSb20VbRAZv4l7DJW+qyHY0
yZcQP0OLwE9gtlPdUxVBXORlUMyhznuTtC8T8x5YeGRlsiybrcpiLsWDSQWZBVAy
mAWJhytFfvkm5Pd/J28UbSAEWJjqheddyraEv/cZo3NBbgZIK9evCzJSQqhHxCfb
lhue3EVj8cU/d/i/QROmGVb/OdPC2tklmdWSTnLhwpo05yN6NhEMy1fcxmBsGKjP
dx4AR9nx9luXM6raG4D/5Pe/CnB4AsrAn7KcMjHkrTFrn3QGT7fsLZkJw7felrtB
1BMNYQ06qfEJbOrmP+C66+QKv4HoBFVFO8zrAoh1YTuXMg4Wn8OB7Yskyw4KCCAO
tjv0FzZCbJU/oTAfsAMIrL8NPRHjp6B4zRhTc4k9CwbqVL7LkqHehkZL1nmqFxXV
et2PbT4HO8NSBaJ9/CaqCbqFlUKWiu0dEHrF2pR0r3wyljeXUcUm1fY4lGNLVVQF
Z9rLXPfNENUB5yY7hGHGkwEmbIux19flhA21HaUH2N+A9qUK5XE=
=MOcN
-----END PGP SIGNATURE-----
Merge tag 'leds-fixes-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
Pull LED fix from Lee Jones:
- Fix NULL pointer in STMicroelectronics LED1202 LED support
* tag 'leds-fixes-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
leds: leds-st1202: Fix NULL pointer access on race condition
A subtle error got introduced while manually fixing merge conflict in
tcpm.c for commit 85c4efbe60 ("Merge v6.12-rc6 into usb-next"). As a
result of this error, the next state is unconditionally set to
SNK_WAIT_CAPABILITIES_TIMEOUT while handling SNK_WAIT_CAPABILITIES state
in run_state_machine(...).
Fix this by setting new state of TCPM state machine to `upcoming_state`
(that is set to different values based on conditions).
Cc: stable@vger.kernel.org
Fixes: 85c4efbe60 ("Merge v6.12-rc6 into usb-next")
Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20250310-fix-snk-wait-timeout-v6-14-rc6-v1-1-5db14475798f@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Here are some new modem device ids and a couple of related fixes, and
support for Altera USB Blaster 3.
All have been in linux-next with no reported issues.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQHbPq+cpGvN/peuzMLxc3C7H1lCAUCZ9PWawAKCRALxc3C7H1l
CKveAP9oScoe3RLTX9S+X+tcIree4W0EY1vK2iQX3iKxPi1R4wEAl87YJJRj1HvG
O7U369iyzLgH4LrZBlOOhWVVJ6TA4ws=
=jpq3
-----END PGP SIGNATURE-----
Merge tag 'usb-serial-6.14-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes:
USB-serial device ids for 6.14-rc7
Here are some new modem device ids and a couple of related fixes, and
support for Altera USB Blaster 3.
All have been in linux-next with no reported issues.
* tag 'usb-serial-6.14-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
USB: serial: ftdi_sio: add support for Altera USB Blaster 3
USB: serial: option: fix Telit Cinterion FE990A name
USB: serial: option: add Telit Cinterion FE990B compositions
USB: serial: option: match on interface class for Telit FN990B
- Fix new warnings around userptr (Thomas)
- Temporaritly disable D3Cold on BMG (Rodrigo)
- Retry and wait longer for GuC PC to start (Rodrigo)
- Remove redundant check in xe_vm_create_ioctl (Xin)
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEbSBwaO7dZQkcLOKj+mJfZA7rE8oFAmfTB3EACgkQ+mJfZA7r
E8pkoAgAui5ItatSInI77C15ajI1Mn4kVVu95Pus+rz8pj4NDpWPVwo9dIySjp+h
BIwDFLzpi9aEAYKT81JmXp6KDtqQDv+pyBzw/hVdMT47hP5nOJax1j6uAa7gAaXB
KxvMmHP2p4N917n6oUg8tOM0rPrY/GjXRkPETjD3snJ1gP0kqj4xDOWupkU51fec
Mk+PI+o67fnDFTMZziHNS0BS3MdXGi6uEldNAzm2s6xgoIGwIv2Gl2Sm8uTNxEqY
olo03ssQGO3NKh78J/laoNEendcKG+aarwt3h7WQhAgx0P1asjn1F2pFX0nNKpyJ
Y1SRMu+g6lzozo3I1tCB3BaIJ/1XEQ==
=1WN7
-----END PGP SIGNATURE-----
Merge tag 'drm-xe-fixes-2025-03-13' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes
- Release guc ids before cancelling work (Tejas)
- Fix new warnings around userptr (Thomas)
- Temporaritly disable D3Cold on BMG (Rodrigo)
- Retry and wait longer for GuC PC to start (Rodrigo)
- Remove redundant check in xe_vm_create_ioctl (Xin)
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/Z9MJWeIlZPuvXZ_G@intel.com
- Suspend on Google GS101 crashes when trying to save some clk
registers that we shouldn't be saving so we don't do that anymore
- The PLL lock time was wrong on the Tesla FSD which could lead to the
PLL never locking
- Qualcomm's display clk controller on SM8750 was trying to change the
frequency of a parent clk for the DSI device when it should have
stopped and adjusted the divider. The failure is that the clk
frequency was half what was expected, leading to broken display.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmfTfQYRHHNib3lkQGtl
cm5lbC5vcmcACgkQrQKIl8bklSW2YBAArHpBcdJKRhm+8QO1KDSR0wB09t/nxbTY
MUsGh1hnPKaPXHWgQO6uwb6jM/Zw+bNabhmo2DhGn4tT9dRHH9CD3JQ2KNYybC0R
/VCxd0M8Smr4DZAWd0F0VQPIbRO72eGI9jBT8mg59RJGmslNkThkBBBDXB5FNoyN
X0FZCOY4qbNtI+kJL28CdTFTIgESGBWJKjYVX3GUbKyZGL2z8RwY9OziqQQIeSqV
AAypiMgLw9gTPz+wlDx0z04ulehe0xJcyV9+69pIpdGlio4SgL+kfSvgcVttAPqY
/h4ZXBL/FWUNhOhyo4CmU+kWyxD81sqvHmBqCksSVuH+Y0w3SQ9KDREiv2nuIc5K
TVOkjNJk0Ts6XtIrm8E8r9WNed9tWZfOZPLAfUt1PUVzXWQR9Hnat+jiETKXWbor
pEQR8vNxFq7z5i4vlytMu1FN1/3N9G+ppB+c/GhImV33IWnybzVaep/+wjj0Pdw+
bxSRhcHsjBJfEp+PCzzJbXj5AY0ozWy5hoENtX1uJCesrE/JLMErFx2hQkIXD7WI
9d20Nf23OngietozL77NCQ46KkqGij2TyhtHm3apiPK7wEjNmQbBFwU6i0Yjfyf7
BtdMGbxQ6s5ny54GbOrXte+jol47njOQGL2BBUp0v6lAIXzLY2E8pStNYU1D8Icw
o5WH0PPlyt8=
=bKlG
-----END PGP SIGNATURE-----
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd:
"A few clk driver fixes for Samsung and Qualcomm clk drivers:
- Suspend on Google GS101 crashes when trying to save some clk
registers that we shouldn't be saving so we don't do that anymore
- The PLL lock time was wrong on the Tesla FSD which could lead to
the PLL never locking
- Qualcomm's display clk controller on SM8750 was trying to change
the frequency of a parent clk for the DSI device when it should
have stopped and adjusted the divider. The failure is that the clk
frequency was half what was expected, leading to broken display"
* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
clk: samsung: update PLL locktime for PLL142XX used on FSD platform
clk: samsung: gs101: fix synchronous external abort in samsung_clk_save()
clk: qcom: dispcc-sm8750: Drop incorrect CLK_SET_RATE_PARENT on byte intf parent
Roxana caught an unitialized value that might explain some of the
rebalance weirdness we're still tracking down - cool.
Otherwise pretty minor.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmfTX2wACgkQE6szbY3K
bna/lQ//V6zmWnPTDXt46ztAeOTucFgfIivevH1fznSEMqkxFYJVdjtHscYcO8SJ
GRYeNaz4ioKxMIcz5OU32uES/hXeOgwc43wxkWud3O8P0IkRIsLDYth9ejbOn1lf
U0jPC0DMNLqeVi8PrmnQM6QdV6BwUHAay6v8HB830QGhMq7S+ajl5F2F0irk4Fpn
YLE+m1CG14G+8ckxNcfkwjV1uh/0kt/aWX9Oii2MH0pH81ycug8B/Ld2RCs/31SN
9kopfcTsPx4oVJ8D3WrhnPl5R79l7qTa5h1ahiBu2Y/V3wfmTf5GAxESZrXInOgd
bU1Q+LQfq9semgiztXUESkcsFVkk5UEflAlm/zf0DauCjJUwZ18e/nogz6gRLfA7
HXZJvSWkTFnKoddJySSXeZFUXLqS2uGykJJS+Fl7NQCvUM2WztaGkNc8Aw4engfZ
l3/6iaT3mSYHJkNWdtQuFo0tm+YAAF5yYXmho2oH/CX8uH8t4fSSqUL7sy876p52
BOj+RMX8ErviwBUwt0cfz40AGtPiCQcuvv5TSvRoiYas1ItIo5fjlX+RCK4Z7/GI
MdHMC8tFbMQkGvHdFyaRe3nP72Jp4+zpU7jsx+hqs/wYgKD8S1j3uBgq9LD8qMLV
Ikt08CWtVUIR93dKbqlK8pFkkLNj6rwn+CQFCxm34W03Y3LctRc=
=Li6S
-----END PGP SIGNATURE-----
Merge tag 'bcachefs-2025-03-13' of git://evilpiepirate.org/bcachefs
Pull bcachefs fixes from Kent Overstreet:
"Roxana caught an unitialized value that might explain some of the
rebalance weirdness we're still tracking down - cool.
Otherwise pretty minor"
* tag 'bcachefs-2025-03-13' of git://evilpiepirate.org/bcachefs:
bcachefs: bch2_get_random_u64_below()
bcachefs: target_congested -> get_random_u32_below()
bcachefs: fix tiny leak in bch2_dev_add()
bcachefs: Make sure trans is unlocked when submitting read IO
bcachefs: Initialize from_inode members for bch_io_opts
bcachefs: Fix b->written overflow
an interaction between DPMS and atomic leading to dropped frames, and
a locking fix for dp_mst
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZ9KK6QAKCRDj7w1vZxhR
xf6AAQCH0DwU7ymzHStkJRP7HbBWG9vibLkWzWQ4QDZTv+v7mwD+Mvl3n0C1DqWc
FDimBS+tYU0p6ltZ8vnyjHksFyKxXQA=
=aytA
-----END PGP SIGNATURE-----
Merge tag 'drm-misc-fixes-2025-03-13' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
A null pointer check for gma500, two clippy fixes for panic, a fix for
an interaction between DPMS and atomic leading to dropped frames, and
a locking fix for dp_mst
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maxime Ripard <mripard@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250313-holistic-clay-moose-fead28@houat