]> git.ipfire.org Git - thirdparty/kernel/linux.git/log
thirdparty/kernel/linux.git
2 weeks agoNFS: remove the delegation == NULL check in nfs_end_delegation_return
Christoph Hellwig [Wed, 28 Jan 2026 04:46:06 +0000 (05:46 +0100)] 
NFS: remove the delegation == NULL check in nfs_end_delegation_return

All callers now pass a non-NULL delegation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: use bool for the issync argument to nfs_end_delegation_return
Christoph Hellwig [Wed, 28 Jan 2026 04:46:05 +0000 (05:46 +0100)] 
NFS: use bool for the issync argument to nfs_end_delegation_return

Replace the integer used as boolean with a bool type, and tidy up
the prototype and top of function comment.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: return void from ->return_delegation
Christoph Hellwig [Wed, 28 Jan 2026 04:46:04 +0000 (05:46 +0100)] 
NFS: return void from ->return_delegation

The caller doesn't check the return value, so drop it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: return void from nfs4_inode_make_writeable
Christoph Hellwig [Wed, 28 Jan 2026 04:46:03 +0000 (05:46 +0100)] 
NFS: return void from nfs4_inode_make_writeable

None of the callers checks the return value, so drop it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4
Anna Schumaker [Thu, 4 Dec 2025 20:44:33 +0000 (15:44 -0500)] 
NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4

Compiling the NFSv4 module without any minorversion support doesn't make
much sense, so this patch sets NFS v4.1 as the default, always enabled
NFS version allowing us to replace all the CONFIG_NFS_V4_1s scattered
throughout the code with CONFIG_NFS_V4.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Add a way to disable NFS v4.0 via KConfig
Anna Schumaker [Fri, 21 Nov 2025 19:53:50 +0000 (14:53 -0500)] 
NFS: Add a way to disable NFS v4.0 via KConfig

I introduce NFS4_MIN_MINOR_VERSION as a parallel to
NFS4_MAX_MINOR_VERSION to check if NFS v4.0 has been compiled in and
return an appropriate error if not.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move sequence slot operations into minorversion operations
Anna Schumaker [Thu, 20 Nov 2025 20:14:30 +0000 (15:14 -0500)] 
NFS: Move sequence slot operations into minorversion operations

At the same time, I move the NFS v4.0 functions into nfs40proc.c to keep
v4.0 features together in their own files.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Pass a struct nfs_client to nfs4_init_sequence()
Anna Schumaker [Thu, 20 Nov 2025 21:55:09 +0000 (16:55 -0500)] 
NFS: Pass a struct nfs_client to nfs4_init_sequence()

No functional change in this patch. This just makes the next patch where
I introduce "sequence slot operations" simpler.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move NFS v4.0 pathdown recovery into nfs40client.c
Anna Schumaker [Fri, 14 Nov 2025 21:03:41 +0000 (16:03 -0500)] 
NFS: Move NFS v4.0 pathdown recovery into nfs40client.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move nfs40_init_client into nfs40client.c
Anna Schumaker [Fri, 14 Nov 2025 20:15:19 +0000 (15:15 -0500)] 
NFS: Move nfs40_init_client into nfs40client.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move nfs40_shutdown_client into nfs40client.c
Anna Schumaker [Fri, 14 Nov 2025 19:48:36 +0000 (14:48 -0500)] 
NFS: Move nfs40_shutdown_client into nfs40client.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Make the various NFS v4.0 operations static again
Anna Schumaker [Fri, 14 Nov 2025 19:35:38 +0000 (14:35 -0500)] 
NFS: Make the various NFS v4.0 operations static again

They don't need to be visible outside of nfs40proc.c anymore now that
the minor version ops have been moved over.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move the NFS v4.0 minor version ops into nfs40proc.c
Anna Schumaker [Fri, 14 Nov 2025 19:26:36 +0000 (14:26 -0500)] 
NFS: Move the NFS v4.0 minor version ops into nfs40proc.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Split out the nfs40_mig_recovery_ops to nfs40proc.c
Anna Schumaker [Thu, 13 Nov 2025 22:11:55 +0000 (17:11 -0500)] 
NFS: Split out the nfs40_mig_recovery_ops to nfs40proc.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Split out the nfs40_state_renewal_ops into nfs40proc.c
Anna Schumaker [Thu, 13 Nov 2025 20:15:29 +0000 (15:15 -0500)] 
NFS: Split out the nfs40_state_renewal_ops into nfs40proc.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Split out the nfs40_nograce_recovery_ops into nfs40proc.c
Anna Schumaker [Thu, 13 Nov 2025 18:17:59 +0000 (13:17 -0500)] 
NFS: Split out the nfs40_nograce_recovery_ops into nfs40proc.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Split out the nfs40_reboot_recovery_ops into nfs40client.c
Anna Schumaker [Thu, 13 Nov 2025 16:10:17 +0000 (11:10 -0500)] 
NFS: Split out the nfs40_reboot_recovery_ops into nfs40client.c

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2 weeks agoNFS: Move nfs40_call_sync_ops into nfs40proc.c
Anna Schumaker [Fri, 7 Nov 2025 21:30:51 +0000 (16:30 -0500)] 
NFS: Move nfs40_call_sync_ops into nfs40proc.c

This is the first step in extracting NFS v4.0 into its own set of files
that can be disabled through Kconfig.

Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: switch nfs_local_do_read and nfs_local_do_write to return void
Mike Snitzer [Wed, 7 Jan 2026 16:08:58 +0000 (11:08 -0500)] 
NFS/localio: switch nfs_local_do_read and nfs_local_do_write to return void

Both nfs_local_do_read and nfs_local_do_write only return 0 at the
end, so switch them to returning void.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: remove -EAGAIN handling in nfs_local_doio()
Mike Snitzer [Wed, 7 Jan 2026 16:08:57 +0000 (11:08 -0500)] 
NFS/localio: remove -EAGAIN handling in nfs_local_doio()

Handling -EAGAIN in nfs_local_doio() was introduced with commit
0978e5b85fc08 (nfs_do_local_{read,write} were made to have negative
checks for correspoding iter method) but commit e43e9a3a3d66
since eliminated the possibility for this -EAGAIN early return.

So remove nfs_local_doio()'s -EAGAIN handling that calls
nfs_localio_disable_client() -- while it should never happen from
nfs_do_local_{read,write} this particular -EAGAIN handling is now
"dead" and so it has become a liability.

Fixes: e43e9a3a3d66 ("nfs/localio: refactor iocb initialization")
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: use GFP_NOIO and non-memreclaim workqueue in nfs_local_commit
Mike Snitzer [Wed, 7 Jan 2026 16:08:56 +0000 (11:08 -0500)] 
NFS/localio: use GFP_NOIO and non-memreclaim workqueue in nfs_local_commit

