<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/char, branch v6.6.143</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.143</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.143'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-06-19T11:39:38+00:00</updated>
<entry>
<title>ipmi:ssif: NULL thread on error</title>
<updated>2026-06-19T11:39:38+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-04-21T11:50:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=666bd0598f371738c0c15cd1e37c8d14806c2b2c'/>
<id>urn:sha1:666bd0598f371738c0c15cd1e37c8d14806c2b2c</id>
<content type='text'>
commit a8aebe93a4938c0ca1941eeaae821738f869be3d upstream.

Cleanup code was checking the thread for NULL, but it was possibly
a PTR_ERR() in one spot.

Spotted with static analysis.

Link: https://sourceforge.net/p/openipmi/mailman/message/59324676/
Fixes: 75c486cb1bca ("ipmi:ssif: Clean up kthread on errors")
Cc: &lt;stable@vger.kernel.org&gt; # 91eb7ec72612: ipmi:ssif: Remove unnecessary indention
Cc: stable@vger.kernel.org
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi:ssif: Remove unnecessary indention</title>
<updated>2026-06-19T11:39:37+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-04-13T12:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=318a0403b270fb045b23235aba686d997d8aca05'/>
<id>urn:sha1:318a0403b270fb045b23235aba686d997d8aca05</id>
<content type='text'>
commit 91eb7ec7261254b6875909df767185838598e21e upstream.

A section was in {} that didn't need to be, move the variable
definition to the top and set th eindentino properly.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: Fix rcu_read_unlock to srcu_read_unlock in handle_read_event_rsp</title>
<updated>2026-06-19T11:39:28+00:00</updated>
<author>
<name>Rui Qi</name>
<email>qirui.001@bytedance.com</email>
</author>
<published>2026-05-25T06:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6e39863cefe42f383743f53ff12f062f4d898190'/>
<id>urn:sha1:6e39863cefe42f383743f53ff12f062f4d898190</id>
<content type='text'>
Fix a bug where rcu_read_unlock() was used instead of srcu_read_unlock()
in handle_read_event_rsp() when ipmi_alloc_recv_msg() fails.

This mismatch leads to an SRCU read-side critical section imbalance: the
entry uses srcu_read_lock(&amp;intf-&gt;users_srcu) but the error path
incorrectly calls rcu_read_unlock(), which is a no-op for SRCU and
leaves the SRCU lock held.

The offending code was restructured in mainline by commit 3be997d5a64a
("ipmi:msghandler: Remove srcu from the ipmi user structure"), which
replaced the SRCU locking with a mutex in this function, effectively
eliminating the mismatch. However, that commit is part of a larger
SRCU removal series that is not suitable for stable backport. This
minimal fix addresses the SRCU imbalance for 6.12 and earlier stable
branches that still carry the original locking scheme.

Fixes: e86ee2d44b44 ("ipmi: Rework locking and shutdown for hot remove")
Cc: stable@vger.kernel.org
Signed-off-by: Rui Qi &lt;qirui.001@bytedance.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ipmi: ssif_bmc: change log level to dbg in irq callback</title>
<updated>2026-05-23T11:03:20+00:00</updated>
<author>
<name>Jian Zhang</name>
<email>zhangjian.3032@bytedance.com</email>
</author>
<published>2026-04-03T09:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2f35483147152368b04c96b104ea56063aa65257'/>
<id>urn:sha1:2f35483147152368b04c96b104ea56063aa65257</id>
<content type='text'>
[ Upstream commit c9c99b7b7051eb7121b3224bfce181fb023b0269 ]

Long-running tests indicate that this logging can occasionally disrupt
timing and lead to request/response corruption.

Irq handler need to be executed as fast as possible,
most I2C slave IRQ implementations are byte-level, logging here
can significantly affect transfer behavior and timing. It is recommended
to use dev_dbg() for these messages.

Fixes: dd2bc5cc9e25 ("ipmi: ssif_bmc: Add SSIF BMC driver")
Signed-off-by: Jian Zhang &lt;zhangjian.3032@bytedance.com&gt;
Message-ID: &lt;20260403090603.3988423-4-zhangjian.3032@bytedance.com&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ipmi: ssif_bmc: fix message desynchronization after truncated response</title>
<updated>2026-05-23T11:03:20+00:00</updated>
<author>
<name>Jian Zhang</name>
<email>zhangjian.3032@bytedance.com</email>
</author>
<published>2026-04-03T09:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bffedb7a72e629a2fcdda096ef660569949d896a'/>
<id>urn:sha1:bffedb7a72e629a2fcdda096ef660569949d896a</id>
<content type='text'>
[ Upstream commit 1d38e849adb6851ee280aa1a1d687b2181549a66 ]

A truncated response, caused by host power-off, or other conditions,
can lead to message desynchronization.

Raw trace data (STOP loss scenario, add state transition comment):

1. T-1: Read response phase (SSIF_RES_SENDING)
8271.955342  WR_RCV [03]                          &lt;- Read polling cmd
8271.955348  RD_REQ [04]  &lt;== SSIF_RES_SENDING    &lt;- start sending response
8271.955436  RD_PRO [b4]
8271.955527  RD_PRO [00]
8271.955618  RD_PRO [c1]
8271.955707  RD_PRO [00]
8271.955814  RD_PRO [ad]  &lt;== SSIF_RES_SENDING     &lt;- last byte
	&lt;- !! STOP lost (truncated response)

