+++ /dev/null
-From 65766ee0bf7fe8b3be80e2e1c3ef54ad59b29476 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Fri, 9 Nov 2018 11:59:45 +0100
-Subject: ALSA: oss: Use kvzalloc() for local buffer allocations
-
-From: Takashi Iwai <tiwai@suse.de>
-
-commit 65766ee0bf7fe8b3be80e2e1c3ef54ad59b29476 upstream.
-
-PCM OSS layer may allocate a few temporary buffers, one for the core
-read/write and another for the conversions via plugins. Currently
-both are allocated via vmalloc(). But as the allocation size is
-equivalent with the PCM period size, the required size might be quite
-small, depending on the application.
-
-This patch replaces these vmalloc() calls with kvzalloc() for covering
-small period sizes better. Also, we use "z"-alloc variant here for
-addressing the possible uninitialized access reported by syzkaller.
-
-Reported-by: syzbot+1cb36954e127c98dd037@syzkaller.appspotmail.com
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- sound/core/oss/pcm_oss.c | 6 +++---
- sound/core/oss/pcm_plugin.c | 6 +++---
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
---- a/sound/core/oss/pcm_oss.c
-+++ b/sound/core/oss/pcm_oss.c
-@@ -1073,8 +1073,8 @@ static int snd_pcm_oss_change_params_loc
- runtime->oss.channels = params_channels(params);
- runtime->oss.rate = params_rate(params);
-
-- vfree(runtime->oss.buffer);
-- runtime->oss.buffer = vmalloc(runtime->oss.period_bytes);
-+ kvfree(runtime->oss.buffer);
-+ runtime->oss.buffer = kvzalloc(runtime->oss.period_bytes, GFP_KERNEL);
- if (!runtime->oss.buffer) {
- err = -ENOMEM;
- goto failure;
-@@ -2380,7 +2380,7 @@ static void snd_pcm_oss_release_substrea
- {
- struct snd_pcm_runtime *runtime;
- runtime = substream->runtime;
-- vfree(runtime->oss.buffer);
-+ kvfree(runtime->oss.buffer);
- runtime->oss.buffer = NULL;
- #ifdef CONFIG_SND_PCM_OSS_PLUGINS
- snd_pcm_oss_plugin_clear(substream);
---- a/sound/core/oss/pcm_plugin.c
-+++ b/sound/core/oss/pcm_plugin.c
-@@ -66,8 +66,8 @@ static int snd_pcm_plugin_alloc(struct s
- return -ENXIO;
- size /= 8;
- if (plugin->buf_frames < frames) {
-- vfree(plugin->buf);
-- plugin->buf = vmalloc(size);
-+ kvfree(plugin->buf);
-+ plugin->buf = kvzalloc(size, GFP_KERNEL);
- plugin->buf_frames = frames;
- }
- if (!plugin->buf) {
-@@ -191,7 +191,7 @@ int snd_pcm_plugin_free(struct snd_pcm_p
- if (plugin->private_free)
- plugin->private_free(plugin);
- kfree(plugin->buf_channels);
-- vfree(plugin->buf);
-+ kvfree(plugin->buf);
- kfree(plugin);
- return 0;
- }
+++ /dev/null
-From 5478ad10e7850ce3d8b7056db05ddfa3c9ddad9a Mon Sep 17 00:00:00 2001
-From: Thomas Zimmermann <tzimmermann@suse.de>
-Date: Thu, 15 Nov 2018 11:42:16 +0100
-Subject: drm/ast: Remove existing framebuffers before loading driver
-
-From: Thomas Zimmermann <tzimmermann@suse.de>
-
-commit 5478ad10e7850ce3d8b7056db05ddfa3c9ddad9a upstream.
-
-If vesafb attaches to the AST device, it configures the framebuffer memory
-for uncached access by default. When ast.ko later tries to attach itself to
-the device, it wants to use write-combining on the framebuffer memory, but
-vesefb's existing configuration for uncached access takes precedence. This
-results in reduced performance.
-
-Removing the framebuffer's configuration before loding the AST driver fixes
-the problem. Other DRM drivers already contain equivalent code.
-
-Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1112963
-Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
-Cc: <stable@vger.kernel.org>
-Tested-by: Y.C. Chen <yc_chen@aspeedtech.com>
-Reviewed-by: Jean Delvare <jdelvare@suse.de>
-Tested-by: Jean Delvare <jdelvare@suse.de>
-Signed-off-by: Dave Airlie <airlied@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/gpu/drm/ast/ast_drv.c | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
---- a/drivers/gpu/drm/ast/ast_drv.c
-+++ b/drivers/gpu/drm/ast/ast_drv.c
-@@ -60,8 +60,29 @@ static const struct pci_device_id pciidl
-
- MODULE_DEVICE_TABLE(pci, pciidlist);
-
-+static void ast_kick_out_firmware_fb(struct pci_dev *pdev)
-+{
-+ struct apertures_struct *ap;
-+ bool primary = false;
-+
-+ ap = alloc_apertures(1);
-+ if (!ap)
-+ return;
-+
-+ ap->ranges[0].base = pci_resource_start(pdev, 0);
-+ ap->ranges[0].size = pci_resource_len(pdev, 0);
-+
-+#ifdef CONFIG_X86
-+ primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
-+#endif
-+ drm_fb_helper_remove_conflicting_framebuffers(ap, "astdrmfb", primary);
-+ kfree(ap);
-+}
-+
- static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
- {
-+ ast_kick_out_firmware_fb(pdev);
-+
- return drm_get_pci_dev(pdev, ent, &driver);
- }
-
usb-core-fix-hub-port-connection-events-lost.patch
-alsa-oss-use-kvzalloc-for-local-buffer-allocations.patch
v9fs_dir_readdir-fix-double-free-on-p9stat_read-error.patch
bfs-add-sanity-check-at-bfs_fill_super.patch
sctp-clear-the-transport-of-some-out_chunk_list-chunks-in-sctp_assoc_rm_peer.patch
llc-do-not-use-sk_eat_skb.patch
drm-ast-fixed-cursor-may-disappear-sometimes.patch
drm-ast-change-resolution-may-cause-screen-blurred.patch
-drm-ast-remove-existing-framebuffers-before-loading-driver.patch
can-dev-can_get_echo_skb-factor-out-non-sending-code-to-__can_get_echo_skb.patch
can-dev-__can_get_echo_skb-replace-struct-can_frame-by-canfd_frame-to-access-frame-length.patch
can-dev-__can_get_echo_skb-don-t-crash-the-kernel-if-can_priv-echo_skb-is-accessed-out-of-bounds.patch