Peilin Ye
2832691e01
Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts
...
commit 6735b4632def0640dbdf4eb9f99816aca18c4f16 upstream.
syzbot has reported an issue in the framebuffer layer, where a malicious
user may overflow our built-in font data buffers.
In order to perform a reliable range check, subsystems need to know
`FONTDATAMAX` for each built-in font. Unfortunately, our font descriptor,
`struct console_font` does not contain `FONTDATAMAX`, and is part of the
UAPI, making it infeasible to modify it.
For user-provided fonts, the framebuffer layer resolves this issue by
reserving four extra words at the beginning of data buffers. Later,
whenever a function needs to access them, it simply uses the following
macros:
Recently we have gathered all the above macros to <linux/font.h>. Let us
do the same thing for built-in fonts, prepend four extra words (including
`FONTDATAMAX`) to their data buffers, so that subsystems can use these
macros for all fonts, no matter built-in or user-provided.
This patch depends on patch "fbdev, newport_con: Move FONT_EXTRA_WORDS
macros into linux/font.h".
Cc: stable@vger.kernel.org
Link: https://syzkaller.appspot.com/bug?id=08b8be45afea11888776f897895aef9ad1c3ecfd
Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/ef18af00c35fb3cc826048a5f70924ed6ddce95b.1600953813.git.yepeilin.cs@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-10-14 09:51:10 +02:00
..
2017-11-02 11:10:55 +01:00
2020-10-14 09:51:10 +02:00
2017-10-03 17:54:25 -07:00
2017-11-02 11:10:55 +01:00
2020-06-20 10:25:10 +02:00
2020-04-24 08:01:01 +02:00
2019-07-31 07:28:30 +02:00
2020-06-25 15:41:57 +02:00
2017-08-15 09:02:08 -07:00
2017-11-02 11:10:55 +01:00
2017-12-14 09:52:52 +01:00
2019-03-23 14:35:14 +01:00
2017-07-14 15:05:13 -07:00
locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
2016-06-16 10:48:32 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-01-29 15:02:39 +01:00
2019-04-05 22:31:33 +02:00
2018-03-15 10:54:32 +01:00
2017-11-02 11:10:55 +01:00
2016-07-03 00:57:23 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:49 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-06-09 11:52:07 +02:00
2017-02-24 17:46:57 -08:00
2017-11-02 11:10:55 +01:00
2017-02-24 17:46:57 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-13 11:14:51 -08:00
2018-12-17 09:28:54 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-02-24 17:46:57 -08:00
2017-11-02 11:10:55 +01:00
2020-01-27 14:46:39 +01:00
2017-10-12 17:16:40 +01:00
2019-04-20 09:15:07 +02:00
2020-01-04 13:59:39 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:01 +01:00
2020-08-21 09:48:06 +02:00
2017-11-02 11:10:55 +01:00
2016-06-08 11:04:19 +02:00
2018-05-09 09:51:54 +02:00
2017-07-10 16:32:35 -07:00
2017-08-10 15:54:06 -07:00
2020-04-24 08:00:31 +02:00
2017-11-02 11:10:55 +01:00
2016-05-20 17:58:30 -07:00
2017-11-02 11:10:55 +01:00
2019-12-05 15:37:53 +01:00
2017-02-24 17:46:57 -08:00
2017-02-24 17:46:57 -08:00
2017-09-08 18:26:49 -07:00
2017-11-02 11:10:55 +01:00
2019-11-24 08:22:46 +01:00
2017-11-02 11:10:55 +01:00
2019-04-05 22:31:24 +02:00
2018-12-17 09:28:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-17 21:01:11 +02:00
2019-05-21 18:50:21 +02:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:38 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:30 +01:00
2019-10-07 18:55:15 +02:00
2018-02-16 20:23:04 +01:00
2017-05-16 08:44:22 -03:00
2016-12-14 16:04:08 -08:00
2020-01-27 14:46:44 +01:00
2018-10-03 17:00:48 -07:00
2019-05-31 06:47:32 -07:00
2018-12-08 13:03:35 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-06-08 17:36:03 +08:00
2017-02-24 17:46:56 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-05-27 16:43:08 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-09-05 09:26:35 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-25 11:08:01 +01:00
2017-11-02 11:10:55 +01:00
2017-02-03 16:35:42 -05:00
2016-12-06 10:17:03 +02:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:34 +01:00
2017-03-22 19:18:43 -07:00
2017-03-02 08:42:27 +01:00
2017-01-23 09:17:12 +01:00
2019-12-05 15:36:53 +01:00
2020-10-14 09:51:09 +02:00
2017-10-03 17:54:26 -07:00
2017-11-02 11:10:55 +01:00
2018-12-17 09:28:55 +01:00
2017-09-08 18:26:48 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-04-03 06:25:09 +02:00
2019-05-31 06:47:10 -07:00
2020-02-28 16:36:08 +01:00
2019-02-12 19:46:08 +01:00
2017-11-02 11:10:55 +01:00
2017-02-22 16:41:30 -08:00
2017-01-09 13:58:57 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-02-28 16:36:13 +01:00
2017-09-13 18:53:16 -07:00
2020-10-01 13:12:52 +02:00
2020-06-20 10:24:58 +02:00
2020-06-20 10:24:58 +02:00
2018-12-13 09:18:52 +01:00
2017-11-02 11:10:55 +01:00
2018-05-22 18:53:58 +02:00
2018-11-04 14:52:43 +01:00
2019-01-13 10:01:07 +01:00
2019-08-16 10:13:55 +02:00
2016-09-01 17:52:01 -07:00
2018-12-08 13:03:35 +01:00
2020-02-14 16:32:08 -05:00
2020-08-21 09:48:22 +02:00
2017-05-08 17:15:10 -07:00
2017-02-26 11:03:38 -05:00
2017-07-25 12:35:23 -07:00
2017-01-09 13:58:57 -05:00
2017-05-08 17:15:10 -07:00
2017-07-12 16:26:00 -07:00
2017-05-01 09:36:30 +02:00
2017-07-21 09:38:30 +02:00
2017-01-20 08:03:42 +01:00
2017-10-22 03:14:07 +01:00
2017-10-22 03:14:07 +01:00
2019-05-10 17:53:08 +02:00
2018-02-16 20:23:09 +01:00
2017-11-02 11:10:55 +01:00
2018-03-19 08:42:56 +01:00
2017-06-05 16:59:05 +02:00
2018-07-03 11:24:48 +02:00
2017-11-02 11:10:55 +01:00
2017-08-15 09:02:07 -07:00