2. T: New Write request arrives, BMC still in SSIF_RES_SENDING
8271.967973  WR_REQ []    &lt;== SSIF_RES_SENDING &gt;&gt; SSIF_ABORTING  &lt;- log: unexpected WR_REQ in RES_SENDING
8271.968447  WR_RCV [02]  &lt;== SSIF_ABORTING  &lt;- do nothing
8271.968452  WR_RCV [02]  &lt;== SSIF_ABORTING  &lt;- do nothing
8271.968454  WR_RCV [18]  &lt;== SSIF_ABORTING  &lt;- do nothing
8271.968456  WR_RCV [01]  &lt;== SSIF_ABORTING  &lt;- do nothing
8271.968458  WR_RCV [66]  &lt;== SSIF_ABORTING  &lt;- do nothing
8271.978714  STOP []      &lt;== SSIF_ABORTING &gt;&gt; SSIF_READY  &lt;- log: unexpected SLAVE STOP in state=SSIF_ABORTING

3. T+1: Next Read polling, treated as a fresh transaction
8271.979125  WR_REQ []    &lt;== SSIF_READY &gt;&gt; SSIF_START
8271.979326  WR_RCV [03]  &lt;== SSIF_START &gt;&gt; SSIF_SMBUS_CMD        &lt;- smbus_cmd=0x03
8271.979331  RD_REQ [04]  &lt;== SSIF_RES_SENDING      &lt;- sending response
8271.979427  RD_PRO [b4]                            &lt;- !! this is T's stale response -&gt; desynchronization

When in SSIF_ABORTING state, a newly arrived command should still be
handled to avoid dropping the request or causing message
desynchronization.

Fixes: dd2bc5cc9e25 ("ipmi: ssif_bmc: Add SSIF BMC driver")
Signed-off-by: Jian Zhang &lt;zhangjian.3032@bytedance.com&gt;
Message-ID: &lt;20260403090603.3988423-3-zhangjian.3032@bytedance.com&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ipmi: ssif_bmc: fix missing check for copy_to_user() partial failure</title>
<updated>2026-05-23T11:03:20+00:00</updated>
<author>
<name>Jian Zhang</name>
<email>zhangjian.3032@bytedance.com</email>
</author>
<published>2026-04-03T09:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7d2a487c275c968de964f360401dafdea47cd806'/>
<id>urn:sha1:7d2a487c275c968de964f360401dafdea47cd806</id>
<content type='text'>
[ Upstream commit ea641be7a4faee4351f9c5ed6b188e1bbf5586a6 ]

copy_to_user() returns the number of bytes that could not be copied,
with a non-zero value indicating a partial or complete failure. The
current code only checks for negative return values and treats all
non-negative results as success.

Treating any positive return value from copy_to_user() as
an error and returning -EFAULT.

Fixes: dd2bc5cc9e25 ("ipmi: ssif_bmc: Add SSIF BMC driver")
Signed-off-by: Jian Zhang &lt;zhangjian.3032@bytedance.com&gt;
Message-ID: &lt;20260403090603.3988423-2-zhangjian.3032@bytedance.com&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ipmi:ssif: Clean up kthread on errors</title>
<updated>2026-05-17T15:13:48+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-05-01T14:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=07f9bff69da84e462178d3f0ad1b32f19f13ad94'/>
<id>urn:sha1:07f9bff69da84e462178d3f0ad1b32f19f13ad94</id>
<content type='text'>
If an error occurs after the ssif kthread is created, but before the
main IPMI code starts the ssif interface, the ssif kthread will not
be stopped.

So make sure the kthread is stopped on an error condition if it is
running.

Fixes: 259307074bfc ("ipmi: Add SMBus interface driver (SSIF)")
Reported-by: Li Xiao &lt;&lt;252270051@hdu.edu.cn&gt;
Cc: stable@vger.kernel.org
Reviewed-by: Li Xiao &lt;252270051@hdu.edu.cn&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
(cherry picked from commit 75c486cb1bcaa1a3ec3a6438498176a3a4998ae4)
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi:ssif: Fix a shutdown race</title>
<updated>2026-05-17T15:13:48+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-05-01T14:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1f5e011fc8c8bd8c549d6766f5500c969625a716'/>
<id>urn:sha1:1f5e011fc8c8bd8c549d6766f5500c969625a716</id>
<content type='text'>
It was possible for the SSIF thread to stop and quit before the
kthread_stop() call because ssif-&gt;stopping was set before the
stop.  So only exit the SSIF thread is kthread_should_stop()
returns true.

There is no need to wake the thread, as the wait will be interrupted
by kthread_stop().

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
(cherry picked from commit 6bd0eb6d759b9a22c5509ea04e19c2e8407ba418)
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi:si: Return state to normal if message allocation fails</title>
<updated>2026-05-17T15:13:34+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-04-20T18:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce905b65e649eee378a0f37e8219f1d70efb3007'/>
<id>urn:sha1:ce905b65e649eee378a0f37e8219f1d70efb3007</id>
<content type='text'>
commit 09dd798270ff582d7309f285d4aaf5dbebae01cb upstream.

There were places where nothing would get started if a message
allocation failed, so the driver needs to return to normal state.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: Check event message buffer response for bad data</title>
<updated>2026-05-17T15:13:34+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2026-04-20T17:50:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2418e4b21fb1355504d095da5d5f0a210564a43d'/>
<id>urn:sha1:2418e4b21fb1355504d095da5d5f0a210564a43d</id>
<content type='text'>
commit 36920f30e78e69df01f9691c470b6f3ba8aebf98 upstream.

The event message buffer response data size got checked later when
processing, but check it right after the response comes back.  It
appears some BMCs may return an empty message instead of an error
when fetching events.

There are apparently some new BMCs that make this error, so we need to
compensate.

Reported-by: Matt Fleming &lt;mfleming@cloudflare.com&gt;
Closes: https://lore.kernel.org/lkml/20260415115930.3428942-1-matt@readmodwrite.com/
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
