Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Začleňovací okno 2.6.39 je v době psaní tohoto článku stále otevřené; níže vizte samostatný článek o tom, co bylo za tento týden začleněno.
Stabilní aktualizace: stabilní aktualizace 2.6.32.34, 2.6.37.5 a 2.6.38.1 byly vydány 23. března; každá obsahuje mnoho důležitých oprav.
21. března vyšlo 2.6.33.8; toto jádro původně již nemělo být dále udržováno, ale Greg Kroah-Hartman jeho aktualizace obnovil, protože sada patchů realtime preempce se na tomto vydání zasekla.
-- Alan Cox
-- Steven Rostedt vysvětluje, jak fungují stabilní jádra
-- Russel King
-- Julia Lawall
napsal Jonathan Corbet, 23. března 2011
Vývojáři jádra si oprávněně můžou stěžovat na to, že mají zmatek v tom, které funkce mají být používány k převodu řetězců na číselné typy. Staré funkce jako simple_strtoul() budou tiše ignorovat bordel na konci řetězce, takže „100xx“ se úspěšně převede na bezeznaménkové celé číslo. Bylo doporučováno používat alternativy jako strict_strtoul(), ale ty mají také problémy, mezi něž patří chybějící kontroly na přetečení. Co má tedy hacker jádra dělat?
Od 2.6.39 je tu nová sada funkcí pro konverzi řetězců na čísla, která má být preferována před všemi ostatními.
Bezeznaménkové konverze se lze provést pomocí kstrtoull(), kstrtoul(), kstrtouint(), kstrtou64(), kstrtou32(), kstrtou16() a kstrtou8().
Konverze znaménkových čísel pomocí kstrtoll(), kstrtol(), kstrtoint(), kstrtos64(), kstrtos32(), kstrtos16() a kstrtos8().
Všechny tyto funkce jsou označeny __must_check, od volajících se tedy očekává, že zkontrolují, že konverze proběhla úspěšně. Starší funkce byly označeny jako zastaralé a dříve či později budou odstraněny. Nové funkce kstrto*() jsou nyní Oficiálně nejlepším způsobem, jak převádět řetězce, takže vývojáři už nemusí tápat.
napsal Jonathan Corbet, 23. března 2011
V době psaní tohoto článku bylo od shrnutí z minulého týdne do hlavní řady začleněno nějakých 5 500 neslučovacích sad změn. Do jádra přibyla široká škála nových vlastností, pročištění a výkonnostních zlepšení. Některé z těch významnějších jsou:
Mechanismus ipset. Tento mechanismus umožňuje vytvářet skupiny IP adres, portů a MAC adres tak, aby je bylo možné rychle kontrolovat pomocí pravidel iptables.
Velikost počátečního congestion window v kódu TCP se zvýšila; tato změna by měla vést ke kratším dobám odezvy při načítání webových stránek a dalších serverových úlohách. Detaily vizte v tomto článku.
Nové systémové volání:
int syncfs(int fd);
Chová se jako sync() s tím rozdílem, že na trvalé úložiště se zapíše jenom souborový systém, na kterém je fd uloženo.
Základní kód USB získal podporu pro huby USB 3.0
Základní kód přechodné paměti byl začleněn do stromu staging. Společně s tím přišla „zcache“, cachovací mechanismus komprimující data do paměti.
V síťové vrstvě je nová metoda řazení do fronty [queueing discipline] „vícefrontový plánovač s prioritami“ [multi-queue priority scheduler]; umožňuje předat práci související s kvalitou služby [quality-of-service] hardwaru.
Součástí kódu síťování jsou nyní plánovač toku CHOKe a plánovač Stochastic Fair Blue.
Nyní jsou podporována rozšířená čísla IPSEC sekvence RFC 4303
Byla začleněna podpora pro 32 bitovou RISC architekturu UniCore.
Mezi změny viditelné pro jaderné vývojáře patří:
Po mnoha letech práce mnoha vývojářů byl odstraněn velký jaderný zámek [big kernel lock]
Mechanismus dynamického ladění má nové příznaky, které umožňují nastavit, jestli se vypíší jméno funkce, číslo řádky, jméno modulu a ID současného vlákna.
Jádro nyní může přes sysfs exportovat čistá data DMI tabulek, takže jsou k dispozici uživatelskému prostoru bez prohrabávání se /dev/mem.
Síťové ovladače nyní mohou povolit hardwarovou podporu pro směrování přijímaného toku metodou ndo_rx_flow_steer().
Souborový systém „pstore“ poskytuje přístup k trvalému úložišti specifickému pro platformu, takže ho je možné použít k uchovávání informací mezi rebooty.
Makefile proměnné EXTRA_CFLAGS a EXTRA_AFLAGS byly nahrazeny proměnnými ccflags-y, ccflags-m, asflags-y a asflags-m.
Funkce kmem_cache_name(), která vracela jméno slab cache, byla z jádra odstraněna
Paměťový alokátor SLUB nyní má bezzámkovou rychlou cestu pro alokace, což významně zvyšuje výkonnost. Bohužel to nic neudělá s pomalou cestou, kde jsou hlavní problémy s výkonností slubu, ale výkonnost v nejlepším případě významně roste.
Jaderná vlákna lze vytvořit na specifickém NUMA uzlu pomocí nové funkce kthread_create_on_node().
Nová funkce delete_from_page_cache() dělá to, co naznačuje její jméno; narozdíl od remove_from_page_cache() (která teď byla odstraněna) také dekrementuje počet odkazů na stránku. Blížeji tedy zrcadlí add_to_page_cache().
Nový framework „hwspinlock“ umožňuje implementaci synchronizačních primitiv na systémech, kde na různých jádrech běží různé operační systémy. Více informací vizte v Documentation/hwspinlock.txt.
Pokud vydrží obvykle pravidlo o dvou týdnech, začleňovací okno 2.6.39 by se mělo uzavřít 28. března. Za týden zde najdete shrnutí závěrečných změn začleněných v tomto vývojovém cyklu.
napsal Jake Edge, 23. března 2011
Když linuxový systém spadne, lze různými způsoby zjistit, co se pokazilo, ale tyto způsoby obvykle závisí na zápisu dat do logů na disku. U některých systémů disk v takové situaci nemusí být k dispozici nebo mu nelze věřit, takže by bylo užitečné mít místo specifické pro platformu, kam by se dala našťouchat data užitečná pro příští boot. To přesně zajišťuje souborový systém pstore začleněný do 2.6.39.
Nápad vytvořit pstore vzešel z rozhovoru Tonyho Lucka a Thomase Gleixnera na loňské Linux Plumbers Conference. Tony chtěl použít serializovanou tabulku záznamů ACPI chyb [error record serialization table, ERST] a ukládat do ní informace o pádu. ERST je mechanismus popsaný ve specifikaci ACPI [PDF] (sekce 17.4, stránka 519), umožňuje ukládat a získávat informace o hardwarových chybách z trvalého úložiště (jako je flash disk.)
Místo toho, aby vytvářel něco specifického pro architekturu x86, se nakonec rozhodl vytvořit obecnější framework, který by mohly použít i ostatní platformy, ať už mají k dispozici jakékoliv trvalé úložiště. Tony jej popsal jako obecnou vrstvu pro trvalé úložiště, které bude schopné předat desítky nebo stovky kilobytů dat posledních slov jádra svému nástupci.
Od prvního zaslání ke komentářům v listopadu kód prošel několika iteracemi. Po doporučení Alana Coxe se pstore změnil z ovladače firmware se sysfs rozhraním na přímočařejší implementaci založenou na souborovém systému.
Základem je, že platforma si může zaregistrovat dostupnost trvalého úložiště a jeho umístění voláním pstore_register(), kam se předá ukazatel na struct pstore_info, která vypadá takto:
struct pstore_info {
struct module *owner;
char *name;
struct mutex buf_mutex; /* serialize access to 'buf' */
char *buf;
size_t bufsize;
size_t (*read)(u64 *id, enum pstore_type_id *type,
struct timespec *time);
u64 (*write)(enum pstore_type_id type, size_t size);
int (*erase)(u64 id);
};
Ovladač pro platformu musí poskytnout tři I/O rutiny a buffer. Také je přítomen mutex, který má chránit před simultánním přístupem k bufferu. S tím pstore implementuje souborový systém, ke kterému lze přistupovat z jádra nebo i z uživatelského prostoru, když bude připojen. ERST úložiště je založené na záznamech a Tony předpokládá, že úložiště pro ostatní platformy budou také, takže I/O rozhraní je také založené na záznamech.
Společně s frameworkem pstore byl ovladač ERST změněn tak, aby pstore využíval; i tato změna byla začleněna, takže pstore má uživatele v jádře. Buffer pstore_info je alokován a spravován v drivers/acpi/apei/erst.c a je větší než bufsize kvůli hlavičkám záznamů a sekcí, které potřebuje ERST. Uživatelé I/O rozhraní vyplní buffer před voláním pstore_info.write() a po pstore_info.read() si z něj přečtou data.
Každá položka se ukládá s typem, kterým je PSTORE_TYPE_DMESG pro zprávy logu (pravděpodobně výstup oops), PSTORE_TYPE_MCE pro chyby hardwaru a PSTORE_TYPE_UNKNOWN pro ostatní nedefinované typy. Když se ukládá, je ke každé položce přiřazeno ID záznamu, které je také návratovou hodnotou pstore_info.write(). Toto ID lze použít v operacích read() a erase(), ale také se objevuje ve jménech souborů v souborovém systému.
Souborový systém lze připojit takto:
# mount -t pstore - /dev/pstore
Jména souborů, která se v něm zobrazí, jsou odvozena z typu, jména ovladače úložiště a id, takže první záznam dmesg bude v ERST /dev/pstore/dmesg-erst-1. Typickým způsobem použití bude připojení souborového systému při bootu, pak se nějaký proces v uživatelském prostoru podívá, jestli tam nejsou nějaké soubory, zkopíruje je na trvalejší úložiště a smaže je pomocí rm. To umožní ovladači úložiště znovu využít místo a zapsat tam další informace o pádech a chybách.
Ve výchozím nastavení si pstore zaregistruje obsluhu výpisu v kmsg_dump a zapíše do zařízení pstore posledních 10 kB dat z jaderného logu, když dojde k oops nebo panice. Množství dat, která se mají ukládat, lze nastavit parametrem kmsg_bytes při bootu.
Tony také sestavil RFC patch zakazující vypisování informací do pstore pro některé z důvodů kmsg_dump (například KMSG_DUMP_HALT či KMSG_DUMP_RESTART), ale různí další vývojáři si nebyli tak jisti, jestli je to dobrý nápad. Seiji Aguchi upozornil na dva případy (1, 2), kde v takových případech potřeboval někam uložit poslední zprávy v jaderném logu. A Artem Bityutskiy navíc upozornil na to, že když bude pstore rozhodovat, které důvody pro kmsg_dump ukládat a které ne, smrdí to politikou v jádře. Rozhodně je možné přidat další volby, které budou chování nastavovat, ale Tony chce podle všeho chvíli počkat, než bude něco měnit.
Pro jaderné zprávy jsou další metody, jak je dostat na trvalé úložiště, mezi hlavními můžeme zmínit devices/mtd/mtdoops.c a devices/char/ramoops.c. Ty se ale zaměřují na embedded zařízení, kde převažují NVRAM paměti, a na platformy, kde lze rezervovat část RAM, která se při přebootu nevynuluje. Pstore je flexibilnější a může ukládat více než jenom jaderné logy, zatímco obě *oops zařízení jsou zadrátována tak, že mohou ukládat pouze výstup kmsg_dump.
Když bylo pstore začleněno, začnou ho pravděpodobně používat i další architektury. David Miller již řekl, že ho použije pro sparc64, kde lze nastavit, aby část paměti zůstala zachována mezi rebooty. Dá se předpokládat, že další architektury, které mají hardwarovou podporu pro podobné mechanismy, budou následovat.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Je tam maly preklep na konci sekcie "Konverze řetězců na čísla" :
... Straší funkce byly označeny jako zastaralé a dříve či později budou odstraněny. ...
Ale inak som velice vdacny za kazdy preklad. ;)
Pekne vystihnute. :D