From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: lib/fonts: Create font_data_t from struct console_font with font_data_import()
Date: Tue, 03 Mar 2026 13:19:16 +1000 [thread overview]
Message-ID: <review-patch11-20260302141255.518657-12-tzimmermann@suse.de> (raw)
In-Reply-To: <20260302141255.518657-12-tzimmermann@suse.de>
Patch Review
Centralizes the font import logic from fbcon and newport_con.
**Issue 1**: The `int size` and `int alloc_size` variables are signed but used for sizes. While the `check_mul_overflow` / `check_add_overflow` macros handle this correctly (they detect overflow for the destination type), using `unsigned int` would be more idiomatic for size values. This matches the pattern from the original fbcon code though.
**Issue 2**: The source-side memcpy index is not overflow-checked:
```c
for (i = 0; i < charcount; ++i)
memcpy(font_data->data + i * h * pitch, data + i * vpitch * pitch, h * pitch);
```
`i * vpitch * pitch` on the source side could overflow if `vpitch` is large. `vpitch` comes from user space (the VT ioctl). While the existing code had the same pattern, this is the "proper" refactored version — adding `check_mul_overflow` for `vpitch * pitch` and `i * vpitch * pitch` would improve robustness. In practice, vpitch is typically 32 and pitch is at most 4, so the maximum is `512 * 32 * 4 = 65536`, well within range.
**Issue 3**: The doc comment says `@calc_sum` but the parameter is `calc_csum`, and "chechsum" should be "checksum".
The newport_con simplification removing the `vpitch != 32` check is a good improvement — newport_con previously rejected fonts where vpitch != 32, but font_data_import handles any vpitch correctly.
---
Generated by Claude Code Patch Reviewer
next prev parent reply other threads:[~2026-03-03 3:19 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-02 14:08 [PATCH v2 00/13] vc,fbcon,fonts: Proper handling of font data Thomas Zimmermann
2026-03-02 14:08 ` [PATCH v2 01/13] fbdev: Declare src parameter of fb_pad_ helpers as constant Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 02/13] vt: Remove trailing whitespaces Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 03/13] vt: Store font in struct vc_font Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 04/13] vt: Calculate font-buffer size with vc_font_size() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 05/13] lib/fonts: Remove trailing whitespaces Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 06/13] lib/fonts: Remove FNTCHARCNT() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 07/13] lib/fonts: Store font data as font_data_t; update consoles Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 08/13] lib/fonts: Read font size with font_data_size() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 09/13] lib/fonts: Compare font data for equality with font_data_is_equal() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 10/13] lib/fonts: Manage font-data lifetime with font_data_get/_put() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 11/13] lib/fonts: Create font_data_t from struct console_font with font_data_import() Thomas Zimmermann
2026-03-03 3:19 ` Claude Code Review Bot [this message]
2026-03-02 14:08 ` [PATCH v2 12/13] lib/fonts: Store font data for user space with font_data_export() Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-02 14:08 ` [PATCH v2 13/13] lib/fonts: Remove internal symbols and macros from public header file Thomas Zimmermann
2026-03-03 3:19 ` Claude review: " Claude Code Review Bot
2026-03-03 3:19 ` Claude review: vc,fbcon,fonts: Proper handling of font data Claude Code Review Bot
-- strict thread matches above, loose matches on Subject: below --
2026-03-09 14:14 [PATCH v3 00/13] " Thomas Zimmermann
2026-03-09 14:14 ` [PATCH v3 11/13] lib/fonts: Create font_data_t from struct console_font with font_data_import() Thomas Zimmermann
2026-03-10 2:19 ` Claude review: " Claude Code Review Bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=review-patch11-20260302141255.518657-12-tzimmermann@suse.de \
--to=claude-review@example.com \
--cc=dri-devel-reviews@example.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox