Message ID | 151336772989.60446.16322941485803241258.stgit@sosxen2.amd.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Hi Gary, Some minor comments below. On 16 December 2017 at 01:25, Gary R Hook <gary.hook@amd.com> wrote: > > Commit 142a27f0a731 added support for a "best" RNG, and in doing so > introduced a hang from rmmod/modprobe -r when the last RNG on the list > was unloaded. Nice catch. Thanks for fixing this. > When the hwrng list is depleted, return the global variables to their > original state and decrement all references to the object. > > Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") Please cc the commit author (in this case its me) so that this patch gets noticed easily. > Signed-off-by: Gary R Hook <gary.hook@amd.com> > --- > > Changes since v1: fix misspelled word in subject > > drivers/char/hw_random/core.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c > index 657b8770b6b9..91bb98c42a1c 100644 > --- a/drivers/char/hw_random/core.c > +++ b/drivers/char/hw_random/core.c > @@ -306,6 +306,10 @@ static int enable_best_rng(void) > ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); > if (!ret) > cur_rng_set_by_user = 0; > + } else { > + drop_current_rng(); When the hwrng list is empty just set current_rng = NULL instead of calling drop_current_rng(). > + cur_rng_set_by_user = 0; > + ret = 0; > } > > return ret; > Regards, PrasannaKumar
On 17 December 2017 at 14:53, PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> wrote: > Hi Gary, > > Some minor comments below. > > On 16 December 2017 at 01:25, Gary R Hook <gary.hook@amd.com> wrote: >> >> Commit 142a27f0a731 added support for a "best" RNG, and in doing so >> introduced a hang from rmmod/modprobe -r when the last RNG on the list >> was unloaded. > > Nice catch. Thanks for fixing this. > >> When the hwrng list is depleted, return the global variables to their >> original state and decrement all references to the object. >> >> Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") > > Please cc the commit author (in this case its me) so that this patch > gets noticed easily. > >> Signed-off-by: Gary R Hook <gary.hook@amd.com> >> --- >> >> Changes since v1: fix misspelled word in subject >> >> drivers/char/hw_random/core.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c >> index 657b8770b6b9..91bb98c42a1c 100644 >> --- a/drivers/char/hw_random/core.c >> +++ b/drivers/char/hw_random/core.c >> @@ -306,6 +306,10 @@ static int enable_best_rng(void) >> ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); >> if (!ret) >> cur_rng_set_by_user = 0; >> + } else { >> + drop_current_rng(); > > When the hwrng list is empty just set current_rng = NULL instead of > calling drop_current_rng(). > >> + cur_rng_set_by_user = 0; >> + ret = 0; >> } >> >> return ret; >> > > Regards, > PrasannaKumar I am fine with the code as is. Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> Regards, PrasannaKumar
On 12/17/2017 03:49 AM, PrasannaKumar Muralidharan wrote: > On 17 December 2017 at 14:53, PrasannaKumar Muralidharan > <prasannatsmkumar@gmail.com> wrote: >> Hi Gary, >> >> Some minor comments below. >> >> On 16 December 2017 at 01:25, Gary R Hook <gary.hook@amd.com> wrote: >>> >>> Commit 142a27f0a731 added support for a "best" RNG, and in doing so >>> introduced a hang from rmmod/modprobe -r when the last RNG on the list >>> was unloaded. >> >> Nice catch. Thanks for fixing this. >> >>> When the hwrng list is depleted, return the global variables to their >>> original state and decrement all references to the object. >>> >>> Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") >> >> Please cc the commit author (in this case its me) so that this patch >> gets noticed easily. D'oh! I did not do so on this version. My apologies. >> >>> Signed-off-by: Gary R Hook <gary.hook@amd.com> >>> --- >>> >>> Changes since v1: fix misspelled word in subject >>> >>> drivers/char/hw_random/core.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c >>> index 657b8770b6b9..91bb98c42a1c 100644 >>> --- a/drivers/char/hw_random/core.c >>> +++ b/drivers/char/hw_random/core.c >>> @@ -306,6 +306,10 @@ static int enable_best_rng(void) >>> ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); >>> if (!ret) >>> cur_rng_set_by_user = 0; >>> + } else { >>> + drop_current_rng(); >> >> When the hwrng list is empty just set current_rng = NULL instead of >> calling drop_current_rng(). >> >>> + cur_rng_set_by_user = 0; >>> + ret = 0; >>> } >>> >>> return ret; >>> >> >> Regards, >> PrasannaKumar > > I am fine with the code as is. > > Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> > > Regards, > PrasannaKumar >
On Fri, Dec 15, 2017 at 01:55:59PM -0600, Gary R Hook wrote: > Commit 142a27f0a731 added support for a "best" RNG, and in doing so > introduced a hang from rmmod/modprobe -r when the last RNG on the list > was unloaded. > > When the hwrng list is depleted, return the global variables to their > original state and decrement all references to the object. > > Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") > Signed-off-by: Gary R Hook <gary.hook@amd.com> Patch applied. Thanks.
On 12/15/2017 01:55 PM, Gary R Hook wrote: > Commit 142a27f0a731 added support for a "best" RNG, and in doing so > introduced a hang from rmmod/modprobe -r when the last RNG on the list > was unloaded. > > When the hwrng list is depleted, return the global variables to their > original state and decrement all references to the object. *ping* It may not have been obvious from the title but this fixes a bug which will impact the use of any HW RNG that is the only RNG registered. The breakage of rmmod/modprobe -r that this fix obviates suggests that it needs to make the 4.15 kernel, please. Just want to ensure this gets the proper attention. Thank you. > > Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") > Signed-off-by: Gary R Hook <gary.hook@amd.com> > --- > > Changes since v1: fix misspelled word in subject > > drivers/char/hw_random/core.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c > index 657b8770b6b9..91bb98c42a1c 100644 > --- a/drivers/char/hw_random/core.c > +++ b/drivers/char/hw_random/core.c > @@ -306,6 +306,10 @@ static int enable_best_rng(void) > ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); > if (!ret) > cur_rng_set_by_user = 0; > + } else { > + drop_current_rng(); > + cur_rng_set_by_user = 0; > + ret = 0; > } > > return ret; > [Desktop Entry] Encoding=UTF-8 Name=Thunderbird Mail Name[ast]=Veceru de corréu Thunderbird Name[ca]=Client de correu Thunderbird Name[cs]=Poštovní klient Thunderbird Name[da]=Mozilla Thunderbird - e-post/nyhedsgruppe Name[de]=Thunderbird-E-Mail und -Nachrichten Name[el]=Ηλεκτρονική αλληλογραφία Thunderbird Name[es]=Cliente de correo Thunderbird Name[fi]=Thunderbird-sähköposti Name[fr]=Messagerie Thunderbird Name[gl]=Cliente de correo Thunderbird Name[he]=Mozilla Thunderbird דוא״ל/חדשות Name[hr]=Mozilla Thunderbird e-pošta/novosti Name[hu]=Thunderbird levelezőkliens Name[it]=Email Mozilla Thunderbird Name[ja]=Thunderbird電子メールクライアント Name[ko]=Mozilla Thunderbird Name[nl]=Mozilla Thunderbird e-mail/nieuws Name[pl]=Klient poczty Thunderbird Name[pt_BR]=Cliente de E-mail Thunderbird Name[ru]=Почтовый клиент Thunderbird Name[sk]=Thunderbird - poštový klient Name[sv]=E-postklienten Thunderbird Name[ug]=Mozilla Thunderbird ئېلخەت/خەۋەر Name[uk]=Поштова програма Thunderbird Name[vi]=Trình điện thư Mozilla Thunderbird Name[zh_CN]=Thunderbird 邮件/新闻 Name[zh_TW]=Thunderbird 郵件 Comment=Send and receive mail with Thunderbird Comment[ast]=Lleer y escribir corréu electrónicu Comment[ca]=Llegiu i escriviu correu Comment[cs]=Čtení a psaní pošty Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben Comment[el]=Διαβάστε και γράψτε γράμματα με το Mozilla Thunderbird Comment[es]=Lea y escriba correos y noticias con Thunderbird Comment[fi]=Lue ja kirjoita sähköposteja Comment[fr]=Lire et écrire des courriels Comment[gl]=Lea e escriba correo electrónico Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Mozilla Thunderbird Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird Comment[hu]=Levelek írása és olvasása a Thunderbirddel Comment[it]=Per leggere e scrivere email Comment[ja]=メールの読み書き Comment[ko]=Mozilla Thunderbird 메일/뉴스 읽기 및 쓰기 클라이언트 Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird Comment[pl]=Czytanie i wysyłanie e-maili Comment[pt_BR]=Leia e escreva suas mensagens Comment[ru]=Читайте и пишите письма Comment[sk]=Čítajte a píšte poštu pomocou programu Thunderbird Comment[sv]=Läs och skriv e-post Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى Mozilla Thunderbird دا كۆرۈش ۋە يېزىش Comment[uk]=Читання та написання листів Comment[vi]=Đọc và soạn thư điện tử Comment[zh_CN]=阅读邮件或新闻 Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新聞 GenericName=Mail Client GenericName[ast]=Client de correu GenericName[ca]=Client de correu GenericName[cs]=Poštovní klient GenericName[da]=E-postklient GenericName[de]=E-Mail-Anwendung GenericName[el]=Λογισμικό αλληλογραφίας GenericName[es]=Cliente de correo GenericName[fi]=Sähköpostiohjelma GenericName[fr]=Client de messagerie GenericName[gl]=Cliente de correo electrónico GenericName[he]=לקוח דוא״ל GenericName[hr]=Klijent e-pošte GenericName[hu]=Levelezőkliens GenericName[it]=Client email GenericName[ja]=電子メールクライアント GenericName[ko]=메일 클라이언트 GenericName[nl]=E-mailprogramma GenericName[pt_BR]=Cliente de E-mail GenericName[ru]=Почтовый клиент GenericName[sk]=Poštový klient GenericName[ug]=ئېلخەت دېتالى GenericName[uk]=Поштова програма GenericName[vi]=Phần mềm khách quản lý thư điện tử GenericName[zh_CN]=邮件新闻客户端 GenericName[zh_TW]=郵件用戶端 Keywords=Email;E-mail;Newsgroup;Feed;RSS Keywords[ast]=Corréu;Corréu-e;Noticies;Discusiones;Mensaxes;Canales;RSS Keywords[ca]=Correu;Email;E-mail;Mailing;Llistes;Notícies;RSS Keywords[cs]=Email;E-mail;Pošta;Elektronická pošta;Diskusní skupiny;Čtečka;RSS Keywords[da]=Email;E-mail;Epost;E-post;E-brev;Newsgroup;Nyhedsgruppe;Nyhedskilde;Usenet;Feed;RSS Keywords[de]=Mail;E-Mail;Newsgroup;Nachrichten;Feed;RSS;Post;News;Usenet;online;lesen;schreiben Keywords[el]=Email;E-mail;Newsgroup;Feed;RSS;ημαιλ;Αλληλογραφία;Ροή;ΡΣΣ;Συζητήσεις;Γράμματα Keywords[es]=Email;Correo electrónico;Noticias;Discusiones;Mensajes;Canales;RSS Keywords[fi]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;posti;sähköposti;maili;meili;Usenet;uutisryhmät;syöte Keywords[fr]=Mails;Mels;E-Mails;Emails;Courriels;Courriers;Newsgroup;Feed;RSS;Poster;Thunderbird;Lire;Écrire Keywords[he]=דוא"ל;דוא״ל;מייל;אי-מייל;אימייל;הודעות;מוזילה;תאנדרבירד;ת׳אנדרבירד;ת'אנדרבירד;ת׳אנדרברד;ת'אנדרברד;דואל; Keywords[hr]=email;e-mail;e-pošta;pošta;RSS Keywords[hu]=Email;E-mail;Levél;Levelezés;Hírcsoport;Feed;Hírforrás;RSS Keywords[it]=Email;Mail;Posta;Newsgroup;Feed;RSS Keywords[is]=tölvupóstur;rafpóstur;fréttir;fréttahópar;samtöl;skilaboð;fréttastraumar;RSS Keywords[ja]=Eメール;イーメール;mail;e-mail;email;メール;電子メール;ニュースグループ;ネットニュース;RSS;フィードリーダー;書く;読む;Mozilla Keywords[nl]=Email;E-mail;Newsgroup;Feed;RSS;Nieuwsgroep;Post Keywords[ru]=Email;E-mail;Newsgroup;Feed;RSS;почта;письма;новости;фиды Keywords[sk]=Email;E-mail;Elektronická pošta;Diskusné skupiny;Čítačka kanálov;RSS Keywords[uk]=Email;E-mail;Newsgroup;Feed;RSS;пошта;новини;подачі;стрічка Keywords[vi]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;Thư điện tử;Gửi thư Keywords[zh_CN]=Mail;E-Mail;Email;Newsgroup;Feed;RSS;电子;邮件;新闻;Thunderbird;tb;雷鸟;电邮;邮箱;阅读器; Exec=thunderbird %u Terminal=false X-MultipleArgs=false Type=Application Icon=thunderbird Categories=Application;Network;Email; MimeType=x-scheme-handler/mailto;application/x-xpinstall; StartupNotify=true Actions=Compose;Contacts [Desktop Action Compose] Name=Compose New Message Name[af]=Skryf 'n nuwe boodskap Name[ar]=حرر رسالة جديدة Name[ast]=Redactar un mensaxe nuevu Name[be]=Напісаць ліст Name[bg]=Ново писмо Name[bn]=নতুন বার্তা লিখুন Name[br]=Sevel ur gemennadenn nevez Name[bs]=Napiši novu poruku Name[ca]=Redacta un missatge nou Name[cs]=Napsat novou zprávu Name[cy]=Cyfansoddi Neges Newydd Name[da]=Skriv en ny besked Name[de]=Neue Nachricht erstellen Name[el]=Σύνταξη νέου μηνύματος Name[eo]=Redakti novan mesaĝon Name[es]=Redactar un mensaje nuevo Name[et]=Koosta uus sõnum Name[eu]=Mezu Berria Idatzi Name[fi]=Luo uusi viesti Name[fr]=Rédiger un nouveau courriel Name[gd]=Co-chuir Teachdaireachd Ùr Name[gl]=Redactar unha nova mensaxe Name[he]=חיבור הודעה חדשה Name[hi]=नया संदेश लिखें Name[hr]=Nova poruka Name[hu]=Új üzenet írása Name[hy]=Նամակ գրել Name[id]=Buat Pesan Baru Name[is]=Skrifa nýtt bréf Name[it]=Componi nuovo messaggio Name[ja]=新しいメッセージの作成 Name[kk]=Жаңа хат жазу Name[kn]=ಹೊಸ ಸಂದೇಶವನ್ನು ಸಂಯೋಜಿಸು Name[ko]=새 메시지 쓰기 Name[ku]=Peyameke nû biafirînê Name[lt]=Rašyti naują laišką Name[lv]=Sacerēt jaunu vēstuli Name[mk]=Состави нова порака Name[ml]=പുതിയ സന്ദേശം രചിക്കുക Name[mr]=नवीन संदेश लिहा. Name[nb]=Skriv en ny melding Name[nl]=Nieuw bericht opstellen Name[nn]=Skriv ei ny melding Name[pl]=Utwórz nową wiadomość Name[pt]=Criar nova mensagem Name[pt_BR]=Compor nova mensagem Name[ro]=Compune un mesaj nou Name[ru]=Написать письмо Name[si]=නව පණිවිඩයක් අරඹන්න Name[sk]=Napísať novú správu Name[sl]=Sestavi novo sporočilo Name[sq]=Krijo Mesazh të Ri Name[sr]=Састави нову поруку Name[sv]=Skriv nytt meddelande Name[ta]=புதிய செய்தியை உருவாக்கு Name[te]=కొత్త సందేశాన్ని రచించు Name[th]=สร้างข้อความใหม่ Name[tr]=Yeni İleti Oluştur Name[uk]=Написати нове повідомлення Name[zh_CN]=撰写新消息 Name[zh_TW]=撰寫新郵件 Exec=thunderbird -compose OnlyShowIn=Messaging Menu;Unity; [Desktop Action Contacts] Name=Contacts Name[af]=Kontakte Name[ar]=المتراسلين Name[ast]=Contautos Name[be]=Кантакты Name[bg]=Контакти Name[bn]=পরিচিতি সমূহ Name[br]=Darempredoù Name[bs]=Kontakti Name[ca]=Contactes Name[cs]=Kontakty Name[cy]=Cysylltiadau Name[da]=Kontakter Name[de]=Kontakte Name[el]=Επαφές Name[eo]=Kontaktoj Name[es]=Contactos Name[et]=Kontaktid Name[eu]=Kontaktuak Name[fi]=Yhteystiedot Name[fr]=Carnet d'adresses Name[gd]=Buntanasan Name[gl]=Contactos Name[he]=אנשי קשר Name[hi]=संपर्क Name[hr]=Kontakti Name[hu]=Névjegyek Name[hy]=Կապորդներ Name[id]=Kontak Name[is]=Tengiliðir Name[it]=Contatti Name[ja]=連絡先 Name[kk]=Байланыс жазулары Name[kn]=ಸಂಪರ್ಕಗಳು Name[ko]=연락처 Name[ku]=Tekilî Name[lt]=Kontaktai Name[lv]=Kontakti Name[mk]=Контакти Name[ml]=വിലാസങ്ങള് Name[mr]=संपर्क Name[nb]=Kontakter Name[nl]=Contacten Name[nn]=Kontaktar Name[pl]=Kontakty Name[pt]=Contactos Name[pt_BR]=Contatos Name[ro]=Contacte Name[ru]=Контакты Name[si]=සබඳතා Name[sk]=Kontakty Name[sl]=Stiki Name[sq]=Kontaktet Name[sr]=Контакти Name[sv]=Kontakter Name[ta]=தொடர்புகள் Name[te]=పరిచయాలు Name[th]=รายชื่อติดต่อ Name[tr]=Kişiler Name[uk]=Контакти Name[zh_CN]=联系人 Name[zh_TW]=連絡人 Exec=thunderbird -addressbook OnlyShowIn=Messaging Menu;Unity;
On Fri, Jan 05, 2018 at 11:28:23AM -0600, Gary R Hook wrote: > > It may not have been obvious from the title but this fixes a bug > which will impact the use of any HW RNG that is the only RNG > registered. The breakage of rmmod/modprobe -r that this fix obviates > suggests that it needs to make the 4.15 kernel, please. Just want to > ensure this gets the proper attention. Thank you. I don't think breaking rmmod is sufficiently serious to warrant immediate inclusion at this point. We can always send it via stable after the release. Thanks,
On 01/07/2018 11:05 PM, Herbert Xu wrote: > On Fri, Jan 05, 2018 at 11:28:23AM -0600, Gary R Hook wrote: >> >> It may not have been obvious from the title but this fixes a bug >> which will impact the use of any HW RNG that is the only RNG >> registered. The breakage of rmmod/modprobe -r that this fix obviates >> suggests that it needs to make the 4.15 kernel, please. Just want to >> ensure this gets the proper attention. Thank you. > > I don't think breaking rmmod is sufficiently serious to warrant > immediate inclusion at this point. We can always send it via > stable after the release. > > Thanks, > Oh. I just figured that problems introduced in a particular kernel level should be resolved (if possible) in that same level. Your call, of course; thank you for the clarification.
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c index 657b8770b6b9..91bb98c42a1c 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c @@ -306,6 +306,10 @@ static int enable_best_rng(void) ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); if (!ret) cur_rng_set_by_user = 0; + } else { + drop_current_rng(); + cur_rng_set_by_user = 0; + ret = 0; } return ret;
Commit 142a27f0a731 added support for a "best" RNG, and in doing so introduced a hang from rmmod/modprobe -r when the last RNG on the list was unloaded. When the hwrng list is depleted, return the global variables to their original state and decrement all references to the object. Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") Signed-off-by: Gary R Hook <gary.hook@amd.com> --- Changes since v1: fix misspelled word in subject drivers/char/hw_random/core.c | 4 ++++ 1 file changed, 4 insertions(+)