888f0d3e | 03-Mar-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: Ia02e00493fe1b5a305e23b5761f42cc830f702ea Signed-off-by: Patrick Williams <patrick@stwcx.xyz> |
bac2f1a3 | 06-Feb-2025 |
Lei YU <yulei.sh@bytedance.com> |
Enable clang-tidy and apply fixes
Enable clang-tidy, fix the compile issue and fix the clang-tidy issues.
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: I6250c6519a725c07b0cd10abe464fda9
Enable clang-tidy and apply fixes
Enable clang-tidy, fix the compile issue and fix the clang-tidy issues.
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: I6250c6519a725c07b0cd10abe464fda97a2aebd7
show more ...
|
3145b66f | 24-Feb-2025 |
Vernon Mauery <vernon.mauery@gmail.com> |
Update Vernon Mauery email
Change-Id: I7eac54968ef04afc23c0662d35042e0ea8dedc03 Signed-off-by: Vernon Mauery <vernon.mauery@gmail.com> |
33503e2a | 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2a188ebd3faf376ecba3e20ef6a28ffbaa986628 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2a188ebd3faf376ecba3e20ef6a28ffbaa986628 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
77f3e3c7 | 30-Jan-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled or not-disabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`)
build: use allowed over enabled or not-disabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`. Switch all uses of `not disabled` to `allowed`.
Change-Id: I2b784efb6f698a2dacee8c840d3586aa941f88e0 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
7c75c374 | 30-Jan-2025 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Fix netipmid crash due to RMCP_PING activation
The netipmid service occasionally crashes following the changes introduced in commit #73192. https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/
Fix netipmid crash due to RMCP_PING activation
The netipmid service occasionally crashes following the changes introduced in commit #73192. https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/73192 This commit enabled the RMCP_PING definition, which activated previously dormant code paths under the RMCP_PING flow.
The crash occurs when the inMessage pointer of the rmcpMsgClass is dereferenced in the Handler destructor, and inMessage is NULL. To prevent this crash, this commit adds a check to ensure inMessage is not NULL before accessing.
Signed-off-by: poram srinivasa rao <poramx.srinivasa.rao@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: Ibb14cff628a690acb72aed8c35aff226cfcdcb41
show more ...
|
128d148c | 18-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have b
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have been deprecated, so adjust the style file accordingly.
See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style. See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.
Change-Id: Ibae162faf3d02e95e7d468794b8b25d0a16574d1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
bd2dde46 | 06-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
remove unused asio/sd_event.hpp include
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7b0dcb665c630cbe52b2835a9e10a8cce2d70c56 |
b1cbd6fb | 19-Nov-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix the netipmid process failed to start
It is not advisable to declare a local variable 'signals' in the `setupSignal` method, as this can cause the netipmid process to exit after the method comple
Fix the netipmid process failed to start
It is not advisable to declare a local variable 'signals' in the `setupSignal` method, as this can cause the netipmid process to exit after the method completes execution.
Tested: Loading romulus in qemu and executing out of band ipmitool successfully returns.
Change-Id: I3fb887db0ec2bfbc434e2a6d8b4f021748ba0a86 Signed-off-by: George Liu <liuxiwei@ieisystem.com>
show more ...
|
01373c2b | 14-Nov-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix coredump when using nullptr
If udpSocket is not initialized when executing the setupSignal method acoredump may occur due to the use of a nullptr.
Change-Id: Id32990ab8ed3dc75767cc1c2e566015722
Fix coredump when using nullptr
If udpSocket is not initialized when executing the setupSignal method acoredump may occur due to the use of a nullptr.
Change-Id: Id32990ab8ed3dc75767cc1c2e5660157223f473d Signed-off-by: George Liu <liuxiwei@ieisystem.com>
show more ...
|
afac94d1 | 23-Oct-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix the coredump problem caused by lock acquisition failure
As net-ipmid depends on ipmid, stress testing found that frequent start/stop of net-ipmid will cause coredump due to lock acquisition fail
Fix the coredump problem caused by lock acquisition failure
As net-ipmid depends on ipmid, stress testing found that frequent start/stop of net-ipmid will cause coredump due to lock acquisition failure in ipmid's inithannelPersistData. Since net-ipmid depends on ipmid, stress testing found that if net-ipmid is started/stopped frequently, it will exit abnormally due to failure to obtain the lock in the inithannelPersistData method of ipmid. ``` netipmid-eth1[893]: terminate called after throwing an instance of ‘boost::interprocess::lock_exception’ netipmid-eth1[893]: what(): boost::interprocess::lock_exception ```
Because in the main method of net-ipmid, the ipmi::ipmiChannelInit method is called first, and then the startEventLoop method is called to process the signal. This will cause a bug: 1. After net-ipmid@eth0 starts, ipmi::ipmiChannelInit will be executed to initialize and construct ChannelConfig. 2. The initChannelPersistData method will be executed in the construction method to obtain the lock and load the configuration. 3. If the stop method of net-ipmid is executed before the construction method is completed, the held lock will not be released correctly 4. If start is executed immediately at this time, the ipmid process will coredump because the current lock is undefined.
This submission moves the signal processing to before the ipmi::ipmiChannelInit method, which will ensure that if net-ipmid starts and captures abnormal operations, it will stop io first, so that the held lock will be released correctly.
Tested: Using this patch, no ipmid coredump occurs in the stress test.
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I29694405679330c083fa35d04443fb2e31bfca3b
show more ...
|
8425624a | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I8d0072c279e4de87dc001190845d0ca6da233345 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
acb8d90b | 30-Jul-2024 |
Andrew Geissler <geissonator@yahoo.com> |
gcc14: fix C++ One Definition Rule
The following error occurs when building with gcc14: ``` | message.hpp:117:8: error: type 'struct Message' violates the C++ One Definition Rule [-Werror=odr] | mes
gcc14: fix C++ One Definition Rule
The following error occurs when building with gcc14: ``` | message.hpp:117:8: error: type 'struct Message' violates the C++ One Definition Rule [-Werror=odr] | message.hpp:117:8: note: a different type is defined in another translation unit | message.hpp:261:26: note: the first difference of corresponding definitions is field 'payload' | message.hpp:250:13: note: a field with different name is defined in another translation unit ```
This is because some files that include this header have included config.h, and some have not. config.h defines the RMCP_PING compile flag.
Tested: - Confirmed this now compiles with gcc14
Change-Id: I7f3705bdc21cc05cc7fedb591f198cbf9dc9365d Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
916d8755 | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
README.md: Fix MD040 warnings
The following warnings are generated by using markdownlint analysis: ``` MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
README.md: Fix MD040 warnings
The following warnings are generated by using markdownlint analysis: ``` MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] ``` Refer to markdown-lint [1] to fix MD040 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/040-fenced-code-language.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Ic79f28fcb8a68a1757f10bf2e3cd3656a11fec73
show more ...
|
a8477f2b | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
README.md: Fix MD041 warnings
The following warnings are generated by using markdownlint analysis: ``` MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Cont
README.md: Fix MD041 warnings
The following warnings are generated by using markdownlint analysis: ``` MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## To Build"] ``` Refer to markdown-lint [1] to fix MD041 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/041-first-line-h1.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I5238df966bd7a21b2217b2668fec2b95d3ed6ac9
show more ...
|
6d934bd7 | 16-Jul-2024 |
Benjamin Fair <benjaminfair@google.com> |
Remove 'Wants' on phosphor-ipmi-host
The service file for phosphor-ipmi-host already has WantedBy=multi-user.target, which will instruct systemd to queue a start task for phosphor-ipmi-host. Having
Remove 'Wants' on phosphor-ipmi-host
The service file for phosphor-ipmi-host already has WantedBy=multi-user.target, which will instruct systemd to queue a start task for phosphor-ipmi-host. Having a 'Wants' statement here is therefore unnecessary.
This duplicate start task can become a problem if phosphor-ipmi-host fails to start in time and is restarted by systemd. When phosphor-ipmi-net tries to start later, it can trigger another start task for phosphor-ipmi-host within the start burst limit, putting phosphor-ipmi-host into a permanent timeout state.
Tested: With this change, phosphor-ipmi-host no longer has "Start request repeated too quickly" across 1,000 powercycles.
Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: Iabcc57e2ba73522d373d91d02b12fa6e6f389979
show more ...
|
1499dc2b | 22-Jul-2024 |
George Liu <liuxiwei@ieisystem.com> |
auth_algo: Remove unused variables
Since the userName variable was declared in[1] and deprecated in[2], this commit removes the deprecated variable.
[1]: https://gerrit.openbmc.org/c/openbmc/phosph
auth_algo: Remove unused variables
Since the userName variable was declared in[1] and deprecated in[2], this commit removes the deprecated variable.
[1]: https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/9643 [2]: https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/13094/7/command/rakp12.cpp#b66
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Ia606607ae49e1f1923eae792a0f178fab52bbc3f
show more ...
|
4c2ed9c3 | 25-Apr-2024 |
Konstantin Aladyshev <aladyshev22@gmail.com> |
meson: Enable link time optimization
Currently local boost subproject compilation fails with a message: """ ../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c: 1085:41: error: itera
meson: Enable link time optimization
Currently local boost subproject compilation fails with a message: """ ../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c: 1085:41: error: iteration 2305843009213693951 invokes undefined behavior [-Werror=aggressive-loop-optimizations] 1085 | size = request2size(sizes[i]*element_size);
...
cc1: all warnings being treated as errors """ To solve the issue enable link time optimization.
Change-Id: I88a6779ae91936a8067ae4dbd8c685823cd2f28c Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
426fcab8 | 13-Mar-2024 |
Konstantin Aladyshev <aladyshev22@gmail.com> |
SOL: Another attempt to fix coredump issue
The commit "SOL: Fix coredump due to recursive call deadlock" (5499bf862d1240bdbc061afc6e3d4f332c31329a) tried to fix coredump issue when the buffer size i
SOL: Another attempt to fix coredump issue
The commit "SOL: Fix coredump due to recursive call deadlock" (5499bf862d1240bdbc061afc6e3d4f332c31329a) tried to fix coredump issue when the buffer size is larger than the send threshold (i.e. user types too fast in the SoL session). Despite of the commit message the provided solution doesn't seem to fix the crashdump issue. Revert 5499bf862d and implement a proper solution.
Normally 'enableAccumulateTimer()' launches a timer to accumulate data before send, and after the timeout the 'charAccTimerHandler()' sends all the data via the 'sendOutboundPayload()' function. If the buffer is not ready at that moment, the 'charAccTimerHandler()' relaunches the timer via the 'enableAccumulateTimer()' call. At the same time the 'enableAccumulateTimer()' function has an optimization: if the data size is more than 'sendThreshold' there is no point in timer, data can be send directly from the function. For that the current code calls the 'charAccTimerHandler()'. In the end this can create an endless recursion in times when buffer is not ready: enableAccumulateTimer() charAccTimerHandler() sendOutboundPayload() enableAccumulateTimer() ... To solve the issue we need to be careful about when we call the 'enableAccumulateTimer()' function: - first of all we don't need to call it from 'sendOutboundPayload()' since it is already called from the 'charAccTimerHandler()', - secondary in the 'enableAccumulateTimer' optimization case we don't need to call 'charAccTimerHandler()' which can re-launch timer but can just use 'sendOutboundPayload()' directly.
Tested: SOL console in ipmitool works fine if holding arrow up/down key for a long time.
Change-Id: Ibec03fc1394f23ba39b6f2d5a929928588e00590 Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
c0552851 | 03-Feb-2024 |
George Liu <liuxiwei@ieisystem.com> |
meson: Add CLI11 dependency
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I3b4016acc026c46cd312ffe3b829e00bf2281617 |
80798ec1 | 03-Feb-2024 |
George Liu <liuxiwei@ieisystem.com> |
Remove libmapper dependency
phosphor-net-ipmid does not use the API in libmapper. This patch removes the dependence on libmapper.
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Iffae
Remove libmapper dependency
phosphor-net-ipmid does not use the API in libmapper. This patch removes the dependence on libmapper.
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Iffaee8f84e0485c1b36a469d328b82ec4dad218c
show more ...
|
34a2c412 | 08-Sep-2023 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Handle SOL payload deactivation for stale session
User is unable to deactivate active SOL session using IPMI command. To get SOL session ptr, getSession() from session manager was used, which throwi
Handle SOL payload deactivation for stale session
User is unable to deactivate active SOL session using IPMI command. To get SOL session ptr, getSession() from session manager was used, which throwing Session ID is not found error and Deactivate payload command not returning any response.
So provided fix to use SOL session ptr obtained from Context to check if current session user has privilege to deactivate SOL payload.
Tested: Verified using SOL IPMI commands. //Activate SOL ~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06 0x48 0x01 0x01 0xc0 0x00 0x00 0x00 Response: 00 00 00 00 ff 00 ff 00 6f 02 ff ff //Deactivate SOL ~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06 0x49 0x01 0x01 0x00 0x00 0x00 0x00 Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x49 rsp=0x80): Unknown (0x80) //Check Payload Activation status ~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06 0x4A 0x01 Response: 01 00 00
Signed-off-by: athuljox <athulx.joseph@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I49b34a9f17fe356fc86cdecb44aac627c581ba0a
show more ...
|
5499bf86 | 24-Jan-2024 |
Jian Zhang <zhangjian.3032@bytedance.com> |
SOL: Fix coredump due to recursive call deadlock
When the data buffer size is always larger than the send threshold. The recursive call deadlock when any input event is received.
the backtrace is a
SOL: Fix coredump due to recursive call deadlock
When the data buffer size is always larger than the send threshold. The recursive call deadlock when any input event is received.
the backtrace is as below: - enableAccumulateTimer - charAccTimerHandler - sendOutboundPayload - enableAccumulateTimer
using io.post avoid the recursive call deadlock.
Change-Id: Ic67d2c6dfce5c658b7ef4813bf3a62ad93ced8ad Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
show more ...
|
7b534095 | 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I5278656122f19da46fcd0a84bc96af420d4cb8bd Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
54e7a51f | 15-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
meson_options.txt: Support for reading options from meson.options
Support has been added for reading options from meson.options instead of meson_options.txt[1]. These are equivalent, but not using t
meson_options.txt: Support for reading options from meson.options
Support has been added for reading options from meson.options instead of meson_options.txt[1]. These are equivalent, but not using the .txt extension for a build file has a few advantages, chief among them many tools and text editors expect a file with the .txt extension to be plain text files, not build scripts.
[1] https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I82fefec49af420c862922ea2b73343a2daa3d246
show more ...
|