Portál AbcLinuxu, 7. května 2025 01:08
Časovač s vysokou přesností (HRT). Podpora RSA Crypto API v řadě 2.6. Linux 2.6.7. Kdy používat GCC Built-Ins.
Do konference přišlo celkem 2195 emailů, nejvíce jich poslali Greg KH, Andrew Morton a William Lee Irwin III.
Geoff Levand informoval konferenci o dostupnosti patchů pro POSIXový časovač s vysokou přesností (high-res timer) pro jádro 2.6.6. Základem pro tyto patche je hrtimers-2.6.5-1.0.patch George Anzingera ze stránky http://sourceforge.net/projects/high-res-timers/.
William Lee Irwin III reagoval s tím, že žije v domnění, že patche George Anzingera již byly do řady 2.6 začleněny. Jiný autor otvrdil, že aplikační rozhraní v kernelu již je, nicméně patche umožňující získat rozlišení na úrovni deseti mikrosekund nebyly začleněny.
Joy Latten se zeptal:
Projekt Umbrella (umbrella.sf.net) také
potřebuje mít možnost používat kryptografii s veřejným klíčem uvnitř
linuxového kernelu (i když pouze pro verifikaci podpisu). Plánujeme proto
implementovat RSA nebo ElGamal (portací z GPG) do kernelu. Nicméně pokud
tento projekt vznikne, bude nás velmi zajímat. Na podzim pak budeme schopni
přispět nějakými hodinami programování .
Jinde se James Morris zeptal, zda se Joy a spol. snaží vytvořit obecné asymetrické kryptografické API. Sergey odpověděl:
Je samostatné generické asymetrické crypto API skutečně nutné?
Model užití cryptoapi je nastavit klíč před (de)šifrováním. Takže není důvod mít public_key_alg se samostatnými funkcemi public_encrypt a private_encrypt, protože toto rozlišení je implikováno během použití metody setkey. Proto plánujeme prostě přidat další crypto_alg pro rsa_1024.
Tom St. Denis odpověděl:
Jako základ digsig modulu budeš potřebovat mít možnost:
Rozhraní přesně napodobující symetrickou stranu skutečně nebude fungovat na 100%. Například symetrické operace obvykle nehavarují. Také metody ověřování/dešifrování mohou selhat natvrdo [kvůli nedostatku paměti na haldě] či naměko [invalidní paket]. Dávalo by více smyslu navrhnout jednoduché API pro kryptografii s veřejným klíčem, než mrzačit API pro symetrické šiforvání do něčeho kompatibilního.
Mimochodem, byl jsem kontaktován, zda mám zájem o uskutečnění tohoto projektu a nabízím svou public domain knihovnu LibTomCrypt. Navrhuji portovat ji jako kernel modul (po odstranění věci, jež nejsou potřeba, jako je symetrické šifrování) a uvolnit pod GPL.
Linus Torvalds ohlásil Linux 2.6.7 s tím, že nejvíce pozornosti si zaslouží jednořádková oprava obtěžující výjimky plovoucí řádky. Tomas Szepe napsal, že airo.ko z 2.6.7 (oproti verzi 2.6.6) neumožňuje uživateli nastavit ESSID via "echo myessid >/proc/driver/aironet/ethX/SSID". A dodal, že takové změny by se neměly provádět uprostřed stabilní řady.
Alexander Viro zaslal krátký patch s komentářem, že takovýmto změnám se říká chyby. Kromě toho originální verze byla chybová a snadno zneužitelná, takže oprava byla skutečně potřeba. Tomas vyzkoušel záplatu a potvrdil její funkčnost.
Arjan van de Ven napsal, že
gcc 3.4 získalo podporu pro několik typických bitops jako zabudovaných direktiv. Jejich použití má oproti inline asm několik výhod:
Otázka zní, zda považujeme tuto cestu za přínosnou či ne. Abych pomohl diskusi, přikládám patch, který v závislosti na verzi překladače umožní funkci ffz() používat tyto direktivy gcc. Než s tím ale budu pokračovat ... má to cenu?
Ze začátku se ozývaly hlasy podpory, než Linus Torvalds napsal:
Pokud se jasně neprokáže, že kód gcc je lepší, pak to NEMÁ cenu.
Přidání takové podpory vede k zvýšeným nárokům na údržbu, protože stále musíme podporovat staré verze gcc a architektury, kde GCC optimalizuje HŮŘE než my. A upřímně, pochybuju, že najdeš jediný případ, kdy GCC udělá znatelně lepší práci.
Jinými slovy, pravidla ohledně GCC builtinů jsou:
Až dosud jediným případem, jež měl cenu, byly věci kolem memcpy() a i zde byly původní makra, jež dělaly téměř stejnou práci (ale byly tak škaredé, že stálo za to provést změnu).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.