Commit 6b8bb5b8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sh updates from Adrian Glaubitz:

 - Fix a use-after-free bug in the push-switch driver (Duoming Zhou)

 - Fix calls to dma_declare_coherent_memory() that incorrectly passed
   the buffer end address instead of the buffer size as the size
   parameter

* tag 'sh-for-v6.6-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux:
  sh: push-switch: Reorder cleanup operations to avoid use-after-free bug
  sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory()
parents 1b37a0a2 246f80a0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -531,7 +531,7 @@ static int __init ap325rxa_devices_setup(void)
	device_initialize(&ap325rxa_ceu_device.dev);
	dma_declare_coherent_memory(&ap325rxa_ceu_device.dev,
			ceu_dma_membase, ceu_dma_membase,
			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
			CEU_BUFFER_MEMORY_SIZE);

	platform_device_add(&ap325rxa_ceu_device);

+2 −4
Original line number Diff line number Diff line
@@ -1454,15 +1454,13 @@ static int __init arch_setup(void)
	device_initialize(&ecovec_ceu_devices[0]->dev);
	dma_declare_coherent_memory(&ecovec_ceu_devices[0]->dev,
				    ceu0_dma_membase, ceu0_dma_membase,
				    ceu0_dma_membase +
				    CEU_BUFFER_MEMORY_SIZE - 1);
				    CEU_BUFFER_MEMORY_SIZE);
	platform_device_add(ecovec_ceu_devices[0]);

	device_initialize(&ecovec_ceu_devices[1]->dev);
	dma_declare_coherent_memory(&ecovec_ceu_devices[1]->dev,
				    ceu1_dma_membase, ceu1_dma_membase,
				    ceu1_dma_membase +
				    CEU_BUFFER_MEMORY_SIZE - 1);
				    CEU_BUFFER_MEMORY_SIZE);
	platform_device_add(ecovec_ceu_devices[1]);

	gpiod_add_lookup_table(&cn12_power_gpiod_table);
+1 −1
Original line number Diff line number Diff line
@@ -603,7 +603,7 @@ static int __init kfr2r09_devices_setup(void)
	device_initialize(&kfr2r09_ceu_device.dev);
	dma_declare_coherent_memory(&kfr2r09_ceu_device.dev,
			ceu_dma_membase, ceu_dma_membase,
			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
			CEU_BUFFER_MEMORY_SIZE);

	platform_device_add(&kfr2r09_ceu_device);

+1 −1
Original line number Diff line number Diff line
@@ -604,7 +604,7 @@ static int __init migor_devices_setup(void)
	device_initialize(&migor_ceu_device.dev);
	dma_declare_coherent_memory(&migor_ceu_device.dev,
			ceu_dma_membase, ceu_dma_membase,
			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
			CEU_BUFFER_MEMORY_SIZE);

	platform_device_add(&migor_ceu_device);

+2 −4
Original line number Diff line number Diff line
@@ -940,15 +940,13 @@ static int __init devices_setup(void)
	device_initialize(&ms7724se_ceu_devices[0]->dev);
	dma_declare_coherent_memory(&ms7724se_ceu_devices[0]->dev,
				    ceu0_dma_membase, ceu0_dma_membase,
				    ceu0_dma_membase +
				    CEU_BUFFER_MEMORY_SIZE - 1);
				    CEU_BUFFER_MEMORY_SIZE);
	platform_device_add(ms7724se_ceu_devices[0]);

	device_initialize(&ms7724se_ceu_devices[1]->dev);
	dma_declare_coherent_memory(&ms7724se_ceu_devices[1]->dev,
				    ceu1_dma_membase, ceu1_dma_membase,
				    ceu1_dma_membase +
				    CEU_BUFFER_MEMORY_SIZE - 1);
				    CEU_BUFFER_MEMORY_SIZE);
	platform_device_add(ms7724se_ceu_devices[1]);

	return platform_add_devices(ms7724se_devices,
Loading