commit | 65a9168c5bc45cdfef72a5e12699d4634ddf3d31 | [log] [tgz] |
---|---|---|
author | Tim Lee <timlee660101@gmail.com> | Wed Nov 30 17:14:13 2022 +0800 |
committer | Tim Lee <chli30@nuvoton.com> | Fri Dec 02 23:23:52 2022 +0000 |
tree | f0ab0e878b0e611b922c3e143d3d8177e99de12f | |
parent | 01d14600058f6d4bd4ca999da0be7096e0a6efc1 [diff] |
Revert "user_mgmt: Fix SEGV on 64bit" This reverts commit 05703adfe2bf70945d2befa8a7beda4ce5e5182a. Due to we found that root cause about SEGV on 64bit and after modify in pam-ipmit then SEGV on 64bit will not happen anymore. Thus, we submitted this commit in gerrit in pam-ipmi as below: https://gerrit.openbmc.org/c/openbmc/pam-ipmi/+/58579 Root cause: There is default ipmi_pass file be created and encrypted in 32bit environment from pam-ipmi original design before. According the failed message, we found that PAM_AUTHTOK_ERR return from update_pass_special_file() function that cause ipmid got bad authentication token. Seems this file cannot be used in 64bit environment by default that will cause ipmitool user set password got failed. Solution: According current pam-ipmi design that already consider if this file does not exist then BMC will create it once a user in the ipmi group has been added. There should not be any file there by default. Thus, there is no need for this file. Without install this file by default then ipmitool command successful. Thus, this default ipmi_pass file that will cause SEGV in host-ipmid on 64 bit project. After remove this default file, SEGV crash issue in host-ipmid symptom was gone. BTW, there is another issue we found that “ipmitool user set password 1 0penBmc0” command failed. Due to pam-ipmi still use size_t structure, but host-ipmid already change to use uint32_t structure for MetaPassStruct. Thus, we need to revert your commit and remove ipmi_pass file in pam-ipmi for fixing two issues. Verified: root@evb-npcm845:~# ipmitool user set password 1 0penBmc0 Set User Password command successful (user 1) Signed-off-by: Tim Lee <timlee660101@gmail.com> Change-Id: I03ba57a9006694a09b75c16d897377b1b57051e5
meson builddir ninja -C builddir
meson builddir -Dbuildtype=minsize -Db_lto=true -Dtests=disabled ninja -C builddir
If any of the dependencies are not found on the host system during configuration, meson automatically gets them via its wrap dependencies mentioned in ipmid/subprojects
.
meson builddir -Dwrap_mode=nofallback ninja -C builddir
meson builddir -Dbuildtype=debug ninja -C builddir
meson builddir -Db_coverage=true -Dtests=enabled ninja -C builddir test ninja -C builddir coverage