LINUX.ORG.RU
ФорумTalks

Первый патч для ядра 4.10

 


2

2

Сабж существует уже несколько дней, но что-то, кажется, никто про него не пишет. Напишу я.

Итак, сабж относительно небольшой и вносит не так уж и много изменений. Патч затрагивает следующие файлы:

Documentation/admin-guide/kernel-parameters.txt
Makefile
arch/x86/platform/goldfish/goldfish.c
drivers/net/wireless/realtek/rtlwifi/usb.c
drivers/platform/goldfish/pdev_bus.c
drivers/tty/serial/msm_serial.c
drivers/usb/serial/ark3116.c
drivers/usb/serial/console.c
drivers/usb/serial/cp210x.c
drivers/usb/serial/ftdi_sio.c
drivers/usb/serial/mos7840.c
drivers/usb/serial/opticon.c
drivers/usb/serial/spcp8x5.c
fs/xfs/xfs_iomap.c
include/acpi/platform/acenv.h
include/acpi/platform/acintel.h
include/linux/ptr_ring.h
mm/backing-dev.c
net/ipv4/ip_sockglue.c
net/netfilter/nf_conntrack_helper.c
net/socket.c
Размер патча: 21901 байт, 661 строка. При этом патч на 100% в ASCII.

Однако, в архиве ядра версии 4.10 442253 байта находтся за пределами ASCII, 6220 из них относятся к *.c и *.h файлам, а 433693 - к документации. Всего *.c и *.h файлов, которые выходят за пределы ASCII, - 1150, при общем количестве 42422. Т.е. меньше чем 3%. При этом общее кол-во байт выходящих за границы ASCII не превышает 282 на файл. Рекордсменом с этими 282-мя байтами является файл drivers/scsi/qla4xxx/ql4_fw.h. На втором месте такие файлы как lib/fonts/font_8x16.c, lib/fonts/font_7x14.c, lib/fonts/font_8x8.c, lib/fonts/font_pearl_8x8.c в которых по 128 байт, которые выходят за пределы ASCII соответственно. На третьем месте файл include/video/display_timing.h в котором 126 байт за пределами ASCII.

