pam-1.3.1.0.212.76916-alt1 login[4196]: pam_motd(login:session): pam_motd: failed to allocate dirname array
у pam_motd есть какие-нибудь аргументы?
$ rpm -qf /etc/pam.d/login login-0.60-alt35.x86_64 $ sudo grep pam_motd /etc/pam.d/login session optional pam_motd.so
Понятно, ждите фикс.
(In reply to Yuri N. Sedunov from comment #0) > pam-1.3.1.0.212.76916-alt1 > > login[4196]: pam_motd(login:session): pam_motd: failed to allocate dirname > array Эта ошибка не влияет на код завершения pam_motd. Какие-нибудь ещё ошибки были?
Это всё, что есть в журнале про неудачный логин: $ C sudo journalctl -b |grep "login\[4196\]" login[4196]: pam_tcb(login:auth): Authentication passed for aris from (uid=0) login[4196]: pam_tcb(login:session): Session opened for aris by (uid=0) login[4196]: pam_motd(login:session): pam_motd: failed to allocate dirname array
Если убрать pam_motd из стека, логин исправляется?
(Ответ для Dmitry V. Levin на комментарий #6) > Если убрать pam_motd из стека, логин исправляется? Да, конечно.
(In reply to Yuri N. Sedunov from comment #7) > (Ответ для Dmitry V. Levin на комментарий #6) > > Если убрать pam_motd из стека, логин исправляется? > > Да, конечно. Несмотря на то, что pam_motd вернул PAM_IGNORE?
Лично у меня всё заканчивается сегфолтом login[818262]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[818262]: segfault at 0 ip 00007f4fd766f870 sp 00007ffe0b896500 error 4 in pam_motd.so[7f4fd766f000+1000] login[818444]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[818444]: segfault at 0 ip 00007fd40a66c870 sp 00007fff660eb2a0 error 4 in pam_motd.so[7fd40a66c000+1000] login[845728]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[845728]: segfault at 0 ip 00007f96ffd64870 sp 00007fff70507200 error 4 in pam_motd.so[7f96ffd64000+1000] И да, если pam_motd закомментировать, то логин проходит нормально, при возврате снова сегфолт.
(In reply to Aleksey Borisenkov from comment #9) > Лично у меня всё заканчивается сегфолтом > > login[818262]: pam_motd(login:session): pam_motd: failed to allocate dirname > array > kernel: login[818262]: segfault at 0 ip 00007f4fd766f870 sp 00007ffe0b896500 > error 4 in pam_motd.so[7f4fd766f000+1000] Да, это ожидаемо, я видел это в коде, непонятно, почему никто до вас не видел этой ошибки в логе. > И да, если pam_motd закомментировать, то логин проходит нормально, при > возврате снова сегфолт. Спасибо, теперь всё встало на свои места.
Давайте сверим часы. Мой прогноз: Если сделать mkdir -p /etc/motd.d /run/motd.d /usr/lib/motd.d то сегфолт прекратится, login починится, но жалоба "failed to allocate dirname array" останется. Если сделать rmdir /etc/motd.d /run/motd.d /usr/lib/motd.d; mkdir -p /run/motd.d; touch /run/motd.d/foo то сегфолт вернётся, login сломается, но жалоба "failed to allocate dirname array" уйдёт.
(Ответ для Dmitry V. Levin на комментарий #11) > Давайте сверим часы. Мой прогноз: > > Если сделать mkdir -p /etc/motd.d /run/motd.d /usr/lib/motd.d > то сегфолт прекратится, login починится, но жалоба "failed to allocate > dirname array" останется. > Починился, жалобы на "failed to allocate dirname array" нет, как и на сегфолт. > Если сделать rmdir /etc/motd.d /run/motd.d /usr/lib/motd.d; mkdir -p > /run/motd.d; touch /run/motd.d/foo > то сегфолт вернётся, login сломается, но жалоба "failed to allocate dirname > array" уйдёт. Не починился, жалоба на "failed to allocate dirname array" и сегфолт есть.
Аналогично, чинятся вместе и ломаются вместе, вопреки прогнозу.
(In reply to Aleksey Borisenkov from comment #13) > Аналогично, чинятся вместе и ломаются вместе, вопреки прогнозу. OK, поскольку calloc(0, 1) != NULL, так и должно быть. Всем спасибо за тестирование.
linux-pam-1.3.1.0.223.c2c0-alt1 -> sisyphus: Sun Apr 26 2020 Dmitry V. Levin <ldv@altlinux> 1.3.1.0.223.c2c0-alt1 - v1.3.1-212-g76916913 -> v1.3.1-223-gc2c0434b (closes: #38389).