เชฎเชฟเชจเซ‡เชธเซ‹เชŸเชพ เชฏเซเชจเชฟเชตเชฐเซเชธเชฟเชŸเซ€เชจเซ€ เชเช• เชŸเซ€เชฎเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชฆเซ‚เชทเชฟเชค เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชตเชฟเชถเซ‡ เชตเชฟเช—เชคเซ‹ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ€ เช›เซ‡.

เชฎเชพเชซเซ€เชจเชพ เช–เซเชฒเซเชฒเชพ เชชเชคเซเชฐ เชชเช›เซ€, เชฎเชฟเชจเซ‡เชธเซ‹เชŸเชพ เชฏเซเชจเชฟเชตเชฐเซเชธเชฟเชŸเซ€เชจเชพ เชธเช‚เชถเซ‹เชงเช•เซ‹เชจเชพ เชเช• เชœเซ‚เชฅเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชธเซเชตเซ€เช•เชพเชฐเซเชฏเชพ Linux เชœเซ‡เชฎเชพเช‚เชฅเซ€ เช—เซเชฐเซ‡เช— เช•เซเชฐเซ‹เชน-เชนเชพเชฐเซเชŸเชฎเซ‡เชจเซ‡ เชฌเซเชฒเซ‹เช• เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚, เชคเซ‡เชฎเชพเช‚ เช•เชฐเซเชจเชฒ เชกเซ‡เชตเชฒเชชเชฐเซเชธเชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชชเซ‡เชšเซ‹ เช…เชจเซ‡ เช† เชชเซ‡เชšเซ‹ เชธเช‚เชฌเช‚เชงเชฟเชค เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡เชจเชพ เชชเชคเซเชฐเชตเซเชฏเชตเชนเชพเชฐ เชตเชฟเชถเซ‡ เชตเชฟเช—เชคเชตเชพเชฐ เชฎเชพเชนเชฟเชคเซ€ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.

เชคเซ‡ เชจเซ‹เช‚เชงเชจเซ€เชฏ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฎ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชชเซ‡เชšเซ‹ เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐเซ‹เชจเซ€ เชชเชนเซ‡เชฒ เชชเชฐ เชจเช•เชพเชฐเซ€ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ; เชเช• เชชเชฃ เชชเซ‡เชš เชฎเช‚เชœเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹. เช† เชนเช•เซ€เช•เชค เช เชธเซเชชเชทเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช—เซเชฐเซ‡เช— เช•เซเชฐเซ‹เชน-เชนเชพเชฐเซเชŸเชฎเซ‡เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช†เชŸเชฒเซเช‚ เช•เช เซ‹เชฐ เชตเชฐเซเชคเชจ เช•เชฐเซเชฏเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชจเชฅเซ€ เช•เซ‡ เชœเซ‹ เชชเซ‡เชšเซ‹ เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เชฎเช‚เชœเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเซ‹เชค เชคเซ‹ เชธเช‚เชถเซ‹เชงเช•เซ‹เช เชถเซเช‚ เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชค. เชชเชถเซเชšเชพเชคเชฆเซƒเชทเซเชŸเชฟเชฎเชพเช‚, เชคเซ‡เช“เช เชฆเชพเชตเซ‹ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹ เช•เซ‡ เชคเซ‡เช“ เชฌเช—เชจเซ€ เชœเชพเชฃ เช•เชฐเชตเชพเชจเซ‹ เชˆเชฐเชพเชฆเซ‹ เชงเชฐเชพเชตเชคเชพ เชนเชคเชพ เช…เชจเซ‡ เชชเซ‡เชšเซ‹เชจเซ‡ เช—เชฟเชŸ เชชเชฐ เชœเชตเชพ เชฆเซ€เชงเชพ เชจ เชนเซ‹เชค, เชชเชฐเช‚เชคเซ เชคเซ‡ เช…เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“เช เช–เชฐเซ‡เช–เชฐ เชถเซเช‚ เช•เชฐเซเชฏเซเช‚ เชนเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชŸเชฒเชพ เชฆเซ‚เชฐ เช—เชฏเชพ เชนเชถเซ‡.