Changelog по размеру больше патча (23096 байт, 542 строки), и на 100% в ASCII. Патч вносит, как минимум, следующие изменения:

    xfs: clear delalloc and cache on buffered write failure
    rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
    block: fix double-free in the failure path of cgwb_bdi_init()
    Fixes: a13f35e87140 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback")
    ACPICA: Linuxize: Restore and fix Intel compiler build
    Fixes: 9fa1cebdbfff (ACPICA: OSL: Cleanup the inclusion order of the compiler-specific headers)
    netfilter: nf_ct_helper: warn when not applying default helper assignment
    Commit 3bb398d925 ("netfilter: nf_ct_helper: disable automatic helper
    goldfish: Sanitize the broken interrupt handler
    Fixes: e809c22b8fb028 ("goldfish: add the goldfish virtual bus")
    x86/platform/goldfish: Prevent unconditional loading
    Fixes: ddd70cf93d78 ("goldfish: platform device for x86")
    USB: serial: console: fix uninitialised spinlock
    Fixes: 4a510969374a ("tty: Make tty_files_lock per-tty")
    USB: serial: ark3116: fix register-accessor error handling
    Fixes: 149fc791a452 ("USB: ark3116: Setup some basic infrastructure for new ark3116 driver.")
    Fixes: f4c1e8d597d1 ("USB: ark3116: Make existing functions 16450-aware and add close and release functions.")
    USB: serial: opticon: fix CTS retrieval at open
    Fixes: 7a6ee2b02751 ("USB: opticon: switch to generic read implementation")
    USB: serial: spcp8x5: fix modem-status handling
    spcp8x5: add proper modem-status support") has returned TIOCM_LE on
    Fixes: e1ed212d8593 ("USB: spcp8x5: add proper modem-status support")
    USB: serial: ftdi_sio: fix line-status over-reporting
    Fixes: 72fda3ca6fc1 ("USB: serial: ftd_sio: implement sysrq handling on
    Fixes: 166ceb690750 ("USB: ftdi_sio: clean up line-status handling")
    USB: serial: ftdi_sio: fix extreme low-latency setting
    Fixes: 557aaa7ffab6 ("ft232: support the ASYNC_LOW_LATENCY flag")
    USB: serial: ftdi_sio: fix modem-status error handling
    USB: serial: cp210x: add new IDs for GE Bx50v3 boards
    USB: serial: mos7840: fix another NULL-deref at open
    Fixes: 3f5429746d91 ("USB: Moschip 7840 USB-Serial Driver")
    tty: serial: msm: Fix module autoload
    net: socket: fix recvmmsg not returning error from sock_error
    Fixes: 34b88a68f26a ("net: Fix use after free in the recvmmsg exit path")
    Fixes: ad6f939ab193 ("ip: Add offset parameter to ip_cmsg_recv")
    ptr_ring: fix race conditions when resizing

Скачать патч можно здесь: https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.10.1.xz

★★★★★

Однако, в архиве ядра версии 4.10 442253 байта находтся за пределами ASCII, 6220 из них относятся к *.c и *.h файлам, а 433693 - к документации. Всего *.c и *.h файлов, которые выходят за пределы ASCII, - 1150, при общем количестве 42422. Т.е. меньше чем 3%. При этом общее кол-во байт выходящих за границы ASCII не превышает 282 на файл. Рекордсменом с этими 282-мя байтами является файл drivers/scsi/qla4xxx/ql4_fw.h. На втором месте такие файлы как lib/fonts/font_8x16.c, lib/fonts/font_7x14.c, lib/fonts/font_8x8.c, lib/fonts/font_pearl_8x8.c в которых по 128 байт, которые выходят за пределы ASCII соответственно. На третьем месте файл include/video/display_timing.h в котором 126 байт за пределами ASCII.

Вот скажи, ты шизофреник, просто наркоман или придуриваешься?

Sectoid ★★★★★
()
Ответ на: комментарий от Deleted

Я посмотрел, там в этом ql4_fw.h код вида

struct ql_iscsi_stats {
        uint64_t mac_tx_frames; /* 0000–0007 */
        uint64_t mac_tx_bytes; /* 0008–000F */
        uint64_t mac_tx_multicast_frames; /* 0010–0017 */
        uint64_t mac_tx_broadcast_frames; /* 0018–001F */
        uint64_t mac_tx_pause_frames; /* 0020–0027 */
        uint64_t mac_tx_control_frames; /* 0028–002F */
        uint64_t mac_tx_deferral; /* 0030–0037 */
        uint64_t mac_tx_excess_deferral; /* 0038–003F */
        uint64_t mac_tx_late_collision; /* 0040–0047 */
        uint64_t mac_tx_abort; /* 0048–004F */
        uint64_t mac_tx_single_collision; /* 0050–0057 */
        uint64_t mac_tx_multiple_collision; /* 0058–005F */
В комментах юникодные тире

deadNightTiger ★★★★★
()
Ответ на: комментарий от greenman

Они ещё мой прошлый багрепорт уже почти год молча рассматривают. Так и висит со статусом NEW.

saahriktu ★★★★★
() автор топика

Автор, пиши про каждую новую минорную версию ядра, это чертовски увлекательно.

lagavulin16
()
Ответ на: комментарий от Deleted

С этим никто и не спорит. Вопрос выше был не про методы исследования, а про сами исследования.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Вопрос выше был вот о чём: что за шиза вас натолкнула на самую идею подсчитывать файлы в разных кодировках в минорном патче ядра?

Deleted
()
Ответ на: комментарий от Deleted

подсчитывать файлы в разных кодировках в минорном патче ядра

Что-что?

Патч распространяется одним файлом. И он на 100% в ASCII. Вот я заодно и проверил архив 4.10 без учёта патчей целиком.

saahriktu ★★★★★
() автор топика

Скорректируй все non-ASCII отдельным патчем. Делов-то.

pacify ★★★★★
()
Ответ на: комментарий от Sectoid

чем только люди не занимаются, лишь бы не работать

WindowsXP ★★
()

напоминают легендарного мужика, который в 70е годы написал письмо на Балабановскую спичечную фабрику. Мужик написал примерно следующее - «Я 11 лет считаю спички у вас в коробках - и то 59, то 60, а иногда и 58. Вы там сумасшедшие что ли все?»

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

У спичек бытовое утилитарное применение, которое не зависит от их кол-ва. А при работе с информацией то, что с ней можно сделать, напрямую зависит от того, чем она является.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Вы, похоже, окончательно обезумели.

Deleted
()
Ответ на: комментарий от saahriktu

А ещё по твоей ссылке нихрена (кроме ололо «I bumped into ... limitations») не написано про твою проблему.

Stil ★★★★★
()
Ответ на: комментарий от Stil

Зачем приводить простыни если «PSF fonts» и «vt.c» уже более чем ключевые слова? В vt.c нет кучи разных параллельных подсистем для работы с PSF шрифтами. И там разработчики про эти ограничения написали явным образом сами:

/*
 *  Font switching
 *
 *  Currently we only support fonts up to 32 pixels wide, at a maximum height
 *  of 32 pixels. Userspace fontdata is stored with 32 bytes (shorts/ints,
 *  depending on width) reserved for each character which is kinda wasty, but
 *  this is done in order to maintain compatibility with the EGA/VGA fonts. It
 *  is up to the actual low-level console-driver convert data into its favorite
 *  format (maybe we should add a `fontoffset' field to the `display'
 *  structure so we won't have to convert the fontdata all the time.
 *  /Jes
 */

#define max_font_size 65536

Проблема не в моём багрепорте. Там со всеми соседними багрепортами в том разделе тоже самое. Все они там имеют статус «NEW», даже от 2012-го года. И это несмотря на то, что за разделом закрепляют конкретного человека.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Ты плохо понимаешь, что такое багрепорт. Багрепорт это самостоятельное произведение. Ссылки в нем имеют смысл только как подтверждение сказанного. Выискивать, что ты имел в виду, по ссылкам никто никогда не будет (разве что кто-то и так собирался твою проблему чинить, и ты просто угадал с темой «багрепорта»). К тому же у тебя не багрепорт, а feature request, а это еще понижает приоритет. Некачественный feature request — гарантия того, что его никогда не удовлетворят. Качество английского языка,кстати, тут ни при чем. К нему придираются в последнюю очередь.

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Выискивать, что ты имел в виду, по ссылкам

Даже в случае грамотного и подробного текста всегда могут остаться вопросы, и без обратной связи тут никак. Собственно, я и ожидал, что мне зададут уточняющие вопросы. Но, нет. У них там совсем глухо.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Какой багрепорт, такая и реакция. Обижаться не на что. Ты не приложил усилий, не жди от других, что они сделают работу за тебя.

TeopeTuK ★★★★
()
Ответ на: комментарий от saahriktu

Кто-то же должен их проводить.

Вызывающе неверная информация.

templarrr ★★★★★
()
Ответ на: комментарий от TeopeTuK

Уточнить вопросом всегда можно. Пришедший в багзиллу может и не быть программистом, и даже может и не смочь, в отличие от меня, показать на проблемный файл в исходниках, но при этом может иметь возможность описать проблему в общих чертах. И что, такие случаи тоже никто не рассматривает что-ли? Разработчики, как правило, сами заинтересованы в качестве кода, а потому им ценна любая информация. При этом, подчёркиваю, хорошие разработчики и так знают что они делают. В случае больших проектов с участием большого кол-ва людей, конечно, может быть всякое. Может быть и так, что закреплённый за той или иной подсистемой разработчик не помнит её код наизусть, да. Но, всегда можно уточнить. Пришедший в багзиллу не обязан думать о степени осведомлённости закреплённого за разделом человека, тем более что он остаётся на связи.

Перед тем как запостить своё я читал багрепорты в том разделе, и они ни разу не подробнее. Вот чем, например, плох следующий багрепорт?

I've crafted a .psfu console font that include the 256 Unicode braille patterns (https://github.com/NodeOS/NodeOS/tree/m
aster/node_modules/nodeos-rootfs/node_modules/nodeos-console-font) to use them for graphic purposses on the console (htt
ps://github.com/asciimoo/drawille), and I want to use it as default font (compiled in kernel) because it will be used in
 a minimalistic, ready-to-use barebones system combining Linux kernel and Node.js (https://github.com/NodeOS/NodeOS).

Since I want still be able to use ASCII characters, this makes it a 512 glyphs font, but after some tests and code look-
outs, I've found that Linux kernel and build tools has hard-coded the usage of 256 glyphs in default fonts (https://gith
ub.com/torvalds/linux/blob/718749d56214aa97015fe01b76b6d6dd0c171796/drivers/video/console/fbcon.c#L998 and http://lxr.fr
ee-electrons.com/source/scripts/conmakehash.c#L107), and in fact seems that has set to explicitly only test for the actu
al number of glyphs for user loaded fonts in several places

https://github.com/torvalds/linux/blob/718749d56214aa97015fe01b76b6d6dd0c171796/drivers/video/console/fbcon.c#L2453-L245
6
https://github.com/torvalds/linux/blob/718749d56214aa97015fe01b76b6d6dd0c171796/drivers/video/console/fbcon.c#L2574-L257
7
https://github.com/torvalds/linux/blob/718749d56214aa97015fe01b76b6d6dd0c171796/drivers/video/console/fbcon.c#L3226-L322
7
https://github.com/torvalds/linux/blob/718749d56214aa97015fe01b76b6d6dd0c171796/drivers/video/console/fbcon.c#L3240-L324
1

but I think there's no actual a hard requeriment (hardware support or similar) that would not allow to use them, since i
n fact user loaded fonts can use 512 glyphs.

Another alternative is to use setfont command, but it's not only giving me problems to compile it (NodeOS is a musl-base
d system, it don't use glibc) but also would complicate the usage of the system since in it's basic form it show to the
user a Node.js REPL, similar in concept to 80's microcomputers BASIC prompt.

Also I have been thinking about fixing it myself, but don't have enough time at this moment (at least until Summer). I t
hink the first step is to change conmakehash to allow more than 256 glyphs in the generated code, and later update fbcon
.c to be able to manage them for default fonts (probably mostly to use the same macros to check the font size that are b
eing used for user loaded fonts).
Он вполне чётко описывает конкретную проблему.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Sectoid

городской лоровский сумасшедший, без подобных ему - лор не торт

kott ★★★★★
()
Ответ на: комментарий от MrClon

А как ещё определить границы возможностей как не исследованиями?

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Это хороший багрепорт (ну или тоже скорее feature request). Но не твой же. Или ты пытаешься оправдать плохое качество своего репорта тем, что и хорошие лежат без движения? Ну так должен сам понимать, что в этом случае у твоего репорта вообще никаких шансов.

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Так в том багрепорте тоже нет кусков кода. А в моём багрепорте если чего и не хватает, то именно этих самых кусков кода. Про которые можно было меня спросить в том случае, если читающий не знает о чём речь. А я по дефолту предполагаю, что знает.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Вот чем, например, плох следующий багрепорт?

Всем хорош. Сойдёт для докторской по психическим расстройствам. Спектрум-алайк на нодежс с брайлем вместо шрифта, не, мне бы столько не выпить.

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.