Linus Torvalds kërkoi nga administratori i kernel.org që të bllokonte menjëherë llogarinë e Kësë Kukës, ish-administratorit kryesor të kernel.org dhe liderit të Ubuntu Security Team, i cili mbështet në bërthamë 14 nën-sisteme të lidhura me sigurinë. Konstantin Ryabtsev, përgjegjës për infrastrukturën e kernel.org, kreu bllokimin. Arsyetimi për bllokimin ishte një pull-request për përfshirjen në degën e bërthamës 6.16 të ndryshimeve, e cila referohej në një git-repozit të cilin informatat mbi autorësinë e disa komiteteve ishin ndryshuar.
Repozitori Git që Kë mundësonte kishte ndryshime të rreme, në fushat e autorit dhe komituesit ku ishte e shkruar "Linus Torvalds", por Linusi nuk i kishte shtuar ato. Për shembull, nën emrin e Linusit në degën e Kësë kishte një komit që përsëriste një komit tjetër në degën e Linusit, por me një hash të ndryshëm SHA1. Të dy komitet kishin pamje të njëjta, përveç informacionit për nënshkrimin.
Ndryshimet nuk duken si një gabim rastësor gjatë ekzekutimit të operacionit "git rebase", pasi përmbanin informacion të gabuar mbi autorin e komitit. Linus Torvalds e konsideroi këtë si shenja të një aktiviteti potencialisht të dëmshëm dhe iniciati bllokimin e pranimit të çdo ndryshimi nga Kësë, deri në sqarimin e shkaqeve të tilla të manipulimit dhe konfirmimin që sistemi i Kësë nuk ishte komprometuar.
KĂ«su u pĂ«rgjigj se nuk e kupton se si kishte ndodhur kjo. Para kĂ«saj, ai kishte hasur probleme gjatĂ« pĂ«rpjekjes pĂ«r tĂ« bashkuar disa nga degĂ«t e tij git, pas sĂ« cilĂ«s pĂ«rpiqej tâi zgjidhte ato me operacionin "git rebase", por duket se kjo nuk ndihmoi. E gjithĂ« kjo po ndodhte nĂ« njĂ« kontekst tĂ« dĂ«shtimit tĂ« SSD-sĂ«, qĂ« paraqiste gabime gjatĂ« kopjimit. KĂ«su besonte se, pas dĂ«shtimit, ai kishte arritur tĂ« rikthente gjendjen e repozitoreve tĂ« tij, por duket se kjo nuk ka ndodhur. PĂ«r tĂ« rikthyer integritetin, KĂ«su kishte ndĂ«rmend tĂ« rizgjidhte degĂ«t e tij nga patches tĂ« veçanta. Arsyetimi mĂ« i mundshĂ«m pĂ«r ndĂ«rrimin e autorĂ«sisĂ«, sipas KĂ«sĂ« Ă«shtĂ« njĂ« pĂ«rpjekje e dĂ«shtuar pĂ«r tĂ« rikthyer repozitorin pas dĂ«mtimit tĂ« tij.
Linusi nuk ishte i kënaqur me një shpjegim të tillë, pasi sipas tij ndryshimet në historinë e komiteteve në repozitorin e Kësë duken shumë si veprime të qëllimshme, dhe jo si një dështim të rastësishëm. Riberi në historinë e ndryshimeve përmes operacionit "git rebase" mund të shpjegonte riparimin e komituesit, por Linusi nuk mund të kuptonte se si një operacion i tillë "git rebase" mund të kishte ndodhur për gabim.
Riparimi i një ose dy komiteteve mund të ishte akoma i justifikuar si një gabim, por në repozitorin e Kësë kishin kaluar më shumë se gjashtë mijë komitete bashkimi, prej të cilave në 330 autori ishte Cituar Linus, kur këto komitete nuk ishin marrë nga shija git e Linusit. Ndryshimet e kryera janë më shumë si puna e një skripti, sesa rezultat i dëmtimit të informacionit në ndihmës, pasi ato kërkonin rikonstruktimin e veçantë të secilit komit.
Kësë e siguroi Linusin se nuk e kishte bërë këtë me qëllim dhe se nuk kishte për t'i bërë eksperimente të tilla pa njoftim (për shembull, eksperimentin e kaluar për të thirrur kolizionet e komiteteve e kishte marrë miratimin nga Linusi). Këtë javë ai kishte kryer disa operacione manuale në repozitor dhe tani do të përpiqet të kuptojë se çfarë kishte shkuar keq dhe të riprodhonte problemin. Për shembull, Kësë kishte kryer operacionin rebase për degët git for-next/hardening dhe for-linus/hardening, duke përdorur ndryshe nga transformimet e kaluara degën "master", në vend të rc2. Gjatë këtij operacioni ai kishte bërë ndryshime në skriptet për kontrollin e pull-request-ve.
Shtesë: Kësë Kuk publikoi një tjetër mesazh, në të cilin tha se problemi më i mundshëm kishte lindur nga përdorimi i utilitetit "git-filter-repo", i cili realizon riparimin e historisë së komiteteve në repozitor, në kombinim me komandën "b4 trailers". e cila është e destinuar për të marrë dhe aplikuar trailerat në komitete (për shembull, "Signed-off-by:").
Burimi: opennet.ru
