{"id":102190,"date":"2021-11-02T21:36:39","date_gmt":"2021-11-02T19:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-15"},"modified":"2021-11-02T21:36:39","modified_gmt":"2021-11-02T19:36:39","slug":"reliz-yadra-linux-5-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-15","title":{"rendered":"Wydanie j\u0105dra Linux 5.15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dw\u00f3ch miesi\u0105cach prac Linus Torvalds zaprezentowa\u0142 wersj\u0119 j\u0105dra Linux 5.15. Do najbardziej zauwa\u017calnych zmian nale\u017cy nowy sterownik NTFS z obs\u0142ug\u0105 zapisu, modu\u0142 ksmbd z implementacj\u0105 serwera SMB, podsystem DAMON do monitorowania dost\u0119pu do pami\u0119ci, prymitywy blokad dla trybu rzeczywistego, wsparcie dla fs-verity w Btrfs oraz wywo\u0142anie systemowe process_mrelease dla system\u00f3w reaguj\u0105cych na niedob\u00f3r pami\u0119ci, a tak\u017ce modu\u0142 zdalnej atestacji dm-ima.        <\/p>\n<p>Nowa wersja zawiera 13499 poprawek od 1888 deweloper\u00f3w, a rozmiar \u0142atki to 42 MB (zmiany dotyczy\u0142y 10895 plik\u00f3w, dodano 632522 linie kodu, usuni\u0119to 299966 linii). Oko\u0142o 45% wszystkich zmian w 5.15 jest zwi\u0105zanych ze sterownikami urz\u0105dze\u0144, oko\u0142o 14% zmian dotyczy aktualizacji kodu specyficznego dla architektur sprz\u0119towych, 14% jest zwi\u0105zanych z stosem sieciowym, 6% z systemami plik\u00f3w, a 3% z wewn\u0119trznymi podsystemami j\u0105dra.      <\/p>\n<p>G\u0142\u00f3wne nowo\u015bci:  <\/p>\n<ul>\n<li class=\"l\"> <b>Podsystem dyskowy, wej\u015bcie\/wyj\u015bcie i systemy plik\u00f3w<\/b>\n<ul>\n<li class=\"l\"> Do j\u0105dra przyj\u0119to now\u0105 implementacj\u0119 systemu plik\u00f3w NTFS, otwart\u0105 przez firm\u0119 Paragon Software. Nowy sterownik mo\u017ce dzia\u0142a\u0107 w trybie zapisu i obs\u0142uguje wszystkie funkcje aktualnej wersji NTFS 3.1, w tym rozszerzone atrybuty plik\u00f3w, listy dost\u0119pu (ACL), tryb kompresji danych, efektywne zarz\u0105dzanie lukami w plikach (sparse) oraz odtwarzanie zmian z dziennika w celu przywr\u00f3cenia integralno\u015bci po awariach.\n<li class=\"l\"> W systemie plik\u00f3w Btrfs zaimplementowano wsparcie dla mechanizmu fs-verity, stosowanego do przejrzystego kontrolowania integralno\u015bci i autentyczno\u015bci poszczeg\u00f3lnych plik\u00f3w na podstawie kryptograficznych sum kontrolnych lub kluczy zwi\u0105zanych z plikami, przechowywanych w obszarze metadanych. Wcze\u015bniej fs-verity by\u0142 dost\u0119pny tylko dla system\u00f3w plik\u00f3w Ext4 i F2fs.\n<p>W Btrfs dodano r\u00f3wnie\u017c wsparcie dla mapowania identyfikator\u00f3w u\u017cytkownik\u00f3w dla zamontowanych system\u00f3w plik\u00f3w (wcze\u015bniej wsparcie dotyczy\u0142o system\u00f3w FAT, ext4 i XFS). Opisana mo\u017cliwo\u015b\u0107 pozwala na powi\u0105zanie plik\u00f3w okre\u015blonego u\u017cytkownika w zamontowanej obcej partycji z innym u\u017cytkownikiem w bie\u017c\u0105cym systemie.   <\/p>\n<p>W\u015br\u00f3d innych zmian w Btrfs: przyspieszenie dodawania kluczy do indeksu katalogu w celu zwi\u0119kszenia wydajno\u015bci tworzenia plik\u00f3w; mo\u017cliwo\u015b\u0107 pracy raid0 z jednym urz\u0105dzeniem, a raid10 z dwoma (na przyk\u0142ad w trakcie rekonfiguracji macierzy); opcja [rescue=ibadroots] do ignorowania nieprawid\u0142owego drzewa extents; przyspieszenie operacji [send]; zmniejszenie konflikt\u00f3w blokad podczas operacji zmiany nazw; mo\u017cliwo\u015b\u0107 u\u017cywania sektor\u00f3w 4K na systemach z rozmiarem strony pami\u0119ci 64K.        <\/p>\n<li class=\"l\"> W XFS ustabilizowano mo\u017cliwo\u015b\u0107 u\u017cywania w systemie plik\u00f3w dat po 2038 roku. Wprowadzono mechanizm op\u00f3\u017anionej deaktywacji inode oraz wsparcie dla op\u00f3\u017anionego ustawiania i usuwania atrybut\u00f3w plik\u00f3w. W celu wyeliminowania problem\u00f3w usuni\u0119to mo\u017cliwo\u015b\u0107 wy\u0142\u0105czania kwot dyskowych dla ju\u017c zamontowanych partycji (mo\u017cliwe jest przymusowe wy\u0142\u0105czenie kwot, ale zwi\u0105zane z nimi obliczenia b\u0119d\u0105 kontynuowane, dlatego dla pe\u0142nego wy\u0142\u0105czenia wymagane jest ponowne zamontowanie).\n<li class=\"l\"> W EXT4 przeprowadzono prace nad zwi\u0119kszeniem wydajno\u015bci zapisu bufor\u00f3w delalloc oraz przetwarzania osieroconych plik\u00f3w (orphan), kt\u00f3re nadal istniej\u0105, poniewa\u017c s\u0105 otwarte, ale nie maj\u0105 powi\u0105zania z katalogiem. Przetwarzanie operacji discard przeniesiono z w\u0105tku jbd2 kthread, aby wyeliminowa\u0107 blokady operacji z metadanymi.\n<li class=\"l\"> W F2FS dodano opcj\u0119 [discard_unit=block|segment|section] do powi\u0105zania operacji discard (oznaczanie zwolnionych blok\u00f3w, kt\u00f3re ju\u017c nie musz\u0105 by\u0107 przechowywane fizycznie) z wyr\u00f3wnaniem do bloku, sektora, segmentu lub sekcji. Dodano wsparcie dla \u015bledzenia zmian op\u00f3\u017anie\u0144 przy wej\u015bciu\/wyj\u015bciu.\n<li class=\"l\"> W systemie plik\u00f3w EROFS (Extendable Read-Only File System) dodano wsparcie dla bezpo\u015bredniego wej\u015bcia\/wyj\u015bcia dla plik\u00f3w przechowywanych bez kompresji, a tak\u017ce wsparcie dla fiemap.\n<li class=\"l\"> W OverlayFS wdro\u017cono poprawne przetwarzanie flag montowania [immutable], [append-only], [sync] i [noatime].\n<li class=\"l\"> W NFS poprawiono przetwarzanie sytuacji, gdy serwer NFS przesta\u0142 odpowiada\u0107 na zapytania. Dodano mo\u017cliwo\u015b\u0107 montowania z ju\u017c u\u017cywanego <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/dts-los-angeles\/\"   title=\"serwera\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3763\">serwera<\/a>, ale dost\u0119pnego przez inny adres sieciowy.\n<li class=\"l\"> Rozpocz\u0119to przygotowania do przepisania podsystemu FSCACHE.\n<li class=\"l\"> Dodano wsparcie dla partycji EFI z niestandardowym rozmieszczeniem tabel GPT.\n<li class=\"l\"> W mechanizmie fanotify wprowadzono nowy flaga FAN_REPORT_PIDFD, kt\u00f3ry prowadzi do wskazania pidfd w\u015br\u00f3d zwracanych metadanych. Pidfd pomaga w obs\u0142udze sytuacji zwi\u0105zanych z wielokrotnym u\u017cywaniem PID, co pozwala na dok\u0142adniejsz\u0105 identyfikacj\u0119 proces\u00f3w, kt\u00f3re uzyskuj\u0105 dost\u0119p do \u015bledzonych plik\u00f3w (pidfd jest powi\u0105zany z konkretnym procesem i nie zmienia si\u0119, podczas gdy PID mo\u017ce by\u0107 przypisany do innego procesu po zako\u0144czeniu aktualnego procesu skojarzonego z tym PID).\n<li class=\"l\"> Do wywo\u0142ania systemowego move_mount() dodano mo\u017cliwo\u015b\u0107 dodawania punkt\u00f3w montowania do istniej\u0105cych wsp\u00f3lnych grup, co rozwi\u0105zuje problemy z zachowaniem i przywracaniem stanu proces\u00f3w w narz\u0119dziu CRIU w przypadku wielu przestrzeni montowania wsp\u00f3\u0142dzielonych w izolowanych kontenerach.\n<li class=\"l\"> Dodano ochron\u0119 przed ukrytymi stanami wy\u015bcigu, kt\u00f3re mog\u0105 prowadzi\u0107 do uszkodzenia plik\u00f3w podczas czytania z pami\u0119ci podr\u0119cznej w trakcie obs\u0142ugi pustek w pliku.\n<li class=\"l\"> Zaprzestano wspierania obowi\u0105zkowych blokad plik\u00f3w, realizowanych poprzez blokowanie wywo\u0142a\u0144 systemowych prowadz\u0105cych do zmiany pliku. Z powodu mo\u017cliwych stan\u00f3w wy\u015bcigu, te blokady zosta\u0142y uznane za niepewne i wiele lat temu og\u0142oszono je za przestarza\u0142e.\n<li class=\"l\"> Usuni\u0119to podsystem LightNVM, kt\u00f3ry umo\u017cliwia\u0142 uzyskanie bezpo\u015bredniego dost\u0119pu do dysku SSD, omijaj\u0105c warstw\u0119 emulacji. LightNVM straci\u0142 sens po pojawieniu si\u0119 standard\u00f3w NVMe, kt\u00f3re przewiduj\u0105 mo\u017cliwo\u015b\u0107 zoniowania (ZNS, Zoned Namespace).                      <\/ul>\n<li class=\"l\"> <b>Pami\u0119\u0107 i us\u0142ugi systemowe<\/b>\n<ul>\n<li class=\"l\"> Zrealizowano podsystem DAMON (Data Access MONitor), kt\u00f3ry umo\u017cliwia monitorowanie aktywno\u015bci zwi\u0105zanej z dost\u0119pem do danych w pami\u0119ci operacyjnej, w kontek\u015bcie wybranego procesu dzia\u0142aj\u0105cego w przestrzeni u\u017cytkownika. Podsystem ten pozwala na analiz\u0119, do jakich obszar\u00f3w pami\u0119ci proces mia\u0142 dost\u0119p przez ca\u0142y czas swojej pracy, a kt\u00f3re obszary pozosta\u0142y niewykorzystane. W\u015br\u00f3d cech DAMON wyr\u00f3\u017cnia si\u0119 niskie obci\u0105\u017cenie CPU, niewielkie zu\u017cycie pami\u0119ci, wysok\u0105 dok\u0142adno\u015b\u0107 oraz przewidywalne sta\u0142e koszty eksploatacyjne, niezale\u017cne od rozmiaru. Podsystem mo\u017ce by\u0107 wykorzystywany zar\u00f3wno przez j\u0105dro do optymalizacji zarz\u0105dzania pami\u0119ci\u0105, jak i przez narz\u0119dzia w przestrzeni u\u017cytkownika, aby zrozumie\u0107, co dok\u0142adnie robi proces i optymalizowa\u0107 wykorzystanie pami\u0119ci, na przyk\u0142ad poprzez zwalnianie zb\u0119dnej pami\u0119ci dla systemu.\n<li class=\"l\"> Zrealizowano wywo\u0142anie systemowe process_mrelease, kt\u00f3re pozwala przyspieszy\u0107 proces zwalniania pami\u0119ci przez proces ko\u0144cz\u0105cy swoje dzia\u0142anie. W normalnych warunkach zwalnianie zasob\u00f3w i zako\u0144czenie procesu nie odbywa si\u0119 natychmiastowo i z r\u00f3\u017cnych powod\u00f3w mo\u017ce by\u0107 op\u00f3\u017anione, co utrudnia dzia\u0142anie system\u00f3w reagowania na niedobory pami\u0119ci dzia\u0142aj\u0105cych w przestrzeni u\u017cytkownika, takich jak oomd (udost\u0119pniany w systemd) i lmkd (u\u017cywany w Androidzie). Dzi\u0119ki wywo\u0142aniu process_mrelease podobne systemy mog\u0105 bardziej przewidywalnie inicjowa\u0107 zwracanie pami\u0119ci od wymuszonych proces\u00f3w ko\u0144cz\u0105cych dzia\u0142anie.\n<li class=\"l\"> Z ga\u0142\u0119zi j\u0105dra PREEMPT_RT, w kt\u00f3rej rozwijana jest obs\u0142uga pracy w czasie rzeczywistym, przeniesione zosta\u0142y warianty prymityw\u00f3w do organizacji blokad mutex, ww_mutex, rw_semaphore, spinlock oraz rwlock, oparte na podsystemie RT-Mutex. W alokatorze SLUB slab dodano zmiany, kt\u00f3re poprawiaj\u0105 dzia\u0142anie w trybie PREEMPT_RT i zmniejszaj\u0105 wp\u0142yw na przerwania.\n<li class=\"l\"> W cgroup dodano wsparcie dla atrybutu planisty zada\u0144 SCHED_IDLE, co pozwala na oznaczenie tego atrybutem wszystkich proces\u00f3w grupy nale\u017c\u0105cych do okre\u015blonego cgroup. Oznacza to, \u017ce te procesy zostan\u0105 uruchomione tylko wtedy, gdy w systemie nie b\u0119dzie innych zada\u0144 oczekuj\u0105cych na wykonanie. W przeciwie\u0144stwie do ustalania atrybutu SCHED_IDLE dla ka\u017cdego procesu z osobna, przy przypisaniu SCHED_IDLE do cgroup przy wyborze zadania do wykonania uwzgl\u0119dniany jest wzgl\u0119dny ci\u0119\u017car zada\u0144 wewn\u0105trz grupy.\n<li class=\"l\"> Mechanizm monitorowania zu\u017cycia pami\u0119ci w cgroup zosta\u0142 rozszerzony o mo\u017cliwo\u015b\u0107 \u015bledzenia dodatkowych struktur danych j\u0105dra, w tym tych tworzonych dla pollingu, przetwarzania sygna\u0142\u00f3w i przestrzeni nazw.\n<li class=\"l\"> Dodano wsparcie dla asymetrycznego planowania przypisania zada\u0144 do rdzeni procesora w architekturach, w kt\u00f3rych niekt\u00f3re CPU mog\u0105 wykonywa\u0107 32-bitowe zadania, a inne dzia\u0142aj\u0105 tylko w trybie 64-bitowym (na przyk\u0142ad ARM). Nowy tryb pozwala przy planowaniu wykonywania 32-bitowych zada\u0144 uwzgl\u0119dnia\u0107 tylko CPU, kt\u00f3re wspieraj\u0105 32-bitowe zadania.\n<li class=\"l\"> W interfejsie asynchronicznego wej\u015bcia\/wyj\u015bcia io_uring pojawi\u0142o si\u0119 wsparcie dla otwierania plik\u00f3w bezpo\u015brednio w tabeli indeksowej fixed-file, bez u\u017cywania deskryptora plik\u00f3w, co znacz\u0105co przyspiesza niekt\u00f3re typy operacji, ale jest w sprzeczno\u015bci z tradycyjnym procesem Uniksa stosowania deskryptor\u00f3w plik\u00f3w do otwierania plik\u00f3w.\n<p>W io_uring dla podsystemu BIO (Block I\/O Layer) wdro\u017cono nowy mechanizm recyklingu (\"BIO recycling\"), kt\u00f3ry pozwala zredukowa\u0107 koszty zarz\u0105dzania wewn\u0119trzn\u0105 pami\u0119ci\u0105 i zwi\u0119kszy\u0107 liczba operacji wej\u015bcia\/wyj\u015bcia przetwarzanych na sekund\u0119 o oko\u0142o 10%. W io_uring dodano r\u00f3wnie\u017c wsparcie dla wywo\u0142a\u0144 systemowych mkdirat(), symlinkat() i linkat().    <\/p>\n<li class=\"l\"> Dla program\u00f3w BPF wprowadzono mo\u017cliwo\u015b\u0107 zapytania i przetwarzania zdarze\u0144 timera. Dodano iterator dla gniazd UNIX, a tak\u017ce mo\u017cliwo\u015b\u0107 uzyskiwania i ustawiania opcji gniazd dla setsockopt. W BTF dumperze dodano wsparcie dla typowanych danych.\n<li class=\"l\"> W systemach NUMA z r\u00f3\u017cnymi typami pami\u0119ci, r\u00f3\u017cni\u0105cymi si\u0119 wydajno\u015bci\u0105, w sytuacji wyczerpania wolnej przestrzeni zrealizowano przenoszenie wypieranych stron pami\u0119ci z pami\u0119ci dynamicznej (DRAM) do wolniejszej pami\u0119ci trwa\u0142ej (Persistent Memory) zamiast usuwania tych stron. Przeprowadzone testy wykaza\u0142y, \u017ce taka taktyka zazwyczaj poprawia wydajno\u015b\u0107 w takich systemach. Dla NUMA tak\u017ce wprowadzono mo\u017cliwo\u015b\u0107 rezerwacji stron pami\u0119ci dla procesu z wybranego zestawu w\u0119z\u0142\u00f3w NUMA.\n<li class=\"l\"> Dla architektury ARC wprowadzono wsparcie dla trzy- i czteropoziomowych tablic stron pami\u0119ci, co w przysz\u0142o\u015bci umo\u017cliwi wsparcie dla 64-bitowych procesor\u00f3w ARC.\n<li class=\"l\"> Dla architektury s390 wprowadzono mo\u017cliwo\u015b\u0107 wykorzystania mechanizmu KFENCE do wykrywania b\u0142\u0119d\u00f3w przy pracy z pami\u0119ci\u0105, a tak\u017ce dodano wsparcie dla detektora stan\u00f3w wy\u015bcigu KCSAN.\n<li class=\"l\"> Dodano wsparcie dla indeksowania listy komunikat\u00f3w wy\u015bwietlanych przez printk(), co pozwala na jednoczesne wyci\u0105gni\u0119cie wszystkich podobnych komunikat\u00f3w i \u015bledzenie zmian w przestrzeni u\u017cytkownika.\n<li class=\"l\"> W mmap() zaprzestano wsparcia dla opcji VM_DENYWRITE, a kod j\u0105dra pozbawiono u\u017cycia trybu MAP_DENYWRITE, co ograniczy\u0142o liczb\u0119 sytuacji prowadz\u0105cych do zablokowania zapisu do pliku z b\u0142\u0119dem ETXTBSY.\n<li class=\"l\"> Do podsystemu \u015bledzenia dodano nowy typ sprawdzania \u201eEvent probes\u201d, kt\u00f3re mo\u017cna przyczepia\u0107 do istniej\u0105cych zdarze\u0144 \u015bledzenia, okre\u015blaj\u0105c w\u0142asny format wyj\u015bcia.\n<li class=\"l\"> Podczas kompilacji j\u0105dra z wykorzystaniem kompilatora Clang domy\u015blnie uruchamiany jest teraz wbudowany assembler z projektu LLVM.\n<li class=\"l\"> W ramach projektu maj\u0105cego na celu pozbycie si\u0119 kodu j\u0105dra generuj\u0105cego ostrze\u017cenia kompilatora, przeprowadzono eksperyment z w\u0142\u0105czeniem domy\u015blnym trybu \u201e-Werror\u201d, w kt\u00f3rym ostrze\u017cenia kompilatora s\u0105 traktowane jako b\u0142\u0119dy. W trakcie przygotowywania wydania 5.15 Linus zacz\u0105\u0142 akceptowa\u0107 tylko zmiany, kt\u00f3re nie prowadz\u0105 do ostrze\u017ce\u0144 podczas kompilacji j\u0105dra i aktywowa\u0142 kompilacj\u0119 z \u201e-Werror\u201d, ale p\u00f3\u017aniej zgodzi\u0142 si\u0119 z opini\u0105 o przedwczesno\u015bci takiego rozwi\u0105zania i od\u0142o\u017cy\u0142 w\u0142\u0105czenie \u201e-Werror\u201d domy\u015blnie. Zarz\u0105dzanie w\u0142\u0105czaniem flagi \u201e-Werror\u201d podczas kompilacji odbywa si\u0119 za pomoc\u0105 parametru WERROR, kt\u00f3ry domy\u015blnie ustawia warto\u015b\u0107 COMPILE_TEST, tj. w\u0142\u0105czany jest tylko podczas kompilacji testowych.                    <\/ul>\n<li class=\"l\"> <b>Wirtualizacja i bezpiecze\u0144stwo<\/b>\n<ul>\n<li class=\"l\"> W Device Mapper (DM) dodano nowy handler dm-ima z realizacj\u0105 mechanizmu zdalnej atestacji na podstawie podsystemu IMA (Integrity Measurement Architecture), umo\u017cliwiaj\u0105cego zewn\u0119trznej us\u0142udze weryfikacj\u0119 stanu podsystem\u00f3w j\u0105dra, aby upewni\u0107 si\u0119 o ich autentyczno\u015bci. W praktyce dm-ima pozwala na tworzenie przy pomocy Device Mapper magazyn\u00f3w, zwi\u0105zanych z zewn\u0119trznymi systemami chmurowymi, w kt\u00f3rych przy pomocy IMA sprawdzana jest wiarygodno\u015b\u0107 uruchamianej konfiguracji DM target.\n<li class=\"l\"> W prctl() wprowadzono now\u0105 opcj\u0119 PR_SPEC_L1D_FLUSH, kt\u00f3ra po w\u0142\u0105czeniu powoduje, \u017ce j\u0105dro zaczyna resetowa\u0107 zawarto\u015b\u0107 pami\u0119ci podr\u0119cznej pierwszego poziomu (L1D) za ka\u017cdym razem przy prze\u0142\u0105czaniu kontekstu. Ten tryb pozwala na selektywne wprowadzenie dodatkowej ochrony dla najwa\u017cniejszych proces\u00f3w przed atakami kana\u0142ami bocznymi, kt\u00f3re maj\u0105 na celu okre\u015blenie danych, kt\u00f3re osiedli\u0142y si\u0119 w pami\u0119ci podr\u0119cznej w wyniku podatno\u015bci spowodowanych spekulacyjnym wykonywaniem instrukcji w CPU. Kosztem w\u0142\u0105czenia PR_SPEC_L1D_FLUSH (domy\u015blnie nieaktywowane) jest znaczne obni\u017cenie wydajno\u015bci.\n<li class=\"l\"> Zrealizowano mo\u017cliwo\u015b\u0107 kompilacji j\u0105dra z dodaniem w GCC flagi &#171;-fzero-call-used-regs=used-gpr&#187;, kt\u00f3ra zapewnia zerowanie wszystkich rejestr\u00f3w przed zwr\u00f3ceniem kontroli z funkcji. Ta opcja pozwala ochroni\u0107 si\u0119 przed wyciekiem informacji z funkcji i o 20% zmniejsza liczb\u0119 blok\u00f3w, kt\u00f3re mog\u0105 by\u0107 wykorzystane do budowy gad\u017cet\u00f3w ROP (Return-Oriented Programming) w exploitach.\n<li class=\"l\"> Zrealizowano mo\u017cliwo\u015b\u0107 kompilacji j\u0105der dla architektury ARM64 w formie klient\u00f3w dla hipernadzoru Hyper-V.\n<li class=\"l\"> Proponowany jest nowy framework do tworzenia sterownik\u00f3w &#171;VDUSE&#187;, kt\u00f3ry pozwala na wdra\u017canie wirtualnych urz\u0105dze\u0144 blokowych w przestrzeni u\u017cytkownika i stosowanie Virtio jako transportu do dost\u0119pu z system\u00f3w go\u015bcinnych.\n<li class=\"l\"> Dodano sterownik Virtio dla magistrali I2C, kt\u00f3ry umo\u017cliwia emulacj\u0119 kontroler\u00f3w I2C w trybie parawirtualizacji z wykorzystaniem odr\u0119bnych backend\u00f3w.\n<li class=\"l\"> Dodano sterownik Virtio gpio-virtio, kt\u00f3ry pozwala systemom go\u015bcinnym uzyska\u0107 dost\u0119p do linii GPIO udost\u0119pnianych przez system gospodarza.\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 ograniczenia dost\u0119pu do stron pami\u0119ci dla sterownik\u00f3w urz\u0105dze\u0144 obs\u0142uguj\u0105cych DMA w systemach bez I\/O MMU (jednostka zarz\u0105dzania pami\u0119ci\u0105).\n<li class=\"l\"> W hipernadzorze KVM zrealizowano mo\u017cliwo\u015b\u0107 wyprowadzania statystyk w postaci histogram\u00f3w liniowych i logarytmicznych.          <\/ul>\n<li class=\"l\"> <b>Subsystem sieciowy<\/b>\n<ul>\n<li class=\"l\"> Do j\u0105dra dodano modu\u0142 ksmbd z realizacj\u0105 serwera plik\u00f3w, wykorzystuj\u0105cego protok\u00f3\u0142 SMB3. Modu\u0142 uzupe\u0142nia wcze\u015bniej dost\u0119pn\u0105 w j\u0105drze realizacj\u0119 klienta SMB i w odr\u00f3\u017cnieniu od serwera SMB, dzia\u0142aj\u0105cego w przestrzeni u\u017cytkownika, jest bardziej efektywny pod wzgl\u0119dem wydajno\u015bci, zu\u017cycia pami\u0119ci i integracji z rozbudowanymi mo\u017cliwo\u015bciami j\u0105dra. Ksmbd jest przedstawiane jako wysoko wydajne i gotowe do zastosowania w urz\u0105dzeniach wbudowanych rozszerzenie do Samby, w razie potrzeby integrowane z narz\u0119dziami i bibliotekami Samba. W\u015br\u00f3d mo\u017cliwo\u015bci ksmbd wyr\u00f3\u017cnia si\u0119 poprawiona obs\u0142uga technologii rozproszonego buforowania plik\u00f3w (SMB leases) w lokalnych systemach, co pozwala znacz\u0105co zmniejszy\u0107 ruch. W przysz\u0142o\u015bci planuje si\u0119 doda\u0107 wsparcie dla RDMA (&#171;smbdirect&#187;) oraz rozszerze\u0144 protoko\u0142u zwi\u0105zanych z popraw\u0105 niezawodno\u015bci szyfrowania i weryfikacj\u0105 z wykorzystaniem podpis\u00f3w cyfrowych.\n<li class=\"l\"> W kliencie CIFS zako\u0144czono wsparcie dla NTLM i mniej bezpiecznych algorytm\u00f3w uwierzytelniania opartych na algorytmie DES, wykorzystywanych w protokole SMB1.\n<li class=\"l\"> W realizacji most\u00f3w sieciowych dla vlan wdro\u017cono wsparcie dla multicast.\n<li class=\"l\"> W sterowniku bonding, stosowanym do agregacji interfejs\u00f3w sieciowych, dodano wsparcie dla podsystemu XDP (eXpress Data Path), umo\u017cliwiaj\u0105cego manipulowanie pakietami sieciowymi na etapie przed ich przetwarzaniem przez stos sieciowy j\u0105dra Linux.\n<li class=\"l\"> W bezprzewodowym stosie mac80211 wprowadzono obs\u0142ug\u0119 6GHZ STA (Special Temporary Authorization) w trybach LPI, SP i VLP, a tak\u017ce mo\u017cliwo\u015b\u0107 ustawienia oddzielnych TWT (Target Wake Time) w trybie punktu dost\u0119powego.\n<li class=\"l\"> Dodano wsparcie dla protoko\u0142u MCTP (Management Component Transport Protocol), stosowanego do interakcji pomi\u0119dzy kontrolerami zarz\u0105dzaj\u0105cymi a zwi\u0105zanymi z nimi urz\u0105dzeniami (procesory hosta, urz\u0105dzenia peryferyjne itp.).\n<li class=\"l\"> Kontynuowano integracj\u0119 w j\u0105drze MPTCP (MultiPath TCP), rozszerzenia protoko\u0142u TCP do organizowania pracy po\u0142\u0105czenia TCP z dostaw\u0105 pakiet\u00f3w jednocze\u015bnie przez kilka tras przez r\u00f3\u017cne interfejsy sieciowe, przypisane do r\u00f3\u017cnych adres\u00f3w IP. W nowym wydaniu dodano wsparcie dla adres\u00f3w w trybie fullmesh.\n<li class=\"l\"> W netfilter dodano obs\u0142ug\u0119 strumieni sieciowych, enkapsulowanych w protokole SRv6 (Segment Routing IPv6).\n<li class=\"l\"> Dodano wsparcie dla sockmap dla strumieniowych soket\u00f3w Unix.              <\/ul>\n<li class=\"l\"> <b>Sprz\u0119t<\/b>\n<ul>\n<li class=\"l\"> W sterowniku amdgpu zaimplementowano wsparcie dla APU Cyan Skillfish (wyposa\u017cone w GPU Navi 1x). Dla APU Yellow Carp wprowadzono wsparcie dla kodek\u00f3w wideo. Poprawiono wsparcie dla GPU Aldebaran. Dodano nowe identyfikatory kart opartych na GPU Navi 24 \u201eBeige Goby\u201d i RDNA2. Zaproponowano ulepszon\u0105 realizacj\u0119 wirtualnych ekran\u00f3w (VKMS). Wdro\u017cono wsparcie dla monitorowania temperatury chip\u00f3w AMD Zen 3.\n<li class=\"l\"> W sterowniku amdkfd (dla dyskretnych GPU, takich jak Polaris) wdro\u017cono mened\u017cera wsp\u00f3\u0142dzielonej pami\u0119ci wirtualnej (SVM, shared virtual memory) oparty na podsystemie HMM (Zarz\u0105dzanie pami\u0119ci\u0105 heterogeniczn\u0105), kt\u00f3ry umo\u017cliwia wykorzystanie urz\u0105dze\u0144 z w\u0142asnymi blokami zarz\u0105dzania pami\u0119ci\u0105 (MMU, jednostka zarz\u0105dzania pami\u0119ci\u0105), mog\u0105cymi uzyska\u0107 dost\u0119p do g\u0142\u00f3wnej pami\u0119ci. Dzi\u0119ki HMM mo\u017cna zorganizowa\u0107 wsp\u00f3ln\u0105 przestrze\u0144 adresow\u0105 mi\u0119dzy GPU a CPU, w kt\u00f3rej GPU mo\u017ce uzyska\u0107 dost\u0119p do g\u0142\u00f3wnej pami\u0119ci procesu.\n<li class=\"l\"> W sterowniku i915 dla kart graficznych Intel rozszerzono zastosowanie mened\u017cera zarz\u0105dzania pami\u0119ci\u0105 wideo TTM oraz w\u0142\u0105czono mo\u017cliwo\u015b\u0107 zarz\u0105dzania zu\u017cyciem energii na bazie GuC (Graphics micro Controller). Rozpocz\u0119to przygotowania do wprowadzenia wsparcia dla karty graficznej Intel ARC Alchemist oraz GPU Intel Xe-HP.\n<li class=\"l\"> W sterowniku nouveau zaimplementowano zarz\u0105dzanie pod\u015bwietleniem paneli eDP przy u\u017cyciu DPCD (DisplayPort Configuration Data).\n<li class=\"l\"> W sterowniku msm dodano wsparcie dla GPU Adreno 7c Gen 3 oraz Adreno 680.\n<li class=\"l\"> Dla chipu Apple M1 wdro\u017cono sterownik IOMMU.\n<li class=\"l\"> Dodano sterownik d\u017awi\u0119ku dla system\u00f3w opartych na APU AMD Van Gogh.\n<li class=\"l\"> Do ga\u0142\u0119zi staging dodano sterownik Realtek R8188EU, kt\u00f3ry zast\u0105pi\u0142 stary wariant sterownika (rtl8188eu) dla bezprzewodowych chip\u00f3w Realtek RTL8188EU 802.11 b\/g\/n.\n<li class=\"l\"> Zaaprobowano sterownik ocp_pt dla rozwijanej przez firm\u0119 Meta (Facebook) p\u0142ytki PCIe z realizacj\u0105 miniaturowych atomowych zegar\u00f3w i odbiornika GNSS, kt\u00f3re mog\u0105 by\u0107 stosowane do organizacji pracy obszar\u00f3w <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\u00f3w\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1616\">serwer\u00f3w<\/a> synchronizacji precyzyjnego czasu.\n<li class=\"l\"> Dodano wsparcie dla smartfon\u00f3w Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini\/Codina\/Kyle.\n<li class=\"l\"> Dodano wsparcie dla ARM SoC oraz p\u0142yt NVIDIA Jetson TX2 NX Developer Kit, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, ualcomm Snapdragon SDM636\/SM8150, Renesas R-Car H3e-2G\/M3e-2G, Marvell CN913x, ASpeed AST2600 (serwerowe p\u0142yty Facebook Cloudripper, Elbert i Fuji), 4KOpen STiH418-b2264.\n<li class=\"l\"> Dodano wsparcie dla paneli LCD Gopher 2b, EDT ETM0350G0DH6\/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, ilitek ili9341, E Ink VB3300-KCA, Samsung ATNA33XC20, Samsung DB7430, WideChips WS2401.\n<li class=\"l\"> Dodano sterownik LiteETH z obs\u0142ug\u0105 kontroler\u00f3w Ethernet, u\u017cywanych w programowych SoC LiteX (dla FPGA).\n<li class=\"l\"> W sterowniku usb-audio dodano opcj\u0119 lowlatency do zarz\u0105dzania w\u0142\u0105czaniem trybu minimalnych op\u00f3\u017anie\u0144. Dodano r\u00f3wnie\u017c opcj\u0119 quirk_flags do przekazywania specyficznych dla urz\u0105dzenia ustawie\u0144.      <\/ul>\n<\/ul>\n<p>Jednocze\u015bnie latynoski Fundusz Wolnego Oprogramowania stworzy\u0142 wersj\u0119 ca\u0142kowicie wolnego j\u0105dra 5.15 \u2014 Linux-libre 5.15-gnu, oczyszczon\u0105 z element\u00f3w firmware i sterownik\u00f3w zawieraj\u0105cych sk\u0142adniki lub fragmenty kodu, kt\u00f3rych u\u017cycie jest ograniczone przez producenta. W nowym wydaniu wprowadzono komunikat w logu o zako\u0144czeniu czyszczenia. Usuni\u0119to problemy z tworzeniem pakiet\u00f3w z u\u017cyciem mkspec, poprawiono wsparcie dla pakiet\u00f3w snap. Usuni\u0119to niekt\u00f3re ostrze\u017cenia, kt\u00f3re pojawia\u0142y si\u0119 podczas przetwarzania pliku nag\u0142\u00f3wkowego firmware.h. Zezwolono na wy\u015bwietlanie niekt\u00f3rych rodzaj\u00f3w ostrze\u017ce\u0144 (\u201eformat-extra-args\u201d, komentarze, nieu\u017cywane funkcje i zmienne) podczas kompilacji w trybie \u201e-Werror\u201d. Dodano czyszczenie sterownika gehc-achc. Zaktualizowano kod czyszczenia blob\u00f3w w sterownikach i podsystemach adreno, btusb, btintel, brcmfmac, aarch64 qcom. Zaprzestano czyszczenia sterownik\u00f3w prism54 (usuni\u0119te) i rtl8188eu (zamienione na r8188eu).<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56079\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043d\u043e\u0432\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 NTFS \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u043c\u043e\u0434\u0443\u043b\u044c ksmbd \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 SMB-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 DAMON \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u0434\u043b\u044f \u0440\u0435\u0436\u0438\u043c\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 fs-verity \u0432 Btrfs, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 process_mrelease \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102190","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-15\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-15\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-02T19:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-02T19:36:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wydanie j\u0105dra Linux 5.15 | ProHoster","description":"Po dw\u00f3ch miesi\u0105cach prac Linus Torvalds zaprezentowa\u0142 wydanie j\u0105dra Linux 5.15.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.15.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-yadra-linux-5-15","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-02T19:36:39+00:00","article:modified_time":"2021-11-02T19:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102190","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-02 19:38:03","updated":"2026-02-22 15:30:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=102190"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102190\/revisions"}],"predecessor-version":[{"id":162291,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102190\/revisions\/162291"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=102190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=102190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=102190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}