Serbestberdana kernel Linux 5.7

Piştî du mehan pêşveçûnê, Linus Torvalds danasîn berdana kernel Linux 5.7. Di nav guhertinên herî berbiçav de: pêkanînek nû ya pergala pelê exFAT, modulek bareudp ji bo afirandina tunelên UDP, parastina li ser bingeha rastkirina nîşankerê ji bo ARM64, şiyana girêdana bernameyên BPF bi hilgirên LSM re, pêkanîna nû ya Curve25519, parçebûnek dedektora qefilandinê, hevahengiya BPF bi PREEMPT_RT re, rakirina sînorê mezinahiya rêza 80-karakterî ya di kodê de, girtina nîşaneyên germahiya CPU-yê di nexşerêya peywirê de, şiyana karanîna klone () ji bo hilanîna pêvajoyên di ckomek din de, parastina li dijî nivîsandinê ji bo bîra bikaranîna userfaultfd.

Guhertoya nû 15033 rastkirinên ji 1961 pêşdebiran vedihewîne,
Mezinahiya patchê - 39 MB (guhertin bandor li 11590 pelan kir, 570560 rêzikên kodê lê zêde kirin,
297401 rêz hatin rakirin). Nêzîkî 41% ji hemî di 5.7 de hatî pêşkêş kirin
Guhertin bi ajokarên cîhazê ve girêdayî ne, bi qasî 16% ji guhertinan hene
helwesta li hember nûvekirina koda taybetî ji bo mîmarên hardware, 13%
bi stûna torê ve girêdayî ye, 4% ji pergalên pelan re û 4% bi hundurê
bine sîstemên kernel.

