<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/char/ipmi, branch stable</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/char/ipmi?h=stable</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/char/ipmi?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2025-10-07T11:50:08Z</updated>
<entry>
<title>ipmi: Fix handling of messages with provided receive message pointer</title>
<updated>2025-10-07T11:50:08Z</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2025-10-06T20:18:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=e2c69490dda5d4c9f1bfbb2898989c8f3530e354'/>
<id>urn:sha1:e2c69490dda5d4c9f1bfbb2898989c8f3530e354</id>
<content type='text'>
Prior to commit b52da4054ee0 ("ipmi: Rework user message limit handling"),
i_ipmi_request() used to increase the user reference counter if the receive
message is provided by the caller of IPMI API functions. This is no longer
the case. However, ipmi_free_recv_msg() is still called and decreases the
reference counter. This results in the reference counter reaching zero,
the user data pointer is released, and all kinds of interesting crashes are
seen.

Fix the problem by increasing user reference counter if the receive message
has been provided by the caller.

Fixes: b52da4054ee0 ("ipmi: Rework user message limit handling")
Reported-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Greg Thelen &lt;gthelen@google.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Message-ID: &lt;20251006201857.3433837-1-linux@roeck-us.net&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi: Add Loongson-2K BMC support</title>
<updated>2025-09-16T15:15:54Z</updated>
<author>
<name>Binbin Zhou</name>
<email>zhoubinbin@loongson.cn</email>
</author>
<published>2025-09-04T12:35:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d46651d4e3c0caab554c4c591c0b6c3b026b1e93'/>
<id>urn:sha1:d46651d4e3c0caab554c4c591c0b6c3b026b1e93</id>
<content type='text'>
This patch adds Loongson-2K BMC IPMI support.

According to the existing design, we use software simulation to
implement the KCS interface registers: Stauts/Command/Data_Out/Data_In.

Also since both host side and BMC side read and write kcs status, fifo flag
is used to ensure data consistency.

The single KCS message block is as follows:

+-------------------------------------------------------------------------+
|FIFO flags| KCS register data | CMD data | KCS version | WR REQ | WR ACK |
+-------------------------------------------------------------------------+

Co-developed-by: Chong Qiao &lt;qiaochong@loongson.cn&gt;
Signed-off-by: Chong Qiao &lt;qiaochong@loongson.cn&gt;
Reviewed-by: Huacai Chen &lt;chenhuacai@loongson.cn&gt;
Acked-by: Corey Minyard &lt;corey@minyard.net&gt;
Signed-off-by: Binbin Zhou &lt;zhoubinbin@loongson.cn&gt;
Message-ID: &lt;8f9ffb6f0405345af8f04193ce1510aacd075e72.1756987761.git.zhoubinbin@loongson.cn&gt;
Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi:si: Gracefully handle if the BMC is non-functional</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-20T19:56:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bc3a9d217755f65c137f145600f23bf1d6c31ea9'/>
<id>urn:sha1:bc3a9d217755f65c137f145600f23bf1d6c31ea9</id>
<content type='text'>
If the BMC is not functional, the driver goes into an error state and
starts a 1 second timer.  When the timer times out, it will attempt a
simple message.  If the BMC interacts correctly, the driver will start
accepting messages again.  If not, it remains in error state.

If the driver goes into error state, all messages current and pending
will return with an error.

This should more gracefully handle when the BMC becomes non-operational,
as opposed to trying each messages individually and failing them.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi: Rename "user_data" to "recv_msg" in an SMI message</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-20T19:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=3bc54ab3b9790ca92f197e9822e486665daa321c'/>
<id>urn:sha1:3bc54ab3b9790ca92f197e9822e486665daa321c</id>
<content type='text'>
It's only used to hold the corresponding receive message, so fix the
name to make that clear and the type so nothing else can be accidentally
assigned to it.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi: Allow an SMI sender to return an error</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-20T19:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=9cf93a8fa9513c6d3cc65bdd50e05c1355cef322'/>
<id>urn:sha1:9cf93a8fa9513c6d3cc65bdd50e05c1355cef322</id>
<content type='text'>
Getting ready for handling when a BMC is non-responsive or broken, allow
the sender operation to fail in an SMI.  If it was a user-generated
message it will return the error.

The powernv code was already doing this internally, but the way it was
written could result in deep stack descent if there were a lot of
messages queued.  Have its send return an error in this case.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi:si: Move flags get start to its own function</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-20T18:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=abe4918a942e17f997f62b1e12bc8a15d8ff5f7e'/>
<id>urn:sha1:abe4918a942e17f997f62b1e12bc8a15d8ff5f7e</id>
<content type='text'>
It's about to be used from another place, and this looks better,
anyway.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi:si: Merge some if statements</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-20T18:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=753bc23d8ffcf5a395a4eef90cf40c8e7dec51fb'/>
<id>urn:sha1:753bc23d8ffcf5a395a4eef90cf40c8e7dec51fb</id>
<content type='text'>
Changes resulted in a silly looking piece of logic.  Get rid of a goto
and use if statements properly.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
</content>
</entry>
<entry>
<title>ipmi: Set a timer for maintenance mode</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-07T22:55:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bbfb8353cb26acb05b48380f2213d51938f11019'/>
<id>urn:sha1:bbfb8353cb26acb05b48380f2213d51938f11019</id>
<content type='text'>
Now that maintenance mode rejects all messages, there's nothing to
run time timer.  Make sure the timer is running in maintenance mode.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Tested-by: Frederick Lawler &lt;fred@cloudflare.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Add a maintenance mode sysfs file</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-07T22:55:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=627118470fccc61d7763aa667fcab0a9476843f6'/>
<id>urn:sha1:627118470fccc61d7763aa667fcab0a9476843f6</id>
<content type='text'>
So you can see if it's in maintenance mode and see how long is left.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Tested-by: Frederick Lawler &lt;fred@cloudflare.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Disable sysfs access and requests in maintenance mode</title>
<updated>2025-09-08T15:21:41Z</updated>
<author>
<name>Corey Minyard</name>
<email>corey@minyard.net</email>
</author>
<published>2025-08-07T21:05:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=30f6c9d5451de72ebc52aed6c15031696c6c5bd3'/>
<id>urn:sha1:30f6c9d5451de72ebc52aed6c15031696c6c5bd3</id>
<content type='text'>
If the driver goes into any maintenance mode, disable sysfs access until
it is done.

If the driver goes into reset maintenance mode, disable all messages
until it is done.

Signed-off-by: Corey Minyard &lt;corey@minyard.net&gt;
Tested-by: Frederick Lawler &lt;fred@cloudflare.com&gt;
</content>
</entry>
</feed>