nfslocaliod_workqueue is a non-memreclaim workqueue (it isn't
initialized with WQ_MEM_RECLAIM), see commit b9f5dd57f4a5
("nfs/localio: use dedicated workqueues for filesystem read and
write").

Use nfslocaliod_workqueue for LOCALIO's SYNC work.

Also, set PF_LOCAL_THROTTLE | PF_MEMALLOC_NOIO in
nfs_local_fsync_work.

Fixes: b9f5dd57f4a5 ("nfs/localio: use dedicated workqueues for filesystem read and write")
Signed-off-by: Mike Snitzer <snitzer@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages
Mike Snitzer [Wed, 7 Jan 2026 16:08:55 +0000 (11:08 -0500)] 
NFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages

LOCALIO is an NFS loopback mount optimization that avoids using the
network for READ, WRITE and COMMIT if the NFS client and server are
determined to be on the same system. But because LOCALIO is still
fundamentally "just NFS loopback mount" it is susceptible to recursion
deadlock via direct reclaim, e.g.: NFS LOCALIO down to XFS and then
back into NFS via nfs_writepages.

Fix LOCALIO's potential for direct reclaim deadlock by ensuring that
all its page cache allocations are done from GFP_NOFS context.

Thanks to Ben Coddington for pointing out commit ad22c7a043c2 ("xfs:
prevent stack overflows from page cache allocation").

Reported-by: John Cagle <john.cagle@hammerspace.com>
Tested-by: Allen Lu <allen.lu@hammerspace.com>
Suggested-by: Benjamin Coddington <bcodding@hammerspace.com>
Fixes: 70ba381e1a43 ("nfs: add LOCALIO support")
Signed-off-by: Mike Snitzer <snitzer@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: Cleanup the nfs_local_pgio_done() parameters
Trond Myklebust [Sat, 3 Jan 2026 17:15:00 +0000 (12:15 -0500)] 
NFS/localio: Cleanup the nfs_local_pgio_done() parameters

Remove the redundant 'force' parameter.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS/localio: Handle short writes by retrying
Trond Myklebust [Sat, 3 Jan 2026 17:14:59 +0000 (12:14 -0500)] 
NFS/localio: Handle short writes by retrying

The current code for handling short writes in localio just truncates the
I/O and then sets an error. While that is close to how the ordinary NFS
code behaves, it does mean there is a chance the data that got written
is lost because it isn't persisted.
To fix this, change localio so that the upper layers can direct the
behaviour to persist any unstable data by rewriting it, and then
continuing writing until an ENOSPC is hit.

Fixes: 70ba381e1a43 ("nfs: add LOCALIO support")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: make nfs_mark_return_unreferenced_delegations less aggressive
Christoph Hellwig [Wed, 7 Jan 2026 07:27:15 +0000 (08:27 +0100)] 
NFS: make nfs_mark_return_unreferenced_delegations less aggressive

Currently nfs_mark_return_unreferenced_delegations marks all open but
not referenced delegations (i.e., those were found by a previous pass)
as return on close, which means that we'll return them on close without
a way out.

Replace this with only iterating delegations that are on the LRU list,
and avoid delegations that are in use by an open files to avoid this.

Delegations that were never referenced while open still are be prime
candidates for return from the LRU if the number of delegations is over
the watermark, or otherwise will be returned by the next
nfs_mark_return_unreferenced_delegations pass after they are closed.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: return delegations from the end of a LRU when over the watermark
Christoph Hellwig [Wed, 7 Jan 2026 07:27:14 +0000 (08:27 +0100)] 
NFS: return delegations from the end of a LRU when over the watermark

Directly returning delegations on close when over the watermark is
rather suboptimal as these delegations are much more likely to be reused
than those that have been unused for a long time.  Switch to returning
unused delegations from a new LRU list when we are above the threshold and
there are reclaimable delegations instead.

Pass over referenced delegations during the first pass to give delegations
that aren't in active used by frequently used for stat() or similar another
chance to not be instantly reclaimed.  This scheme works the same as the
referenced flags in the VFS inode and dentry caches.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: add a separate delegation return list
Christoph Hellwig [Wed, 7 Jan 2026 07:27:13 +0000 (08:27 +0100)] 
NFS: add a separate delegation return list

Searching for returnable delegations in the per-server delegations list
can be very expensive.  While commit e04bbf6b1bbe ("NFS: Avoid quadratic
search when freeing delegations.") reduced the overhead a bit, the
fact that all the non-returnable delegations have to be searched limits
the amount of optimizations that can be done.

Fix this by introducing a separate list that only contains delegations
scheduled for return.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: reformat nfs_mark_delegation_revoked
Christoph Hellwig [Wed, 7 Jan 2026 07:27:12 +0000 (08:27 +0100)] 
NFS: reformat nfs_mark_delegation_revoked

Remove a level of indentation for the main code path.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: use a local RCU critical section in nfs_start_delegation_return
Christoph Hellwig [Wed, 7 Jan 2026 07:27:11 +0000 (08:27 +0100)] 
NFS: use a local RCU critical section in nfs_start_delegation_return

Nested RCU critical sections are fine and very cheap.  Have a local one
in nfs_start_delegation_return so that the function is self-contained
and to prepare for simplifying the callers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: use refcount_inc_not_zero nfs_start_delegation_return
Christoph Hellwig [Wed, 7 Jan 2026 07:27:10 +0000 (08:27 +0100)] 
NFS: use refcount_inc_not_zero nfs_start_delegation_return

Using the unconditional reference increment means we can take a
reference to a delegation already in the RCU grace period, which could
cause a use after free under very unlikely conditions.  Switch to use
refcount_inc_not_zero instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: don't consume a delegation reference in nfs_end_delegation_return
Christoph Hellwig [Wed, 7 Jan 2026 07:27:09 +0000 (08:27 +0100)] 
NFS: don't consume a delegation reference in nfs_end_delegation_return

All callers now hold references to the delegation as part of the lookup,
removing the need for an extra reference for those that are actually
returned which is then dropped in nfs_end_delegation_return.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: take a delegation reference in nfs4_get_valid_delegation
Christoph Hellwig [Wed, 7 Jan 2026 07:27:08 +0000 (08:27 +0100)] 
NFS: take a delegation reference in nfs4_get_valid_delegation

Currently most work on struct nfs_delegation happens directly under RCU
protection.  This is generally fine, despite that long RCU sections are
not good for performance.  But for operations later taking a reference
to the delegation to perform blocking work, refcount_inc is used, which
can be racy against dropping the last reference and thus lead to use
after frees in extremely rare cases.

Fix this by taking a reference in nfs4_get_valid_delegation using
refcount_inc_not_zero so that the callers have a stabilized reference
they can work with and can be moved outside the RCU critical section.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: simplify the detached delegation check in update_open_stateid
Christoph Hellwig [Wed, 7 Jan 2026 07:27:07 +0000 (08:27 +0100)] 
NFS: simplify the detached delegation check in update_open_stateid

When nfs_detach_delegation_locked detaches a delegation from an inode,
it clears both nfsi->delegation and delegation->inode.  Use the later
in update_open_stateid to check for a detached inode, as that avoids
an extra local variable, and removes the need for a RCU derefernence
as we already hold the lock in the delegation.  This prepares for
removing the surrounding RCU critical section.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: move the deleg_cur check out of nfs_detach_delegation_locked
Christoph Hellwig [Wed, 7 Jan 2026 07:27:06 +0000 (08:27 +0100)] 
NFS: move the deleg_cur check out of nfs_detach_delegation_locked

nfs_inode_set_delegation as the only direct caller of
nfs_detach_delegation_locked already check this under cl_lock, so
don't repeat it.

Replace the lockdep coverage for the lock that was implicitly provided by
the rcu_dereference_protected call that is removed with an explicit
lockdep assert to keep the coverage.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: return bool from nfs_detach_delegation{,_locked}
Christoph Hellwig [Wed, 7 Jan 2026 07:27:05 +0000 (08:27 +0100)] 
NFS: return bool from nfs_detach_delegation{,_locked}

nfs_detach_delegation always returns either the passed in delegation
or NULL, simplify this to a bool return.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: move delegation lookup into can_open_delegated
Christoph Hellwig [Wed, 7 Jan 2026 07:27:04 +0000 (08:27 +0100)] 
NFS: move delegation lookup into can_open_delegated

Keep the delegation handling in a single place, and just return the
stateid in an optional argument.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: rewrite nfs_delegations_present in terms of nr_active_delegations
Christoph Hellwig [Wed, 7 Jan 2026 07:27:03 +0000 (08:27 +0100)] 
NFS: rewrite nfs_delegations_present in terms of nr_active_delegations

Renewal only cares for active delegations and not revoked ones.  Replace
the list empty check with reading the active delegation counter to
implement this.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove nfs_free_delegation
Christoph Hellwig [Wed, 7 Jan 2026 07:27:02 +0000 (08:27 +0100)] 
NFS: remove nfs_free_delegation

Open code nfs_free_delegation in the callers, because having a "free"
function that wraps a revoke and put operation is a bit confusing,
especially when the __free version does the actual freeing triggered by
the last put.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: open code nfs_delegation_need_return
Christoph Hellwig [Wed, 7 Jan 2026 07:27:01 +0000 (08:27 +0100)] 
NFS: open code nfs_delegation_need_return

There is only a single caller, and the function can be condensed into a
single if statement, making it more clear what is being tested there.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove NFS_DELEGATION_INODE_FREEING
Christoph Hellwig [Wed, 7 Jan 2026 07:27:00 +0000 (08:27 +0100)] 
NFS: remove NFS_DELEGATION_INODE_FREEING

This essentially reverts commit 6f9449be53f3 ("NFS: Fix a soft lockup in
the delegation recovery code") because the code walking the per-server
delegation list has been fixed to just skip inodes for which
nfs_delegation_grab_inode fails, instead of having to restart the entire
series in commit f92214e4c312 ("NFS: Avoid unnecessary rescanning of the
per-server delegation list").

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: drop the _locked postfix from nfs_start_delegation_return
Christoph Hellwig [Wed, 7 Jan 2026 07:26:59 +0000 (08:26 +0100)] 
NFS: drop the _locked postfix from nfs_start_delegation_return

Now that nfs_start_delegation_return_locked is gone, and we have
RCU locking asserts, drop the extra postfix.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: assert rcu_read_lock is held in nfs_start_delegation_return_locked
Christoph Hellwig [Wed, 7 Jan 2026 07:26:58 +0000 (08:26 +0100)] 
NFS: assert rcu_read_lock is held in nfs_start_delegation_return_locked

And clean up the dereference of the delegation a bit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove nfs_start_delegation_return
Christoph Hellwig [Wed, 7 Jan 2026 07:26:57 +0000 (08:26 +0100)] 
NFS: remove nfs_start_delegation_return

There is only one caller, so fold it into that.  With that,
nfs_start_delegation_return

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove nfs_inode_detach_delegation
Christoph Hellwig [Wed, 7 Jan 2026 07:26:56 +0000 (08:26 +0100)] 
NFS: remove nfs_inode_detach_delegation

Fold it into the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove the NULL inode check in nfs4_inode_return_delegation_on_close
Christoph Hellwig [Wed, 7 Jan 2026 07:26:55 +0000 (08:26 +0100)] 
NFS: remove the NULL inode check in nfs4_inode_return_delegation_on_close

The only caller dereferences a field in the inode just before calling
nfs4_inode_return_delegation_on_close.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove nfs_client_mark_return_all_delegations
Christoph Hellwig [Wed, 7 Jan 2026 07:26:54 +0000 (08:26 +0100)] 
NFS: remove nfs_client_mark_return_all_delegations

Fold nfs_client_mark_return_all_delegations into
nfs_expire_all_delegations, which is the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove nfs_client_mark_return_unused_delegation_types
Christoph Hellwig [Wed, 7 Jan 2026 07:26:53 +0000 (08:26 +0100)] 
NFS: remove nfs_client_mark_return_unused_delegation_types

nfs_client_mark_return_unused_delegation_types is only called by
nfs_expire_unused_delegation_types, so merge the two.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
3 weeks agoNFS: remove __nfs_client_for_each_server
Christoph Hellwig [Wed, 7 Jan 2026 07:26:52 +0000 (08:26 +0100)] 
NFS: remove __nfs_client_for_each_server

__nfs_client_for_each_server is only called by
nfs_client_for_each_server, so merge the two.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
4 weeks agoLinux 6.19-rc6 v6.19-rc6
Linus Torvalds [Sun, 18 Jan 2026 23:42:45 +0000 (15:42 -0800)] 
Linux 6.19-rc6

4 weeks agoMerge tag 'landlock-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mic...
Linus Torvalds [Sun, 18 Jan 2026 23:15:47 +0000 (15:15 -0800)] 
Merge tag 'landlock-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux

Pull landlock fixes from Mickaël Salaün:
 "This fixes TCP handling, tests, documentation, non-audit elided code,
  and minor cosmetic changes"

* tag 'landlock-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
  landlock: Clarify documentation for the IOCTL access right
  selftests/landlock: Properly close a file descriptor
  landlock: Improve the comment for domain_is_scoped
  selftests/landlock: Use scoped_base_variants.h for ptrace_test
  selftests/landlock: Fix missing semicolon
  selftests/landlock: Fix typo in fs_test
  landlock: Optimize stack usage when !CONFIG_AUDIT
  landlock: Fix spelling
  landlock: Clean up hook_ptrace_access_check()
  landlock: Improve erratum documentation
  landlock: Remove useless include
  landlock: Fix wrong type usage
  selftests/landlock: NULL-terminate unix pathname addresses
  selftests/landlock: Remove invalid unix socket bind()
  selftests/landlock: Add missing connect(minimal AF_UNSPEC) test
  selftests/landlock: Fix TCP bind(AF_UNSPEC) test case
  landlock: Fix TCP handling of short AF_UNSPEC addresses
  landlock: Fix formatting

4 weeks agoMerge tag 'cgroup-for-6.19-rc5-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 22:30:27 +0000 (14:30 -0800)] 
Merge tag 'cgroup-for-6.19-rc5-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:

 - Add Chen Ridong as cpuset reviewer

 - Add SPDX license identifiers to cgroup files that were missing them

* tag 'cgroup-for-6.19-rc5-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  kernel: cgroup: Add LGPL-2.1 SPDX license ID to legacy_freezer.c
  kernel: cgroup: Add SPDX-License-Identifier lines
  MAINTAINERS: Add Chen Ridong as cpuset reviewer

4 weeks agoMerge tag 'ext4_for_linus-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 22:01:20 +0000 (14:01 -0800)] 
Merge tag 'ext4_for_linus-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 fixes from Ted Ts'o:

 - Fix an inconsistency in structure size on 32-bit platforms caused by
   padding differences for the new EXT4_IOC_[GS]ET_TUNE_SB_PARAM ioctls

 - Fix a buffer leak on the error path when dropping the refcount an
   xattr value stored in an inode

 - Fix missing locking on the error path for the file defragmentation
   ioctl leading to a BUG

* tag 'ext4_for_linus-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref
  ext4: add missing down_write_data_sem in mext_move_extent().
  ext4: fix ext4_tune_sb_params padding

4 weeks agoMerge tag 'dmaengine-fix-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul...
Linus Torvalds [Sun, 18 Jan 2026 21:38:31 +0000 (13:38 -0800)] 
Merge tag 'dmaengine-fix-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine

Pull dmaengine fixes from Vinod Koul:
 "A bunch of driver fixes for:

   - dma mask fix for mmp pdma driver

   - Xilinx regmap max register, uninitialized addr_width fix

   - device leak fix for bunch of drivers in the subsystem

   - stm32 dmamux, TI crossbar driver fixes for device & of node leak
     and route allocation cleanup

   - Tegra use afer free fix

   - Memory leak fix in Qualcomm gpi and omap-dma driver

   - compatible fix for apple driver"

* tag 'dmaengine-fix-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (25 commits)
  dmaengine: apple-admac: Add "apple,t8103-admac" compatible
  dmaengine: omap-dma: fix dma_pool resource leak in error paths
  dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config()
  dmaengine: sh: rz-dmac: Fix rz_dmac_terminate_all()
  dmaengine: xilinx_dma: Fix uninitialized addr_width when "xlnx,addrwidth" property is missing
  dmaengine: tegra-adma: Fix use-after-free
  dmaengine: fsl-edma: Fix clk leak on alloc_chan_resources failure
  dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue()
  dmaengine: ti: k3-udma: fix device leak on udma lookup
  dmaengine: ti: dma-crossbar: clean up dra7x route allocation error paths
  dmaengine: ti: dma-crossbar: fix device leak on am335x route allocation
  dmaengine: ti: dma-crossbar: fix device leak on dra7x route allocation
  dmaengine: stm32: dmamux: clean up route allocation error labels
  dmaengine: stm32: dmamux: fix OF node leak on route allocation failure
  dmaengine: stm32: dmamux: fix device leak on route allocation
  dmaengine: sh: rz-dmac: fix device leak on probe failure
  dmaengine: lpc32xx-dmamux: fix device leak on route allocation
  dmaengine: lpc18xx-dmamux: fix device leak on route allocation
  dmaengine: idxd: fix device leaks on compat bind and unbind
  dmaengine: dw: dmamux: fix OF node leak on route allocation failure
  ...

4 weeks agoMerge tag 'phy-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
Linus Torvalds [Sun, 18 Jan 2026 21:18:40 +0000 (13:18 -0800)] 
Merge tag 'phy-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy

Pull phy fixes from Vinod Koul:
 "A bunch of driver fixes:

   - Freescale typec orientation switch fix, clearing register fix,
     assertion of phy reset during power on

   - Qualcomm pcs register clear before using

   - stm one off fix

   - TI runtimepm error handling, regmap leak fixes

   - Rockchip gadget mode disconnection and disruption fixes

   - Tegra register level fix

   - Broadcom pointer cast warning fix"

* tag 'phy-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
  phy: freescale: imx8m-pcie: assert phy reset during power on
  phy: rockchip: inno-usb2: Fix a double free bug in rockchip_usb2phy_probe()
  phy: broadcom: ns-usb3: Fix Wvoid-pointer-to-enum-cast warning (again)
  phy: tegra: xusb: Explicitly configure HS_DISCON_LEVEL to 0x7
  phy: rockchip: inno-usb2: fix communication disruption in gadget mode
  phy: rockchip: inno-usb2: fix disconnection in gadget mode
  phy: ti: gmii-sel: fix regmap leak on probe failure
  phy: sparx5-serdes: make it selectable for ARCH_LAN969X
  phy: ti: da8xx-usb: Handle devm_pm_runtime_enable() errors
  phy: stm32-usphyc: Fix off by one in probe()
  phy: qcom-qusb2: Fix NULL pointer dereference on early suspend
  phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it
  dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Update pcie phy bindings for qcs8300
  phy: fsl-imx8mq-usb: fix typec orientation switch when built as module

4 weeks agoMerge tag 'soundwire-6.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 18 Jan 2026 20:29:12 +0000 (12:29 -0800)] 
Merge tag 'soundwire-6.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire

Pull soundwire fix from Vinod Koul:

 - Single off-by-one fix for allocating slave id

* tag 'soundwire-6.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  soundwire: bus: fix off-by-one when allocating slave IDs

4 weeks agoMerge tag 'usb-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Linus Torvalds [Sun, 18 Jan 2026 20:09:13 +0000 (12:09 -0800)] 
Merge tag 'usb-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here are some small USB fixes and new device ids for 6.19-rc6

  Included in here are:

   - new usb-serial device ids

   - dwc3-apple driver fixes to get things working properly on that
     hardware platform

   - ohci/uhci platfrom driver module soft-deps with ehci to remove a
     runtime warning that sometimes shows up on some platforms.

   - quirk for broken devices that can not handle reading the BOS
     descriptor from them without going crazy.

   - usb-serial driver fixes

   - xhci driver fixes

   - usb gadget driver fixes

  All of these except for the last xhci fix has been in linux-next for a
  while. The xhci fix has been reported by others to solve the issue for
  them, so should be ok"

* tag 'usb-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  xhci: sideband: don't dereference freed ring when removing sideband endpoint
  usb: gadget: uvc: retry vb2_reqbufs() with vb_vmalloc_memops if use_sg fail
  usb: gadget: uvc: return error from uvcg_queue_init()
  usb: gadget: uvc: fix interval_duration calculation
  usb: gadget: uvc: fix req_payload_size calculation
  usb: dwc3: apple: Ignore USB role switches to the active role
  usb: host: xhci-tegra: Use platform_get_irq_optional() for wake IRQs
  USB: OHCI/UHCI: Add soft dependencies on ehci_platform
  usb: dwc3: apple: Set USB2 PHY mode before dwc3 init
  USB: serial: f81232: fix incomplete serial port generation
  USB: serial: ftdi_sio: add support for PICAXE AXE027 cable
  USB: serial: option: add Telit LE910 MBIM composition
  usb: core: add USB_QUIRK_NO_BOS for devices that hang on BOS descriptor
  dt-bindings: usb: qcom,dwc3: Correct MSM8994 interrupts
  dt-bindings: usb: qcom,dwc3: Correct IPQ5018 interrupts
  tcpm: allow looking for role_sw device in the main node
  usb: dwc3: Check for USB4 IP_NAME

4 weeks agoMerge tag 'i2c-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Sun, 18 Jan 2026 20:00:35 +0000 (12:00 -0800)] 
Merge tag 'i2c-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:

 - riic, imx-lpi2c: suspend/resume fixes

 - qcom-geni: DMA handling fix

 - iproc: correct DT binding description

* tag 'i2c-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: imx-lpi2c: change to PIO mode in system-wide suspend/resume progress
  i2c: qcom-geni: make sure I2C hub controllers can't use SE DMA
  i2c: riic: Move suspend handling to NOIRQ phase
  dt-bindings: i2c: brcm,iproc-i2c: Allow 2 reg entries for brcm,iproc-nic-i2c

4 weeks agoMerge tag 'edac_urgent_for_v6.19_rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 19:39:56 +0000 (11:39 -0800)] 
Merge tag 'edac_urgent_for_v6.19_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras

Pull EDAC fixes from Borislav Petkov:
 "Make sure the memory-mapped memory controller registers BAR gets
  unmapped when the driver memory allocation fails

  Fix that in both x38 and i3200 EDAC drivers as former has copied the
  bug from the latter, it looks like"

* tag 'edac_urgent_for_v6.19_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
  EDAC/x38: Fix a resource leak in x38_probe1()
  EDAC/i3200: Fix a resource leak in i3200_probe1()

4 weeks agoMerge tag 'x86-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 18 Jan 2026 19:34:11 +0000 (11:34 -0800)] 
Merge tag 'x86-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc x86 fixes from Ingo Molnar:

 - Fix resctrl initialization on Hygon CPUs

 - Fix resctrl memory bandwidth counters on Hygon CPUs

 - Fix x86 self-tests build bug

* tag 'x86-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  selftests/x86: Add selftests include path for kselftest.h after centralization
  x86/resctrl: Fix memory bandwidth counter width for Hygon
  x86/resctrl: Add missing resctrl initialization for Hygon

4 weeks agoMerge tag 'timers-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 18:56:32 +0000 (10:56 -0800)] 
Merge tag 'timers-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fix from Ingo Molnar:
 "Fix the update_needs_ipi() check in the hrtimer code that may result
  in incorrect skipping of hrtimer IPIs"

* tag 'timers-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  hrtimer: Fix softirq base check in update_needs_ipi()

4 weeks agoMerge tag 'sched-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 18:17:40 +0000 (10:17 -0800)] 
Merge tag 'sched-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:
 "Misc deadline scheduler fixes, mainly for a new category of bugs that
  were discovered and fixed recently:

   - Fix a race condition in the DL server

   - Fix a DL server bug which can result in incorrectly going idle when
     there's work available

   - Fix DL server bug which triggers a WARN() due to broken
     get_prio_dl() logic and subsequent misbehavior

   - Fix double update_rq_clock() calls

   - Fix setscheduler() assumption about static priorities

   - Make sure balancing callbacks are always called

   - Plus a handful of preparatory commits for the fixes"

* tag 'sched-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/deadline: Use ENQUEUE_MOVE to allow priority change
  sched: Deadline has dynamic priority
  sched: Audit MOVE vs balance_callbacks
  sched: Fold rq-pin swizzle into __balance_callbacks()
  sched/deadline: Avoid double update_rq_clock()
  sched/deadline: Ensure get_prio_dl() is up-to-date
  sched/deadline: Fix server stopping with runnable tasks
  sched: Provide idle_rq() helper
  sched/deadline: Fix potential race in dl_add_task_root_domain()
  sched/deadline: Remove unnecessary comment in dl_add_task_root_domain()

4 weeks agoMerge tag 'objtool-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 18 Jan 2026 17:09:32 +0000 (09:09 -0800)] 
Merge tag 'objtool-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool fixes from Ingo Molnar:
 "Fix two objtool build failures that trigger in uncommon build
  environments"

* tag 'objtool-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  objtool: fix build failure due to missing libopcodes check
  objtool: fix compilation failure with the x32 toolchain

4 weeks agoMerge tag 'irq-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 18 Jan 2026 17:08:27 +0000 (09:08 -0800)] 
Merge tag 'irq-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Ingo Molnar:
 "Fix a riscv-imsic irqchip driver regression"

* tag 'irq-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/riscv-imsic: Revert "Remove redundant irq_data lookups"

4 weeks agoext4: fix iloc.bh leak in ext4_xattr_inode_update_ref
Yang Erkun [Sat, 13 Dec 2025 05:57:06 +0000 (13:57 +0800)] 
ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref

The error branch for ext4_xattr_inode_update_ref forget to release the
refcount for iloc.bh. Find this when review code.

Fixes: 57295e835408 ("ext4: guard against EA inode refcount underflow in xattr update")
Signed-off-by: Yang Erkun <yangerkun@huawei.com>
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20251213055706.3417529-1-yangerkun@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
4 weeks agoext4: add missing down_write_data_sem in mext_move_extent().
Julian Sun [Mon, 8 Dec 2025 12:37:13 +0000 (20:37 +0800)] 
ext4: add missing down_write_data_sem in mext_move_extent().

Commit 962e8a01eab9 ("ext4: introduce mext_move_extent()") attempts to
call ext4_swap_extents() on the failure path to recover the swapped
extents, but fails to acquire locks for the two inode->i_data_sem,
triggering the BUG_ON statement in ext4_swap_extents().

This issue can be fixed by calling ext4_double_down_write_data_sem()
before ext4_swap_extents().

Signed-off-by: Julian Sun <sunjunchao@bytedance.com>
Reported-by: syzbot+4ea6bd8737669b423aae@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/69368649.a70a0220.38f243.0093.GAE@google.com/
Fixes: 962e8a01eab9 ("ext4: introduce mext_move_extent()")
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://patch.msgid.link/20251208123713.1971068-1-sunjunchao@bytedance.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
4 weeks agoext4: fix ext4_tune_sb_params padding
Arnd Bergmann [Thu, 4 Dec 2025 10:19:10 +0000 (11:19 +0100)] 
ext4: fix ext4_tune_sb_params padding

The padding at the end of struct ext4_tune_sb_params is architecture
specific and in particular is different between x86-32 and x86-64,
since the __u64 member only enforces struct alignment on the latter.

This shows up as a new warning when test-building the headers with
-Wpadded:

include/linux/ext4.h:144:1: error: padding struct size to alignment boundary with 4 bytes [-Werror=padded]

All members inside the structure are naturally aligned, so the only
difference here is the amount of padding at the end. Make the padding
explicit, to have a consistent sizeof(struct ext4_tune_sb_params) of
232 on all architectures and avoid adding compat ioctl handling for
EXT4_IOC_GET_TUNE_SB_PARAM/EXT4_IOC_SET_TUNE_SB_PARAM.

This is an ABI break on x86-32 but hopefully this can go into 6.18.y early
enough as a fixup so no actual users will be affected.  Alternatively, the
kernel could handle the ioctl commands for both sizes (232 and 228 bytes)
on all architectures.

Fixes: 04a91570ac67 ("ext4: implemet new ioctls to set and get superblock parameters")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20251204101914.1037148-1-arnd@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
4 weeks agoMerge tag 'for-6.19-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
Linus Torvalds [Sun, 18 Jan 2026 03:29:32 +0000 (19:29 -0800)] 
Merge tag 'for-6.19-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:

 - with large folios in use, fix partial incorrect update of a reflinked
   range

 - fix potential deadlock in iget when lookup fails and eviction is
   needed

 - in send, validate inline extent type while detecting file holes

 - fix memory leak after an error when creating a space info

 - remove zone statistics from sysfs again, the output size limitations
   make it unusable, we'll do it in another way in another release

 - test fixes:
     - return proper error codes from block remapping tests
     - fix tree root leaks in qgroup tests after errors

* tag 'for-6.19-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: remove zoned statistics from sysfs
  btrfs: fix memory leaks in create_space_info() error paths
  btrfs: invalidate pages instead of truncate after reflinking
  btrfs: update the Kconfig string for CONFIG_BTRFS_EXPERIMENTAL
  btrfs: send: check for inline extents in range_is_hole_in_parent()
  btrfs: tests: fix return 0 on rmap test failure
  btrfs: tests: fix root tree leak in btrfs_test_qgroups()
  btrfs: release path before iget_failed() in btrfs_read_locked_inode()

4 weeks agoMerge tag 'loongarch-fixes-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 18 Jan 2026 03:24:48 +0000 (19:24 -0800)] 
Merge tag 'loongarch-fixes-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson

Pull LoongArch fixes from Huacai Chen:
 "Remove redundant code in head.S, fix PMU counter allocation for mixed-
  type event groups, fix a lot of dts build warnings, and fix kvm_device
  memory leaks"

* tag 'loongarch-fixes-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
  LoongArch: KVM: Fix kvm_device leak in kvm_pch_pic_destroy()
  LoongArch: KVM: Fix kvm_device leak in kvm_eiointc_destroy()
  LoongArch: KVM: Fix kvm_device leak in kvm_ipi_destroy()
  LoongArch: dts: loongson-2k1000: Fix i2c-gpio node names
  LoongArch: dts: loongson-2k2000: Add default interrupt controller address cells
  LoongArch: dts: loongson-2k1000: Add default interrupt controller address cells
  LoongArch: dts: loongson-2k0500: Add default interrupt controller address cells
  LoongArch: dts: Describe PCI sideband IRQ through interrupt-extended
  LoongArch: Fix PMU counter allocation for mixed-type event groups
  LoongArch: Remove redundant code in head.S

4 weeks agoMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Linus Torvalds [Sat, 17 Jan 2026 16:52:45 +0000 (08:52 -0800)] 
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:
 "An arm64/mpam fix to use non-atomic bitops on struct mmap_props member
  (atomicity not required).

  For kunit testing, the structure is packed to avoid memcmp() errors
  but this affects atomic bitops as they have strict alignment
  requirements.

  Also remove a duplicate include in the mpam driver"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm_mpam: Use non-atomic bitops when modifying feature bitmap
  arm_mpam: Remove duplicate linux/srcu.h header

4 weeks agoselftests/x86: Add selftests include path for kselftest.h after centralization
Bala-Vignesh-Reddy [Wed, 22 Oct 2025 06:29:48 +0000 (11:59 +0530)] 
selftests/x86: Add selftests include path for kselftest.h after centralization

The previous change centralizing kselftest.h include path in lib.mk caused x86
selftests to fail, as x86 Makefile overwrites CFLAGS using ":=", dropping the
include path added in lib.mk. Therefore, helpers.h could not find kselftest.h
during compilation.

Fix this by adding the tools/testing/sefltest to CFLAGS in x86 Makefile.

  [ bp: Correct commit ID in Fixes: ]

Fixes: e6fbd1759c9e ("selftests: complete kselftest include centralization")
Closes: https://lore.kernel.org/lkml/CA+G9fYvKjQcCBMfXA-z2YuL2L+3Qd-pJjEUDX8PDdz2-EEQd=Q@mail.gmail.com/T/#m83fd330231287fc9d6c921155bee16c591db7360
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Signed-off-by: Bala-Vignesh-Reddy <reddybalavignesh9979@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Tested-by: Brendan Jackman <jackmanb@google.com>
Link: https://patch.msgid.link/20251022062948.162852-1-reddybalavignesh9979@gmail.com
4 weeks agoMerge tag 'block-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 17 Jan 2026 04:59:46 +0000 (20:59 -0800)] 
Merge tag 'block-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull block fixes from Jens Axboe:

 - NVMe pull request via Keith:
     - Device quirk to disable faulty temperature (Ilikara)
     - TCP target null pointer fix from bad host protocol usage (Shivam)
     - Add apple,t8103-nvme-ans2 as a compatible apple controller
       (Janne)
     - FC tagset leak fix (Chaitanya)
     - TCP socket deadlock fix (Hannes)
     - Target name buffer overrun fix (Shin'ichiro)

 - Fix for an underflow for rnbd during device unmap

 - Zero the non-PI part of the auto integrity buffer

 - Fix for a configfs memory leak in the null block driver

* tag 'block-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  rnbd-clt: fix refcount underflow in device unmap path
  nvme: fix PCIe subsystem reset controller state transition
  nvmet: do not copy beyond sybsysnqn string length
  nvmet-tcp: fixup hang in nvmet_tcp_listen_data_ready()
  null_blk: fix kmemleak by releasing references to fault configfs items
  block: zero non-PI portion of auto integrity buffer
  nvme-fc: release admin tagset if init fails
  nvme-apple: add "apple,t8103-nvme-ans2" as compatible
  nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
  nvme-pci: disable secondary temp for Wodposit WPBSNM8

4 weeks agoMerge tag 'io_uring-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 17 Jan 2026 04:56:56 +0000 (20:56 -0800)] 
Merge tag 'io_uring-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fix from Jens Axboe:
 "Just a single fix moving local task_work inside the cancelation loop,
  rather than only before cancelations.

  If any cancelations generate task_work, we do need to re-run it"

* tag 'io_uring-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  io_uring: move local task_work in exit cancel loop

4 weeks agoLoongArch: KVM: Fix kvm_device leak in kvm_pch_pic_destroy()
Qiang Ma [Sat, 17 Jan 2026 02:57:03 +0000 (10:57 +0800)] 
LoongArch: KVM: Fix kvm_device leak in kvm_pch_pic_destroy()

In kvm_ioctl_create_device(), kvm_device has allocated memory,
kvm_device->destroy() seems to be supposed to free its kvm_device
struct, but kvm_pch_pic_destroy() is not currently doing this, that
would lead to a memory leak.

So, fix it.

Cc: stable@vger.kernel.org
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Qiang Ma <maqianga@uniontech.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: KVM: Fix kvm_device leak in kvm_eiointc_destroy()
Qiang Ma [Sat, 17 Jan 2026 02:57:02 +0000 (10:57 +0800)] 
LoongArch: KVM: Fix kvm_device leak in kvm_eiointc_destroy()

In kvm_ioctl_create_device(), kvm_device has allocated memory,
kvm_device->destroy() seems to be supposed to free its kvm_device
struct, but kvm_eiointc_destroy() is not currently doing this, that
would lead to a memory leak.

So, fix it.

Cc: stable@vger.kernel.org
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Qiang Ma <maqianga@uniontech.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: KVM: Fix kvm_device leak in kvm_ipi_destroy()
Qiang Ma [Sat, 17 Jan 2026 02:57:02 +0000 (10:57 +0800)] 
LoongArch: KVM: Fix kvm_device leak in kvm_ipi_destroy()

In kvm_ioctl_create_device(), kvm_device has allocated memory,
kvm_device->destroy() seems to be supposed to free its kvm_device
struct, but kvm_ipi_destroy() is not currently doing this, that
would lead to a memory leak.

So, fix it.

Cc: stable@vger.kernel.org
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Qiang Ma <maqianga@uniontech.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: dts: loongson-2k1000: Fix i2c-gpio node names
Binbin Zhou [Sat, 17 Jan 2026 02:56:53 +0000 (10:56 +0800)] 
LoongArch: dts: loongson-2k1000: Fix i2c-gpio node names

The binding wants the node to be named "i2c-number", but those are named
"i2c-gpio-number" instead.

Thus rename those to i2c-0, i2c-1 to adhere to the binding and suppress
dtbs_check warnings.

Cc: stable@vger.kernel.org
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: dts: loongson-2k2000: Add default interrupt controller address cells
Binbin Zhou [Sat, 17 Jan 2026 02:56:53 +0000 (10:56 +0800)] 
LoongArch: dts: loongson-2k2000: Add default interrupt controller address cells

Add missing address-cells 0 to the Local I/O, Extend I/O and PCH-PIC
Interrupt Controller node to silence W=1 warning:

  loongson-2k2000.dtsi:364.5-49: Warning (interrupt_map): /bus@10000000/pcie@1a000000/pcie@9,0:interrupt-map:
    Missing property '#address-cells' in node /bus@10000000/interrupt-controller@10000000, using 0 as fallback

Value '0' is correct because:
1. The LIO/EIO/PCH interrupt controller does not have children,
2. interrupt-map property (in PCI node) consists of five components and
   the fourth component "parent unit address", which size is defined by
   '#address-cells' of the node pointed to by the interrupt-parent
   component, is not used (=0)

Cc: stable@vger.kernel.org
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: dts: loongson-2k1000: Add default interrupt controller address cells
Binbin Zhou [Sat, 17 Jan 2026 02:56:53 +0000 (10:56 +0800)] 
LoongArch: dts: loongson-2k1000: Add default interrupt controller address cells

Add missing address-cells 0 to the Local I/O interrupt controller node
to silence W=1 warning:

  loongson-2k1000.dtsi:498.5-55: Warning (interrupt_map): /bus@10000000/pcie@1a000000/pcie@9,0:interrupt-map:
    Missing property '#address-cells' in node /bus@10000000/interrupt-controller@1fe01440, using 0 as fallback

Value '0' is correct because:
1. The Local I/O interrupt controller does not have children,
2. interrupt-map property (in PCI node) consists of five components and
   the fourth component "parent unit address", which size is defined by
   '#address-cells' of the node pointed to by the interrupt-parent
   component, is not used (=0)

Cc: stable@vger.kernel.org
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: dts: loongson-2k0500: Add default interrupt controller address cells
Binbin Zhou [Sat, 17 Jan 2026 02:56:52 +0000 (10:56 +0800)] 
LoongArch: dts: loongson-2k0500: Add default interrupt controller address cells

Add missing address-cells 0 to the Local I/O and Extend I/O interrupt
controller node to silence W=1 warning:

  loongson-2k0500.dtsi:513.5-51: Warning (interrupt_map): /bus@10000000/pcie@1a000000/pcie@0,0:interrupt-map:
    Missing property '#address-cells' in node /bus@10000000/interrupt-controller@1fe11600, using 0 as fallback

Value '0' is correct because:
1. The Local I/O & Extend I/O interrupt controller do not have children,
2. interrupt-map property (in PCI node) consists of five components and
   the fourth component "parent unit address", which size is defined by
   '#address-cells' of the node pointed to by the interrupt-parent
   component, is not used (=0)

Cc: stable@vger.kernel.org
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: dts: Describe PCI sideband IRQ through interrupt-extended
Yao Zi [Sat, 17 Jan 2026 02:56:52 +0000 (10:56 +0800)] 
LoongArch: dts: Describe PCI sideband IRQ through interrupt-extended

SoC integrated peripherals on LS2K1000 and LS2K2000 could be discovered
as PCI devices, but require sideband interrupts to function, which are
previously described by interrupts and interrupt-parent properties.

However, pci/pci-device.yaml allows interrupts property to only specify
PCI INTx interrupts, not sideband ones. Convert these devices to use
interrupt-extended property, which describes sideband interrupts used by
PCI devices since dt-schema commit e6ea659d2baa ("schemas: pci-device:
Allow interrupts-extended for sideband interrupts"), eliminating
dtbs_check warnings.

Cc: stable@vger.kernel.org
Fixes: 30a5532a3206 ("LoongArch: dts: DeviceTree for Loongson-2K1000")
Signed-off-by: Yao Zi <me@ziyao.cc>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoLoongArch: Fix PMU counter allocation for mixed-type event groups
Lisa Robinson [Sat, 17 Jan 2026 02:56:43 +0000 (10:56 +0800)] 
LoongArch: Fix PMU counter allocation for mixed-type event groups

When validating a perf event group, validate_group() unconditionally
attempts to allocate hardware PMU counters for the leader, sibling
events and the new event being added.

This is incorrect for mixed-type groups. If a PERF_TYPE_SOFTWARE event
is part of the group, the current code still tries to allocate a hardware
PMU counter for it, which can wrongly consume hardware PMU resources and
cause spurious allocation failures.

Fix this by only allocating PMU counters for hardware events during group
validation, and skipping software events.

A trimmed down reproducer is as simple as this:

  #include <stdio.h>
  #include <assert.h>
  #include <unistd.h>
  #include <string.h>
  #include <sys/syscall.h>
  #include <linux/perf_event.h>

  int main (int argc, char *argv[])
  {
   struct perf_event_attr attr = { 0 };
   int fds[5];

   attr.disabled = 1;
   attr.exclude_kernel = 1;
   attr.exclude_hv = 1;
   attr.read_format = PERF_FORMAT_TOTAL_TIME_ENABLED |
   PERF_FORMAT_TOTAL_TIME_RUNNING | PERF_FORMAT_ID | PERF_FORMAT_GROUP;
   attr.size = sizeof (attr);

   attr.type = PERF_TYPE_SOFTWARE;
   attr.config = PERF_COUNT_SW_DUMMY;
   fds[0] = syscall (SYS_perf_event_open, &attr, 0, -1, -1, 0);
   assert (fds[0] >= 0);

   attr.type = PERF_TYPE_HARDWARE;
   attr.config = PERF_COUNT_HW_CPU_CYCLES;
   fds[1] = syscall (SYS_perf_event_open, &attr, 0, -1, fds[0], 0);
   assert (fds[1] >= 0);

   attr.type = PERF_TYPE_HARDWARE;
   attr.config = PERF_COUNT_HW_INSTRUCTIONS;
   fds[2] = syscall (SYS_perf_event_open, &attr, 0, -1, fds[0], 0);
   assert (fds[2] >= 0);

   attr.type = PERF_TYPE_HARDWARE;
   attr.config = PERF_COUNT_HW_BRANCH_MISSES;
   fds[3] = syscall (SYS_perf_event_open, &attr, 0, -1, fds[0], 0);
   assert (fds[3] >= 0);

   attr.type = PERF_TYPE_HARDWARE;
   attr.config = PERF_COUNT_HW_CACHE_REFERENCES;
   fds[4] = syscall (SYS_perf_event_open, &attr, 0, -1, fds[0], 0);
   assert (fds[4] >= 0);

   printf ("PASSED\n");

   return 0;
  }

Cc: stable@vger.kernel.org
Fixes: b37042b2bb7c ("LoongArch: Add perf events support")
Signed-off-by: Lisa Robinson <lisa@bytefly.space>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
4 weeks agoMerge tag 'drm-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/kernel
Linus Torvalds [Fri, 16 Jan 2026 21:48:18 +0000 (13:48 -0800)] 
Merge tag 'drm-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Simona Vetter:
 "We've had nothing aside of a compiler noise fix until today, when the
  amd and drm-misc fixes showed up after Dave already went into weekend
  mode. So it's on me to push these out, since there's a bunch of
  important fixes in here I think that shouldn't be delayed for a week.

  Core Changes:
   - take gem lock when preallocating in gpuvm
   - add single byte read fallback to dp for broken usb-c adapters
   - remove duplicate drm_sysfb declarations

  Driver Changes:
   - i915: compiler noise fix
   - amdgpu/amdkfd: pile of fixes all over
   - vmwgfx:
      - v10 cursor regression fix
      - other fixes
   - rockchip:
      - waiting for cfgdone regression fix
      - other fixes
   - gud: fix oops on disconnect
   - simple-panel:
      - regression fix when connector is not set
      - fix for DataImage SCF0700C48GGU18
   - nouveau: cursor handling locking fix"

* tag 'drm-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/kernel: (33 commits)
  drm/amd/display: Add an hdmi_hpd_debounce_delay_ms module
  drm/amdgpu/userq: Fix fence reference leak on queue teardown v2
  drm/amdkfd: No need to suspend whole MES to evict process
  Revert "drm/amdgpu: don't attach the tlb fence for SI"
  drm/amdgpu: validate the flush_gpu_tlb_pasid()
  drm/amd/pm: fix smu overdrive data type wrong issue on smu 14.0.2
  drm/amd/display: Initialise backlight level values from hw
  drm/amd/display: Bump the HDMI clock to 340MHz
  drm/amd/display: Show link name in PSR status message
  drm/amdkfd: fix a memory leak in device_queue_manager_init()
  drm/amdgpu: make sure userqs are enabled in userq IOCTLs
  drm/amdgpu: Use correct address to setup gart page table for vram access
  Revert duplicate "drm/amdgpu: disable peer-to-peer access for DCC-enabled GC12 VRAM surfaces"
  drm/amd: Clean up kfd node on surprise disconnect
  drm/amdgpu: fix drm panic null pointer when driver not support atomic
  drm/amdgpu: Fix gfx9 update PTE mtype flag
  drm/sysfb: Remove duplicate declarations
  drm/nouveau/kms/nv50-: Assert we hold nv50_disp->lock in nv50_head_flush_*
  drm/nouveau/disp/nv50-: Set lock_core in curs507a_prepare
  drm/gud: fix NULL fb and crtc dereferences on USB disconnect
  ...

4 weeks agoMerge tag 'cxl-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
Linus Torvalds [Fri, 16 Jan 2026 21:09:28 +0000 (13:09 -0800)] 
Merge tag 'cxl-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl

Pull Compute Express Link (CXL) fixes from Dave Jiang:

 - Recognize all ZONE_DEVICE users as physaddr consumers

 - Fix format string for extended_linear_cache_size_show()

 - Fix target list setup for multiple decoders sharing the same
   downstream port

 - Restore HBIW check before derefernce platform data

 - Fix potential infinite loop in __cxl_dpa_reserve()

 - Check for invalid addresses returned from translation functions on
   error

* tag 'cxl-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
  cxl: Check for invalid addresses returned from translation functions on errors
  cxl/hdm: Fix potential infinite loop in __cxl_dpa_reserve()
  cxl/acpi: Restore HBIW check before dereferencing platform_data
  cxl/port: Fix target list setup for multiple decoders sharing the same dport
  cxl/region: fix format string for resource_size_t
  x86/kaslr: Recognize all ZONE_DEVICE users as physaddr consumers

4 weeks agoMerge tag 'pci-v6.19-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Linus Torvalds [Fri, 16 Jan 2026 20:24:22 +0000 (12:24 -0800)] 
Merge tag 'pci-v6.19-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci

Pull PCI fix from Bjorn Helgaas:

 - Add a pci_free_irq_vectors() stub to fix a build issue when
   CONFIG_PCI is not set (Boqun Feng)

* tag 'pci-v6.19-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
  PCI: Provide pci_free_irq_vectors() stub

4 weeks agoMerge tag 'pm-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Linus Torvalds [Fri, 16 Jan 2026 20:08:19 +0000 (12:08 -0800)] 
Merge tag 'pm-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
 "These fix an error path memory leak in the energy model management
  code, fix a kerneldoc comment in it, and fix and revamp the energy
  model YNL specification added recently along with the new energy model
  management netlink interface (that received feedback after being
  added):

   - Fix a memory leak in em_create_pd() error path (Malaya Kumar Rout)

   - Fix stale description of the cost field in struct em_perf_state to
     reflect the current code (Yaxiong Tian)

   - Fix and revamp the energy model YNL specification added recently
     along with the energy model netlink interface (Changwoo Min)"

* tag 'pm-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM: EM: Add dump to get-perf-domains in the EM YNL spec
  PM: EM: Change cpus' type from string to u64 array in the EM YNL spec
  PM: EM: Rename em.yaml to dev-energymodel.yaml
  PM: EM: Fix yamllint warnings in the EM YNL spec
  PM: EM: Fix memory leak in em_create_pd() error path
  PM: EM: Fix incorrect description of the cost field in struct em_perf_state

4 weeks agoMerge tag 'drm-misc-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/misc...
Simona Vetter [Fri, 16 Jan 2026 19:27:20 +0000 (20:27 +0100)] 
Merge tag 'drm-misc-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes

drm-misc-fixes for v6.19-rc6:

vmwgfx:
- Fix hw regression from refactoring cursor handling on v10 'hardware'
- Fix warnings in destructor by merging the 2 release functions
- kernel doc fix
- error handling in vmw_compat_shader_add()

rockchip:
- fix vop2 polling
- fix regression waiting for cfgdone without config change
- fix warning when enabling encoder

core:
- take gem lock when preallocating in gpuvm.
- add single byte read fallback to dp for broken usb-c adapters
- remove duplicate drm_sysfb declarations

gud:
- Fix oops on usb disconnect

Simple panel:
- Re-add fallback when connector is not set to fix regressions
- Set correct type in DataImage SCF0700C48GGU18

nouveau:
- locking fixes for cursor handling.

Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch>
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patch.msgid.link/ce0acfe2-9c1a-42b7-8782-f1e7f34b8544@linux.intel.com
4 weeks agoMerge tag 'acpi-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Fri, 16 Jan 2026 19:03:17 +0000 (11:03 -0800)] 
Merge tag 'acpi-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fixes from Rafael Wysocki:
 "Add checks missed by a previous recent update to the ACPI
  suspend-to-idle code and add a debug module parameter to it
  to work around a platform firmware issue exposed by that
  update (Rafael Wysocki)"

* tag 'acpi-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: PM: s2idle: Add module parameter for LPS0 constraints checking
  ACPI: PM: s2idle: Add missing checks to acpi_s2idle_begin_lps0()

4 weeks agoMerge tag 'sound-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Linus Torvalds [Fri, 16 Jan 2026 18:48:17 +0000 (10:48 -0800)] 
Merge tag 'sound-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "This became a bit larger than wished for, often seen as a bump at the
  middle, but almost all changes are small device-specific fixes, so the
  risk must be pretty low.

   - SoundWire fix for missing symbol export

   - Fixes for device-tree bindings

   - A fix for OOB access in USB-audio, spotted by fuzzer

   - Quirks for HD-audio, SoundWire, AMD ACP

   - A series of ASoC tlv320 and wsa codec fixes

   - Other misc fixes in PCM OSS error-handling, Cirrus scodec test,
     ASoC ops endianess, davinci, simple-card, and tegra"

* tag 'sound-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (33 commits)
  ALSA: hda/tas2781: Add newly-released HP laptop
  ASoC: rt5640: Fix duplicate clock properties in DT binding
  ALSA: hda/realtek: Add quirk for HP Pavilion x360 to enable mute LED
  ASoC: tlv320adcx140: fix word length
  ASoC: tlv320adcx140: Propagate error codes during probe
  ASoC: tlv320adcx140: fix null pointer
  ASoC: tlv320adcx140: invert DRE_ENABLE
  ASoC: sdw_utils: cs42l43: Enable Headphone pin for LINEOUT jack type
  ASoC: sdw_utils: Call init callbacks on the correct codec DAI
  soundwire: Add missing EXPORT for sdw_slave_type
  ALSA: usb-audio: Prevent excessive number of frames
  ALSA: hda/cirrus_scodec_test: Fix test suite name
  ALSA: hda/cirrus_scodec_test: Fix incorrect setup of gpiochip
  ALSA: hda/realtek: Add quirk for Asus Zephyrus G14 2025 using CS35L56, fix speakers
  ASoC: amd: yc: Fix microphone on ASUS M6500RE
  ASoC: tegra: Revert fix for uninitialized flat cache warning in tegra210_ahub
  ASoC: dt-bindings: rockchip-spdif: Allow "port" node
  ASoC: dt-bindings: realtek,rt5640: Allow 7 for realtek,jack-detect-source
  ASoC: dt-bindings: realtek,rt5640: Add missing properties/node
  ASoC: dt-bindings: realtek,rt5640: Document port node
  ...

4 weeks agoMerge tag 'amd-drm-fixes-6.19-2026-01-15' of https://gitlab.freedesktop.org/agd5f...
Simona Vetter [Fri, 16 Jan 2026 18:37:22 +0000 (19:37 +0100)] 
Merge tag 'amd-drm-fixes-6.19-2026-01-15' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes

amd-drm-fixes-6.19-2026-01-15:

amdgpu:
- GC 9 PTE mtype fix
- Non-DC display kernel panic helper fix
- Merge fix
- GART vram access fix
- Userq fixes
- PSR debugging fix
- HDMI fixes
- Backlight fix
- SMU 14 fix
- TLB flush fixes

amdkfd:
- KFD node cleanup for eGPU disconnect
- Memory leak fix
- MES evict process fix

Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch>
From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patch.msgid.link/20260115205405.1890089-1-alexander.deucher@amd.com
4 weeks agoMerge tag 'gpio-fixes-for-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 16 Jan 2026 17:55:09 +0000 (09:55 -0800)] 
Merge tag 'gpio-fixes-for-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:
 "Two more GPIO fixes addressing an issue uncovered by the shared GPIO
  management changes in v6.19:

   - implement the missing .get_direction() callback for gpio-davinci

   - remove redundant check in GPIO core which can also propagate an
     invalid errno to user-space"

* tag 'gpio-fixes-for-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpiolib: remove redundant callback check
  gpio: davinci: implement .get_direction()

4 weeks agoMerge tag 'printk-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 16 Jan 2026 17:46:59 +0000 (09:46 -0800)] 
Merge tag 'printk-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux

Pull printk fix from Petr Mladek:

 - Prevent softlockup by restoring IRQs in atomic flush after each
   record

* tag 'printk-for-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
  printk/nbcon: Restore IRQ in atomic flush after each emitted record

4 weeks agoMerge tag 'xfs-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Linus Torvalds [Fri, 16 Jan 2026 17:09:41 +0000 (09:09 -0800)] 
Merge tag 'xfs-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs fixes from Carlos Maiolino:
 "Just a few obvious fixes and some 'cosmetic' changes"

* tag 'xfs-fixes-6.19-rc6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  xfs: set max_agbno to allow sparse alloc of last full inode chunk
  xfs: Fix xfs_grow_last_rtg()
  xfs: improve the assert at the top of xfs_log_cover
  xfs: fix an overly long line in xfs_rtgroup_calc_geometry
  xfs: mark __xfs_rtgroup_extents static
  xfs: Fix the return value of xfs_rtcopy_summary()
  xfs: fix memory leak in xfs_growfs_check_rtgeom()

4 weeks agoMerge branch 'pm-em'
Rafael J. Wysocki [Fri, 16 Jan 2026 15:16:24 +0000 (16:16 +0100)] 
Merge branch 'pm-em'

Merge fixes related to the energy model management for 6.19-rc6:

 - Fix a memory leak in em_create_pd() error path (Malaya Kumar Rout)

 - Fix stale description of the cost field in struct em_perf_state to
   reflect the current code (Yaxiong Tian)

 - Fix and revamp the energy model YNL specification added recently
   along with the energy model netlink interface (Changwoo Min)

* pm-em:
  PM: EM: Add dump to get-perf-domains in the EM YNL spec
  PM: EM: Change cpus' type from string to u64 array in the EM YNL spec
  PM: EM: Rename em.yaml to dev-energymodel.yaml
  PM: EM: Fix yamllint warnings in the EM YNL spec
  PM: EM: Fix memory leak in em_create_pd() error path
  PM: EM: Fix incorrect description of the cost field in struct em_perf_state

4 weeks agoarm_mpam: Use non-atomic bitops when modifying feature bitmap
Ben Horgan [Mon, 12 Jan 2026 16:58:29 +0000 (16:58 +0000)] 
arm_mpam: Use non-atomic bitops when modifying feature bitmap

In the test__props_mismatch() kunit test we rely on the struct mpam_props
being packed to ensure memcmp doesn't consider packing. Making it packed
reduces the alignment of the features bitmap and so breaks a requirement
for the use of atomics. As we don't rely on the set/clear of these bits
being atomic, just make them non-atomic.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Fixes: 8c90dc68a5de ("arm_mpam: Probe the hardware features resctrl supports")
Reviewed-by: Gavin Shan <gshan@redhat.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Tested-by: Peter Newman <peternewman@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
4 weeks agoarm_mpam: Remove duplicate linux/srcu.h header
Jiapeng Chong [Mon, 12 Jan 2026 16:58:28 +0000 (16:58 +0000)] 
arm_mpam: Remove duplicate linux/srcu.h header

./drivers/resctrl/mpam_internal.h: linux/srcu.h is included more than once.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=27328
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Acked-by: James Morse <james.morse@arm.com>
[BH: Keep alphabetical order]
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Tested-by: Peter Newman <peternewman@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
4 weeks agoxhci: sideband: don't dereference freed ring when removing sideband endpoint
Mathias Nyman [Thu, 15 Jan 2026 23:37:58 +0000 (01:37 +0200)] 
xhci: sideband: don't dereference freed ring when removing sideband endpoint

xhci_sideband_remove_endpoint() incorrecly assumes that the endpoint is
running and has a valid transfer ring.

Lianqin reported a crash during suspend/wake-up stress testing, and
found the cause to be dereferencing a non-existing transfer ring
'ep->ring' during xhci_sideband_remove_endpoint().

The endpoint and its ring may be in unknown state if this function
is called after xHCI was reinitialized in resume (lost power), or if
device is being re-enumerated, disconnected or endpoint already dropped.

Fix this by both removing unnecessary ring access, and by checking
ep->ring exists before dereferencing it. Also make sure endpoint is
running before attempting to stop it.

Remove the xhci_initialize_ring_info() call during sideband endpoint
removal as is it only initializes ring structure enqueue, dequeue and
cycle state values to their starting values without changing actual
hardware enqueue, dequeue and cycle state. Leaving them out of sync
is worse than leaving it as it is. The endpoint will get freed in after
this in most usecases.

If the (audio) class driver want's to reuse the endpoint after offload
then it is up to the class driver to ensure endpoint is properly set up.

Reported-by: 胡连勤 <hulianqin@vivo.com>
Closes: https://lore.kernel.org/linux-usb/TYUPR06MB6217B105B059A7730C4F6EC8D2B9A@TYUPR06MB6217.apcprd06.prod.outlook.com/
Tested-by: 胡连勤 <hulianqin@vivo.com>
Fixes: de66754e9f80 ("xhci: sideband: add initial api to register a secondary interrupter entity")
Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://patch.msgid.link/20260115233758.364097-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 weeks agoMerge tag 'usb-serial-6.19-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel...
Greg Kroah-Hartman [Fri, 16 Jan 2026 10:57:55 +0000 (11:57 +0100)] 
Merge tag 'usb-serial-6.19-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus

Johan writes:

USB serial fix for 6.19-rc6

Here's a fix for an f81232 enumeration issue that could prevent some
ports from being enabled (e.g. during driver rebind).

Included are also some new device ids.

All have been in linux-next with no reported issues.

* tag 'usb-serial-6.19-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
  USB: serial: f81232: fix incomplete serial port generation
  USB: serial: ftdi_sio: add support for PICAXE AXE027 cable
  USB: serial: option: add Telit LE910 MBIM composition

4 weeks agokernel: cgroup: Add LGPL-2.1 SPDX license ID to legacy_freezer.c
Tim Bird [Wed, 14 Jan 2026 23:22:08 +0000 (16:22 -0700)] 
kernel: cgroup: Add LGPL-2.1 SPDX license ID to legacy_freezer.c

Add an appropriate SPDX-License-Identifier line to the file,
and remove the GNU boilerplate text.

Signed-off-by: Tim Bird <tim.bird@sony.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
4 weeks agokernel: cgroup: Add SPDX-License-Identifier lines
Tim Bird [Wed, 14 Jan 2026 20:30:27 +0000 (13:30 -0700)] 
kernel: cgroup: Add SPDX-License-Identifier lines

Add GPL-2.0 SPDX license id lines to a few old
files, replacing the reference to the COPYING file.

The COPYING file at the time of creation of these files
(2007 and 2005) was GPL-v2.0, with an additional clause
indicating that only v2 applied.

Signed-off-by: Tim Bird <tim.bird@sony.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
4 weeks agoMAINTAINERS: Add Chen Ridong as cpuset reviewer
Waiman Long [Wed, 14 Jan 2026 04:54:35 +0000 (23:54 -0500)] 
MAINTAINERS: Add Chen Ridong as cpuset reviewer

Add Chen Ridong as a reviewer for the cpuset cgroup subsystem.

Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Chen Ridong <chenridong@huaweicloud.com>
Signed-off-by: Tejun Heo <tj@kernel.org>