sereke nûbûnên:

  • Disk Subsystem, I/O û Pergalên Pelê
    • Pêkanîna ajokera exFAT ya nû lê zêde kir, bingehnnaya li ser bingeha koda "sdfat" (2.x) ya heyî ya ku ji hêla Samsung ve ji bo têlefonên xwe yên Android-ê hatî pêşve xistin. Ajokara ku berê li kernelê hate zêdekirin li ser bingeha koda Samsung ya mîras (guhertoya 1.2.9) bû û di performansê de bi qasî 10% li pişt ajokarê nû bû. Ka em bînin bîra xwe ku piştî Microsoft-ê zêdekirina piştgiriya exFAT li kernelê mimkun bû weşandin taybetmendiyên gelemperî û patentên exFAT ji bo karanîna bêpere li Linux-ê peyda kirin.
    • Btrfs fermanek ioctl() ya nû pêk tîne - BTRFS_IOC_SNAP_DESTROY_V2, ku destûrê dide te ku hûn beşek bi nasnameya wê jêbirin. Piştgiriyek bêkêmasî ji bo klonkirina rêjeyên hundurîn tê peyda kirin. Hejmara xalên betalkirinê yên ji bo operasyonên ji nû ve dabeşkirinê hatine berfireh kirin, ku dema ku fermana 'betalkirina hevsengiyê' bi cih tîne bendewariyên dirêj kêm kiriye. Tesbîtkirina paşgirêdan bi dereceyan bileztir bûye (mînak, dema pêkanîna skrîpta testê ji saetekê daketiye çend hûrdeman). Kapasîteya girêdana pelê bi her inode darê ve zêde kir. Plana astengkirinê ya ku di dema nivîsandina dabeşan de tê bikar anîn û dema ku NOCOW derdixe ji nû ve hatî sêwirandin. Berbiçavkirina pêkanîna fsync ji bo rêzan çêtir kirin.
    • XFS ji bo dabeşên çalak kontrolkirina metadata û fsck çêtir kiriye. Pirtûkxaneyek ji bo ji nû ve avakirina strukturên btree hatîye pêşniyar kirin, ku di pêşerojê de dê were bikar anîn da ku xfs_repair ji nû ve bixebite û îmkana başbûnê bêyî rakirina dabeşkirinê bicîh bîne.
    • Piştgiriya ceribandî ya ji bo danîna dabeşek guheztinê di depoyên SMB3 de li CIFS hate zêdekirin. Pêvekirinên POSIX-ê ji bo xwendinê, ku di taybetmendiya SMB3.1.1 de hatî destnîşan kirin, bicîh kirin. Dema ku cache = moda hişk were çalak kirin û guhertoyên protokolê 64+ têne bikar anîn ji bo rûpelên 2.1KB performansa nivîsandinê çêtir kirin.
    • FS EXT4 ji bmap û iopoll ji bo karanîna iomap ve hatî veguheztin.
    • F2FS ji bo berhevkirina daneyan bi karanîna algorîtmaya zstd piştgirîya vebijarkî peyda dike. Bi xwerû, algorîtmaya LZ4 ji bo berhevkirinê tê bikar anîn. Ji bo fermana "chattr -c commit" piştgirî zêde kir. Nîşandana dema sazkirinê tê peyda kirin. ioctl F2FS_IOC_GET_COMPRESS_BLOCKS zêde kir da ku di derheqê hejmara blokên pêçandî de agahdarî bistînin. Bi statx ve derketina daneya berhevkirinê zêde kir.
    • Pergala pelan a Ceph şiyana pêkanîna herêmî ya operasyonên çêkirina pelan û jêbirinê (negirêdan) bêyî ku li benda bersivek ji serverê bimîne (di moda asynkron de dixebite) zêde kiriye. Guhertin, wek nimûne, dema ku karûbarê rsync dimeşîne dikare performansê bi girîngî baştir bike.
    • Kapasîteya karanîna virtiofs wekî pergala pelan a asta jorîn li OVERLAYFS hate zêdekirin.
    • Ji nû ve hatî nivîsandin Di VFS-ê de koda derbasbûna rê, koda parskirina girêdana sembolîk ji nû ve hatî xebitandin, û derbasbûna xala çiyê yekgirtî bû.
    • Di binepergala scsi de ji bikarhênerên bêdestûr re destûr dan pêkanîna fermanên ZBC.
    • Di dm_writecache de pêkanîn şiyana paqijkirina hêdî-hêdî cache-yê li ser bingeha pîvana max_age, ku heyama herî zêde ya blokê destnîşan dike.
    • Di dm_integrity zêde kirin piştgiriya operasyona "hilweşandinê".
    • Di null_blk de zêde kirin piştgirî ji bo veguheztina xeletiyê ji bo simulasyona têkçûnên di dema ceribandinê de.
    • Zêde kirin şiyana şandina agahdariya udev di derheqê guheztina mezinahiya cîhaza blokê de.
  • Subsystem Network
    • Netfilter tê de ye guhertin, bi girîngî bilezkirina pêvajoyên navnîşên mezin ên hevberdanê (setên nftables), ku hewce dike ku têkiliyek jêrtorê, portên torê, protokol û navnîşanên MAC kontrol bikin.
      Optimizations destnîşan kir di modula nft_set_pipapo (POLÎSÎYÊN PACKETÊN PILE) de, ku pirsgirêka lihevhatina naveroka pakêtê bi rêzikên rewşa zeviyê yên kêfî yên ku di qaîdeyên parzûnê de têne bikar anîn, çareser dike, wek rêzikên IP û porta torê (nft_set_rbtree û nft_set_hash lihevhatina navberê û refleksa rasterast a nirxan manîpule dikin. ). Guhertoya pipapo vectorized ku bi karanîna rêwerzên AVX256-ya 2-bit li ser pergalek bi pêvajoyek AMD Epyc 7402 ve hatî vektor kirin dema ku 420 hezar tomar di nav de kombînasyona port-protokolê par dike% 30 zêdebûnek performansê nîşan da. Zêdebûna dema berhevdana tevnek subnet û hejmarek portê dema parskirina 1000 tomaran ji bo IPv87% 4 û ji bo IPv128% 6 bû.

    • Zêde kirin Modula bareudp, ku destûrê dide te ku hûn protokolên cihêreng ên L3, wek MPLS, IP û NSH, di nav tunelek UDP-ê de vehewînin.
    • Yekbûna pêkhateyên MPTCP (MultiPath TCP), dirêjkirina protokola TCP-ê ji bo organîzekirina xebata pêwendiyek TCP-ê digel radestkirina pakêtan bi hevdemî li ser çend rêgezan bi navgînên torê yên cihêreng ên ku bi navnîşanên IP-yê yên cihêreng ve girêdayî ne, berdewam kiriye.
    • Zêde kirin piştgiriya ji bo mekanîzmayên lezkirina hardware ji bo encapsulkirina çarçoveyên Ethernet di 802.11 (Wi-Fi).
    • Dema ku amûrek ji navek navek torê berbi cîhek din ve diguhezîne, mafên gihîştinê û xwedan pelên têkildar di sysfs de têne sererast kirin.
    • Ji bo bikarhênerên ne-root şiyana karanîna ala SO_BINDTODEVICE zêde kir.
    • Beşa sêyem a paçeyan hate pejirandin, amûra ethtool ji ioctl () vediguhezîne navbeynkariya netlink. Navbera nû lê zêdekirina pêvekan hêsantir dike, birêvebirina xeletiyan baştir dike, dihêle ku gava rewş diguhezîne agahdarî bêne şandin, danûstendina di navbera kernel û cîhê bikarhêner de hêsan dike, û hejmara navnîşên binavkirî yên ku divê werin hevdem kirin kêm dike.
    • Kapasîteya karanîna bilezkerên hardware yên taybetî ji bo pêkanîna operasyonên şopandina girêdanê zêde kir.
    • Di netfilterê de zêde kirin çengek ji bo girêdana dabeşkerên pakêtên derketinê (derketin), ku çengela berê ya heyî ji bo pakêtên hatine (derketin) temam dike.
  • Virtualization û Ewlekariya
    • Pêkanîna hardware ya rastkirina nîşankerê zêde kir (Pointer Authentication), ku rêwerzên CPU-yê yên taybetî yên ARM64 bikar tîne da ku li dijî êrişan bi karanîna teknîkên bernamesaziya vegerê-oriented (ROP) biparêze, ku tê de êrîşkar hewl nade ku koda xwe di bîranînê de bi cîh bike, lê li ser perçeyên rêwerzên makîneyê yên ku berê di pirtûkxaneyên barkirî de hene, tevdigere, bi dawî dibe. bi talîmatek vegerê ya kontrolê. Ewlekarî bi karanîna îmzeyên dîjîtal ve tê da ku navnîşanên vegerê di asta kernel de rast bikin. Îmze di bitên jorîn ên nayên bikaranîn ên nîşanderê bixwe de tê hilanîn. Berevajî pêkanînên nermalavê, çêkirin û verastkirina îmzeyên dîjîtal bi karanîna rêwerzên taybetî yên CPU têne kirin.
    • Zêde kirin şiyana parastina herêmek bîranînê ji nivîsandinê bi karanîna banga pergalê userfaultfd(), ku ji bo birêvebirina xeletiyên rûpelê (gihîştina rûpelên bîranînê yên neveqetandî) di cîhê bikarhêner de hatî çêkirin. Fikir ev e ku meriv userfaultfd() bikar bîne hem ji bo tespîtkirina binpêkirinên gihîştina rûpelên ku wekî parastî-nivîsandinê hatine nîşankirin û hem jî ji bo gazîkirina rêvekerek ku dikare bersivê bide hewildanên nivîsandinê yên weha (mînak, ji bo hilanîna guhertinan di dema çêkirina dîmenên zindî yên pêvajoyên xebitandinê de, bi kar bîne, dewlet dema avêtina bîranînê li ser dîskê, bicihkirina bîranîna hevpar, şopandina guheztinên di bîranînê de bigire). Functionality berdêl bi karanîna mprotect () re digel hilgirê nîşana SIGSEGV, lê ew bi rengek zûtir zûtir dixebite.
    • SELinux parametra "checkreqprot" ji holê rakiriye, ku destûrê dide te ku hûn kontrolên parastina bîranînê neçalak bikin dema ku qaîdeyan hildiberînin (destûrê dide karanîna qadên bîranîna îcrakar, bêyî ku rêzikên ku di qaîdeyan de hatine destnîşan kirin). Symlinkên Kernfs têne destûr kirin ku çarçoweya pelrêça dêûbavê xwe mîras bigirin.
    • Par tê de module KRSI, ku destûrê dide te ku hûn bernameyên BPF bi her çîçekên LSM-ê yên di kernelê de ve girêbidin. Guhertin dihêle hûn modulên LSM (Modula Ewlekariya Linux) di forma bernameyên BPF de biafirînin da ku pirsgirêkên kontrolê û kontrola gihîştina mecbûrî çareser bikin.
    • Çîbecî bû Bi berhevkirina nirxên CRNG-ê li şûna gazîkirina rêwerzên RNG-ê bi ferdî, performansa /dev/random xweştir dike. Performansa çêtirîn ya getrandom û / dev/random li ser pergalên ARM64 ku rêwerzên RNG peyda dikin.
    • Bicîhkirina kelekek elîptîk Curve25519 veguherandin ji bo vebijarka ji pirtûkxaneyê HACL, ji bo ku dayîn delîlên matematîkî yên verastkirina pêbaweriya fermî.
    • Zêde kirin mekanîzmaya agahdarkirina li ser rûpelên bîranîna belaş. Bi karanîna vê mekanîzmayê, pergalên mêvan dikarin agahdariya li ser rûpelên ku êdî ji pergala mêvandar re nayên bikar anîn veguhezînin, û mêvandar dikare daneyên rûpelê paşde bigire.
    • Di vfio/pci de zêde kirin piştgiriya ji bo SR-IOV (Single-Root I/O Virtualization).
  • Xizmetên bîr û pergalê
    • Ji 80 heta 100 tîpan zêde bû sînordarkirina dirêjahiya rêzê ya herî zêde di nivîsên çavkanî de. Di heman demê de, pêşdebiran hîn jî tê pêşniyar kirin ku di nav rêzê de 80 tîpan bimînin, lê ev êdî ne sînorek dijwar e. Wekî din, derbaskirina sînorê mezinahiya rêzê dê naha bibe sedema hişyariya çêkirinê tenê heke patchê bi vebijarka '--trik' were xebitandin. Guhertin dê gengaz bike ku pêşdebiran bala xwe nedin manîpulasyon bi valahiyan re û dema ku kodê li hev dikin, bêtir azad hîs bikin, her weha dê asteng bike şikandina xetê zêde, xemgîn kirin têgihiştina kodê û lêgerîn.
    • Zêde kirin piştgirî ji bo moda bootê ya tevlihev EFI, ku destûrê dide te ku hûn kernelek 64-bit ji firmware-ya 32-bit ku li ser CPU-ya 64-bit tê xebitandin bêyî karanîna bootloaderek pispor bar bikin.
    • Enabled pergala ji bo tespîtkirin û rakirina qeflên perçebûyî ("kilît perçe"), ku dema ku di bîranînê de gihîştina daneya nelihevkirî çêdibe ji ber vê yekê ku dema ku rêwerzek atomî pêk tîne, dane du xetên cache CPU-yê derbas dikin. Astengkirinek weha encamek performansa girîng dide (1000 çerxên ji operasyonek atomî li ser daneya ku dikeve yek rêzek cache hêdîtir). Bi pîvana bootê ya "split_lock_detect" ve girêdayî, kernel dikare di firînê de qefleyên weha tespît bike û hişyariyan bide an jî îşaretek SIGBUS ji serîlêdanê re bişîne ku dibe sedema qefilandinê.
    • Plansazkarê peywirê şopandina senzorên germahiyê peyda dike (Zexta Termal) û di dema danîna karan de li gorî germbûna zêde tê pêkanîn. Bi karanîna statîstîkên peydakirî, parêzgerê germî dikare dema ku zêde germ dibe frekansa CPU-ya herî zêde rast bike, û nexşerê peywirê naha kêmbûna hêza hesabkirinê ji ber kêmbûna wusa di frekansê de digire ber çavan dema ku peywiran dimeşîne (berê, plansazker bersivê dide guhertinan bi frekansa bi derengî ve, ji bo demekî biryarên li ser bingeha texmînên bifroş ên di derheqê çavkaniyên berdest ên hesabkirinê de têne girtin).
    • Plansaziya peywirê tê de ye nîşaneyên neguherbar şopandina barkirinê, ku dihêle hûn barkirinê rast texmîn bikin, bêyî ku frekansa xebitandina CPU ya heyî. Guhertin dihêle hûn di bin şert û mercên guheztinên dînamîkî yên di voltaj û frekansa CPU de bi awayekî rasttir behremendiya karan pêşbîn bikin. Mînakî, peywirek ku 1/3 ji çavkaniyên CPU di 1000 MHz de vedixwe dê 2/3 ji çavkaniyan bixwe dema ku frekansa dakeve 500 MHz, ku berê texmînek derewîn çêkir ku ew bi tevahî kapasîteya xwe dixebite (ango peywir xuya bûn ji plansazker re mezintir tenê bi kêmkirina frekansê, ku bû sedema ku biryarên nerast di parêzgerê schedutil cpufreq de werin girtin).
    • Ajokara Intel P-state, ku ji bo hilbijartina modên performansê berpirsiyar e, ji bo karanîna hatî guhertin scheduleutil.
    • Karîna karanîna binepergala BPF-ê dema ku kernel di wextê rast de dimeşîne (PREEMPT_RT) hate bicîh kirin. Berê, dema ku PREEMPT_RT hate çalak kirin, pêdivî bû ku BPF were neçalak kirin.
    • Cûreyek nû ya bernameya BPF hate zêdekirin - BPF_MODIFY_RETURN, ku dikare bi fonksiyonek di kernelê de were girêdan û nirxa ku ji hêla vê fonksiyonê ve hatî vegerandin biguhezîne.
    • Zêde kirin fersend Bikaranîna banga pergala clone3 () ji bo afirandina pêvajoyek di cgroup de ku ji cgroupa dêûbav cûda ye, dihêle ku pêvajoya dêûbav ku sînoran bicîh bîne û piştî ku pêvajoyek an mijarek nû çêdike yekser hesabkirinê çalak bike. Mînakî, rêveberek karûbar dikare rasterast karûbarên nû veqetîne cgroupan ji hev veqetîne, û pêvajoyên nû, dema ku di cgroupên "qeşagirtî" de werin danîn, dê tavilê werin sekinandin.
    • li Kbuild zêde kirin piştgirî ji bo guhêrbara jîngehê "LLVM=1" ku dema çêkirina kernelê veguhezîne amûrê Clang/LLVM. Pêdiviyên ji bo guhertoya binutils hatine zêdekirin (2.23).
    • Beşek /sys/kernel/debug/kunit/ bi encamên testên kunit li debugf-an hat zêdekirin.
    • Parametreya bootê ya kernelê pm_debug_messages (analog bi /sys/power/pm_debug_messages) lê zêde kir, ku deranîna agahdariya debugkirinê di derheqê xebata pergala rêveberiya hêzê de çalak dike (di dema rakirina pirsgirêkên bi hibernasyon û moda standby de bikêr e).
    • Ji bo pêwendiya I/O ya asynchronous io_uring piştgirî zêde kirin splice () и hilbijartina tampon atomî.
    • Bi karanîna amûra perf profîla cgroup çêtir kir. Berê, perf tenê dikaribû peywiran di cgroupek taybetî de profîl bike û nikarîbû bizane ku nimûneya heyî ji kîjan cgropê ye. perf naha ji bo her nimûneyê agahdariya cgroup digire, dihêle hûn ji yek cgroup bêtir profîla xwe bikin û li gorî cûrbecûr bicîh bikin.
      cgroup di raporan de.

    • cgroupfs, pseudo-FS ji bo birêvebirina cgroupan, piştgirî ji bo taybetmendiyên dirêjkirî (xattrs) zêde kiriye, ku bi wan re, mînakî, hûn dikarin di cîhê bikarhêner de agahdariya zêde ji bo handleran bihêlin.
    • Di kontrolkerê bîra cgroup de zêde kirinû piştgirî ji bo parastina paşverû ya nirxa "memory.low", ku mîqdara hindiktirîn RAM-ê ku ji endamên komê re hatî peyda kirin bi rê ve dibe. Dema ku bi vebijarka "memory_recursiveprot" hiyerarşiyek cgroup were danîn, nirxa "memory.low" ya ku ji bo girêkên jêrîn hatî danîn dê bixweber li hemî girêkên zarokan were belavkirin.
    • Zêde kirin Çarçoveya Uacce (Çarçoveya Lezkerê ya Yekgirtî/Cihê Bikarhêner-destpêkirina-armancî) ji bo parvekirina navnîşanên virtual (SVA, Navnîşana Virtualê ya Parvekirî) di navbera CPU û cîhazên derdorê de, ku dihêle bilezkerên hardware bigihîjin strukturên daneyê di CPU-ya sereke de.
  • mîmarî Hardware
    • Ji bo mîmariya ARM, şiyana hilanîna bîranîna germ tê bicîh kirin.
    • Ji bo mîmariya RISC-V, piştgirî ji bo vegirtina germ û rakirina CPU-yan (CPU hotplug) hatiye zêdekirin. Ji bo RISC-V 32-bit, eBPF JIT tête bicîh kirin.
    • Kapasîteya karanîna pergalên ARM-ê yên 32-bit ji bo xebitandina hawîrdorên mêvanên KVM hate rakirin.
    • Ji bo mîmariya s390 pêkanîna NUMA ya "dummy" hate rakirin, ku ji bo bi destxistina çêtirkirinên performansê tu rewşên karanîna wê nehatin dîtin.
    • Ji bo ARM64, ji bo dirêjkirina AMU (Yekîneya Çavdêrên Çalakiyê), ku di ARMv8.4 de hatî destnîşankirin, piştgirî zêde kir û jimarkerên performansê peyda dike ku ji bo hesabkirina faktorên rastkirina pîvana frekansê di nexşerêya peywirê de têne bikar anîn.
  • Amûr
    • Zêde kirin piştgirî ji bo amûrên vDPA yên ku kanalek danûstendina daneyê bikar tînin ku bi taybetmendiyên virtio re tevdigere. Amûrên vDPA dikarin an alavên bi fizîkî ve girêdayî bin an jî amûrên virtual ên mîna nermalavê bin.
    • Di binpergala GPIO de xuya kirin fermanek nû ioctl () ji bo şopandina guhertinan, ku dihêle hûn pêvajoyê li ser guhertinên di rewşa her xeta GPIO de agahdar bikin. Wekî mînakek karanîna fermana nû pêşniyar kirin kargêriya gpio-watch.
    • Di ajokera i915 DRM de ji bo kartên vîdyoyê yên Intel tê de Piştgiriya xwerû ya ji bo çîpên Tigerlake ("Gen12") û piştgiriya destpêkê ya ji bo kontrolkirina ronahiya paşde ya OLED zêde kir. Piştgiriya çêtirîn ji bo çîpên Gola Ice, Gola Elkhart, Baytrail û Haswell.
    • Di ajokerê amdgpu de zêde kirin şiyana barkirina firmware di çîpê USBC de ji bo ASIC. Piştgiriya çêtirîn ji bo çîpên AMD Ryzen 4000 "Renoir". Naha piştgirî ji bo kontrolkirina panelên OLED heye. Nîşandana rewşa firmware di debugf-an de peyda kir.
    • Kapasîteya karanîna OpenGL 4 di pergalên mêvan de ji bo pergalên virtualîzasyona VMware li ajokera vmwgfx DRM hate zêdekirin (berê OpenGL 3.3 piştgirî bû).
    • Ji bo pergala dîmenderê ya platforma TI Keystone tiliyên ajokera DRM-ya nû zêde kirin.
    • Ji bo panelên LCD ajokarên lê zêde kirin: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech RK101F
    • Ji bo pergala rêveberiya hêzê zêde kirin piştgirî ji bo platforma Intel Jasper Lake (JSL)-based Atomê.
    • Piştgiriya ji bo laptop Pinebook Pro li ser bingeha Rockchip RK3399, tablet Pine64 PineTab û smartphone zêde kir pinephone li ser bingeha Allwinner A64.
    • Piştgiriya ji bo kodek û çîpên dengî yên nû zêde kir:
      Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc.

    • Ji bo panel û platformên ARM piştgirî zêde kir Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron "sl28", 11 vebijarkên panelê i.MX6 TechNexion Pico, sê vebijarkên nû Toradex Colibri, Samsung S7710 li ser bingeha Galaxy Xco -Ericsson u2, DH Electronics DHCOM SoM û PDK8500, Renesas M2ULCB, Hoperun HiHope, Linutronix Testbox v3, PocketBook Touch Lux 2.

Source: opennet.ru

Add a comment