เช•เซเชฒ เชฎเชณเซ€เชจเซ‡, เช“เช—เชธเซเชŸ 2020 เชฎเชพเช‚, เช…เชจเชพเชฎเซ€ เชเช•เซ‹เชธเซเชŸเซ‡เช— เชธเชฐเชจเชพเชฎเชพเช‚เช“เชฎเชพเช‚เชฅเซ€.ubuntuเชชเชพเช‚เชš เชชเซ‡เชš @gmail.com เช…เชจเซ‡ jameslouisebond@gmail.com เชชเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ (เชˆเชฎเซ‡เชฒ เชœเซ‡เชฎเซเชธ เชฌเซ‹เชจเซเชก เชคเชฐเชซเชฅเซ€ เชนเชคเซ‹): เชฌเซ‡ เชธเชพเชšเชพ เชชเซ‡เชš (1, 2) เช…เชจเซ‡ เชคเซเชฐเชฃ เชœเซ‡เชฎเชพเช‚ เช›เซเชชเชพเชฏเซ‡เชฒเซ€ เชญเซ‚เชฒเซ‹ (1, 2, 3) เชถเชพเชฎเซ‡เชฒ เชนเชคเซ€ เชœเซ‡เชฃเซ‡ เชจเชฌเชณเชพเชˆเช“ เชฎเชพเชŸเซ‡ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“ เชฌเชจเชพเชตเซ€ เชนเชคเซ€. เชฆเชฐเซ‡เช• เชชเซ‡เชšเชฎเชพเช‚ เชซเช•เซเชค 1-4 เชฒเชพเช‡เชจ เช•เซ‹เชก เชนเชคเชพ. เชญเซ‚เชฒเชญเชฐเซ‡เชฒเชพ เชชเซ‡เชš เชชเชพเช›เชณเชจเซ‹ เชฎเซ‚เชณ เชตเชฟเชšเชพเชฐ เช เชนเชคเซ‹ เช•เซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช•เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชฅเซ€ เชกเชฌเชฒ-เชซเซเชฐเซ€เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชจเชฌเชณเชพเชˆเช“ เชŠเชญเซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชเช• เช…เช เชตเชพเชกเชฟเชฏเชพ เชชเช›เซ€, เช•เชฐเซเชจเชฒ เชกเซ‡เชตเชฒเชชเชฐเซ‹เชจเซ‹ เชธเช‚เชชเชฐเซเช• เชคเซเชšเซเช› เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เชซเชฟเช•เซเชธเชจเชพ เช†เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“เชจเซ‡ เชชเซเชฐเซ‹เชคเซเชธเชพเชนเชจ เช†เชชเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ เช…เช‚เช—เซ‡ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชฆเซ‚เชทเชฟเชค เชชเซ‡เชš เชธเชฌเชฎเชฟเชŸ เช•เชฐเชตเชพเชจเชพ เช…เช—เชพเช‰เชจเชพ เชชเซเชฐเชฏเชพเชธเซ‹ เชตเชฟเชถเซ‡ เช•เช‚เชˆ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹.

เชชเซเชฐเชฅเชฎ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชชเซ‡เชš เชญเซ‚เชฒเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเชฐเชค เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ kfree() เชชเชฐ เช•เซ‰เชฒ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช•เชจเซ‡ เช เซ€เช• เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเซ‡เชฎเชฐเซ€ เชตเชฟเชธเซเชคเชพเชฐเชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชถเชฐเชคเซ‹ เชฌเชจเชพเชตเซ€ เช›เซ‡ (เช‰เชชเชฏเซ‹เช— เชชเช›เซ€-เชฎเซเช•เซเชค). เช† เชชเซ‡เชšเชจเซ‡ เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐ (เชœเซ€เชฐเซ€ เชธเซเชฒเซ‡เชฌเซ€) เชฆเซเชตเชพเชฐเชพ เชจเช•เชพเชฐเซ€ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡เชฎเชฃเซ‡ เชธเชฎเชธเซเชฏเชพเชจเซ€ เช“เชณเช– เช•เชฐเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชงเซเชฏเชพเชจ เชฆเซ‹เชฐเซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพเช‚ เช•เซ‹เชˆเช เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชธเชฎเชพเชจ เชซเซ‡เชฐเชซเชพเชฐเชจเซ€ เชฆเชฐเช–เชพเชธเซเชค เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชชเช›เซ€ เชจเชฌเชณเชพเชˆ เชฎเชพเชŸเซ‡เชจเซ€ เชถเชฐเชคเซ‹เชจเซ‡ เช“เชณเช–เซเชฏเชพ เชชเช›เซ€ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. > p2 = p1[n] = kmalloc_array(64, sizeof(u16), GFP_KERNEL); > - เชœเซ‹ (!p2) เชชเชฐเชค -ENOMEM; > + เชœเซ‹ (!p2) { > + kfree(p1); > + เชตเชณเชคเชฐ -ENOMEM; > + }

