Sehlopha se tsoang Univesithing ea Minnesota se senotse lintlha tse mabapi le liphetoho tse mpe tse rometsoeng.

Ka mor'a lengolo le bulehileng la ho kōpa tšoarelo, sehlopha sa bafuputsi ba Univesithi ea Minnesota, bao kamohelo ea bona ea liphetoho ho Linux kernel e neng e thibetsoe ke Greg Croah-Hartman, e ile ea senola lintlha tse qaqileng mabapi le li-patches tse rometsoeng ho baetsi ba kernel le ngollano le bahlokomeli. e amanang le lintlha tsena.

Hoa hlokomeleha hore lipache tsohle tse nang le bothata li ile tsa hanoa qalong ea bahlokomeli; ha ho le sekhechana se le seng se amohetsoeng. Taba ena e hlakisa hore na ke hobane'ng ha Greg Croah-Hartman a ile a sebetsa ka thata hakana, kaha ha ho hlake hore na bafuputsi ba ka be ba entse'ng haeba lipache li ne li lumeletsoe ke bahlokomeli. Ha ba hetla morao, ba ile ba bolela hore ba rerile ho tlaleha kokoanyana 'me ba ka be ba sa lumella likoti hore li ee Git, empa ha ho hlake hore na ba ka be ba entse eng le hore na ba ka be ba tsamaile hole hakae.

Kakaretso ka Phato 2020 ho tsoa ho liaterese tse sa tsejoeng [imeile e sirelelitsoe] и [imeile e sirelelitsoe] (lengolo le tsoang ho James Bond) ho ile ha romeloa lipache tse hlano: tse peli tse nepahetseng (1, 2) le tse tharo tse nang le liphoso tse patiloeng (1, 2, 3), ho theha maemo a bofokoli. Patch ka 'ngoe e ne e na le mela e 1-4 feela ea khoutu. Mohopolo o ka sehloohong oa li-patches tse fosahetseng e ne e le hore ho lokisa lets'oao la memori ho ka baka boemo bo habeli ba mahala. Beke hamorao, tlhahisoleseling e ile ea romeloa ho baetsi ba kernel ka tlhahiso ea ho buisana ka monyetla oa ho khothaletsa bofokoli ka lebaka la ho lokisa lintho tse nyane bakeng sa ho lutla ha memori, empa ha ho letho le ileng la boleloa ka liteko tse fetileng tsa ho romella li-patches tse mpe.

Patch ea pele e nang le bothata e ile ea lokisa ho lutla ha memori ka ho kenyelletsa mohala ho kfree() pele o khutlisa taolo haeba ho ka ba le phoso, empa e thehile maemo a ho fihlella sebaka sa memori kamora hore e lokolloe (sebelisa-kamora-mahala). Patch ena e ile ea hanoa ke mohlokomeli (Jiri Slaby), ea ileng a lemoha bothata 'me a bontša hore selemo se fetileng motho e mong o ne a se a lekile ho etsa tlhahiso ea phetoho e tšoanang' me e ile ea amoheloa qalong, empa ea lahloa ka mor'a ho khetholla maemo a ho ba kotsing. > p2 = p1[n] = kmalloc_array(64, sizeof(u16), GFP_KERNEL); > - haeba (!p2) khutla -ENOMEM; > + haeba (!p2) { > + kfree(p1); > + khutla -ENOMEM; > + }

Patch ea bobeli e ne e boetse e na le maemo bakeng sa bothata ba ho se sebelise kamora ho se sebetse. Patch e boletsoeng ha ea ka ea amoheloa ke mohlokomeli (Dan Carpenter), ea hanneng patch ka lebaka la bothata bo bong ka list_add_tail, empa ha aa ka a hlokomela hore "chdev" pointer e ka lokolloa mosebetsing oa put_device, o sebelisitsoeng ka tlase pitsong. dev_err(&chdev -> dev..). Leha ho le joalo, patch ha ea ka ea amoheloa, le hoja ka mabaka a sa amaneng le ho ba kotsing. haeba (ret <0) {+ put_device(&chdev->dev); dev_err(&chdev->dev, DRV_NAME ": kfifo_alloc hlolehile\n"); ret = -ENOMEM; goto err_fifo;

Patch ea boraro le eona ha ea ka ea amoheloa ke mohlokomeli (Miquel Raynal) ka lebaka la kokoanyana e 'ngoe e sa amaneng le ho ba kotsing (mohala o habeli ho beha pdev). haeba (!fensetere-> virt) { printk(KERN_ERR MOD_NAME ": ioremap(%08lx, %08lx) e hlolehile\n", fensetere->phys, fensetere-> boholo); + pci_dev_put(pdev); tsoa; } ... haeba (!mapa) {printk(KERN_ERR MOD_NAME ": kmalloc hlolehile"); + pci_dev_put(pdev); tsoa; } memset(mapa, 0, sizeof(*mapa)); ... haeba (mtd_device_register(map->mtd, NULL, 0)) {map_destroy(map->mtd); 'mapa-> mtd = NULL; + pci_dev_put(pdev); tsoa; }

Hoa thahasellisa hore li-patches tse 4 ho tse 5 li ne li nahanoa hore li na le mathata, empa bafuputsi ka bobona ba entse phoso 'me ka patch e le' ngoe e neng e le bothata, ho ea ka maikutlo a bona, ho ile ha etsoa tlhahiso e nepahetseng, ntle le maemo a lebeletsoeng bakeng sa tšebeliso ea mohopolo ka mor'a ho etsahala mahala. phoso = pci_request_mem_regions(pdev, nitrox_driver_name); haeba (phoso) {pci_disable_device(pdev); + dev_err(&pdev->dev, “E hlolehile ho kopa libaka tsa mem!\n"); kgutla phoso; }

Source: opennet.ru

Eketsa ka tlhaloso