เชฌเซ€เชœเชพ เชชเซ‡เชšเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เชชเช›เซ€-เชฎเซเช•เซเชค เชธเชฎเชธเซเชฏเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชถเชฐเชคเซ‹ เชชเชฃ เช›เซ‡. เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชชเซ‡เชš เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐ (เชกเซ‡เชจ เช•เชพเชฐเซเชชเซ‡เชจเซเชŸเชฐ) เชฆเซเชตเชพเชฐเชพ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹, เชœเซ‡เชฎเชฃเซ‡ list_add_tail เชธเชพเชฅเซ‡ เช…เชจเซเชฏ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชชเซ‡เชšเชจเซ‡ เชจเช•เชพเชฐเซ€ เช•เชพเชขเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชจเซ‹เช‚เชงเซเชฏเซเช‚ เชจ เชนเชคเซเช‚ เช•เซ‡ "chdev" เชชเซ‹เช‡เชจเซเชŸเชฐเชจเซ‡ put_device เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ เชฎเซเช•เซเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจเซ€เชšเซ‡ เช•เซ‰เชฒเชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡. dev_err(&chdev ->dev..). เชœเซ‹ เช•เซ‡, เชชเซ‡เชš เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹, เชœเซ‹เช•เซ‡ เชจเชฌเชณเชพเชˆ เชธเชพเชฅเซ‡ เช…เชธเช‚เชฌเช‚เชงเชฟเชค เช•เชพเชฐเชฃเซ‹เชธเชฐ. เชœเซ‹ (ret < 0) { + put_device(&chdev->dev); dev_err(&chdev->dev, DRV_NAME ": kfifo_alloc เชจเชฟเชทเซเชซเชณ\n"); ret = -ENOMEM; เชœเชพเช“ err_fifo;

เชคเซเชฐเซ€เชœเซ‹ เชชเซ‡เชš เชชเชฃ เชœเชพเชณเชตเชฃเซ€เช•เชพเชฐ (เชฎเชฟเช•เซ‡เชฒ เชฐเซ‡เชจเชฒ) เชฆเซเชตเชพเชฐเชพ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹ เช•เชพเชฐเชฃ เช•เซ‡ เชจเชฌเชณเชพเชˆ เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชจเชฅเซ€ (pdev เชฎเชพเชŸเซ‡ เชกเชฌเชฒ เช•เซ‰เชฒ). เชœเซ‹ (!window->virt) { printk(KERN_ERR MOD_NAME": ioremap(%08lx, %08lx) เชจเชฟเชทเซเชซเชณ\n", window->phys, window->size); + pci_dev_put(pdev); เชฌเชนเชพเชฐ เชœเชพเช“; } ... เชœเซ‹ (!เชจเช•เชถเซ‹) { printk(KERN_ERR MOD_NAME ": kmalloc เชจเชฟเชทเซเชซเชณ"); + pci_dev_put(pdev); เชฌเชนเชพเชฐ เชœเชพเช“; } เชฎเซ‡เชฎเชธเซ‡เชŸ(เชจเช•เชถเซ‹, 0, เชฎเชพเชชเชจเซ‹(*เชจเช•เชถเซ‹)); ... เชœเซ‹ (mtd_device_register(map->mtd, NULL, 0)) { map_destroy(map->mtd); map->mtd = NULL; + pci_dev_put(pdev); เชฌเชนเชพเชฐ เชœเชพเช“; }

เชฐเชธเชชเซเชฐเชฆ เชตเชพเชค เช เช›เซ‡ เช•เซ‡, เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ 4 เชฎเชพเช‚เชฅเซ€ 5 เชชเซ‡เชšเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเชคเซเช‚ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชธเช‚เชถเซ‹เชงเช•เซ‹เช เชชเซ‹เชคเซ‡ เชญเซ‚เชฒ เช•เชฐเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชเช• เชชเซ‡เชš เชœเซ‡ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชนเชคเซ€, เชคเซ‡เชฎเชจเชพ เชฎเชคเซ‡, เชฎเซเช•เซเชค เชฅเชฏเชพ เชชเช›เซ€ เชฎเซ‡เชฎเชฐเซ€เชจเชพ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เช…เชชเซ‡เช•เซเชทเชฟเชค เชถเชฐเชคเซ‹ เชตเชฟเชจเชพ, เชฏเซ‹เช—เซเชฏ เชธเซเชงเชพเชฐเชพเชจเซ€ เชฆเชฐเช–เชพเชธเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. err = pci_request_mem_regions(pdev, nitrox_driver_name); เชœเซ‹ (เชญเซ‚เชฒ) { pci_disable_device(pdev); + dev_err(&pdev->dev, "เชฎเซ‡เชฎ เชชเซเชฐเชฆเซ‡เชถเซ‹เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ!\n"); เชตเชณเชคเชฐ เชญเซ‚เชฒ; }

เชธเซ‹เชฐเซเชธ: opennet.ru

DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐ เชงเชฐเชพเชตเชคเซ€ เชธเชพเช‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ ๐Ÿ”ฅ DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ | ProHoster