Kernel-hardening archive on lore.kernel.org
 help / color / Atom feed
* [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst
@ 2019-10-20  5:03 Shyam Saini
  2019-10-22 13:56 ` Robin Murphy
  2019-10-30 18:12 ` Christoph Hellwig
  0 siblings, 2 replies; 3+ messages in thread
From: Shyam Saini @ 2019-10-20  5:03 UTC (permalink / raw)
  To: kernel-hardening
  Cc: iommu, linux-kernel, linux-mm, Shyam Saini, Christoph Hellwig,
	Marek Szyprowski, Robin Murphy, Matthew Wilcox,
	Christopher Lameter, Kees Cook

These parameters are only referenced by __init routine calls during early
boot so they should be marked as __initdata and __initconst accordingly.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Christopher Lameter <cl@linux.com>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>
---
V1->V2:
	mark cma parameters as __initdata/__initconst
	instead of __ro_after_init. As these parameters
	are only used by __init calls and never used afterwards
	which contrast the __ro_after_init usage.
---
 kernel/dma/contiguous.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c
index 69cfb4345388..10bfc8c44c54 100644
--- a/kernel/dma/contiguous.c
+++ b/kernel/dma/contiguous.c
@@ -42,10 +42,10 @@ struct cma *dma_contiguous_default_area;
  * Users, who want to set the size of global CMA area for their system
  * should use cma= kernel parameter.
  */
-static const phys_addr_t size_bytes = (phys_addr_t)CMA_SIZE_MBYTES * SZ_1M;
-static phys_addr_t size_cmdline = -1;
-static phys_addr_t base_cmdline;
-static phys_addr_t limit_cmdline;
+static const phys_addr_t size_bytes __initconst = (phys_addr_t)CMA_SIZE_MBYTES * SZ_1M;
+static phys_addr_t  size_cmdline __initdata = -1;
+static phys_addr_t base_cmdline __initdata;
+static phys_addr_t limit_cmdline __initdata;
 
 static int __init early_cma(char *p)
 {
-- 
2.20.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst
  2019-10-20  5:03 [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst Shyam Saini
@ 2019-10-22 13:56 ` Robin Murphy
  2019-10-30 18:12 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Robin Murphy @ 2019-10-22 13:56 UTC (permalink / raw)
  To: Shyam Saini, kernel-hardening
  Cc: iommu, linux-kernel, linux-mm, Christoph Hellwig,
	Marek Szyprowski, Matthew Wilcox, Christopher Lameter, Kees Cook

On 20/10/2019 06:03, Shyam Saini wrote:
> These parameters are only referenced by __init routine calls during early
> boot so they should be marked as __initdata and __initconst accordingly.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Cc: Matthew Wilcox <willy@infradead.org>
> Cc: Christopher Lameter <cl@linux.com>
> Cc: Kees Cook <keescook@chromium.org>
> Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>
> ---
> V1->V2:
> 	mark cma parameters as __initdata/__initconst
> 	instead of __ro_after_init. As these parameters
> 	are only used by __init calls and never used afterwards
> 	which contrast the __ro_after_init usage.
> ---
>   kernel/dma/contiguous.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c
> index 69cfb4345388..10bfc8c44c54 100644
> --- a/kernel/dma/contiguous.c
> +++ b/kernel/dma/contiguous.c
> @@ -42,10 +42,10 @@ struct cma *dma_contiguous_default_area;
>    * Users, who want to set the size of global CMA area for their system
>    * should use cma= kernel parameter.
>    */
> -static const phys_addr_t size_bytes = (phys_addr_t)CMA_SIZE_MBYTES * SZ_1M;
> -static phys_addr_t size_cmdline = -1;
> -static phys_addr_t base_cmdline;
> -static phys_addr_t limit_cmdline;
> +static const phys_addr_t size_bytes __initconst = (phys_addr_t)CMA_SIZE_MBYTES * SZ_1M;
> +static phys_addr_t  size_cmdline __initdata = -1;
> +static phys_addr_t base_cmdline __initdata;
> +static phys_addr_t limit_cmdline __initdata;
>   
>   static int __init early_cma(char *p)
>   {
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst
  2019-10-20  5:03 [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst Shyam Saini
  2019-10-22 13:56 ` Robin Murphy
@ 2019-10-30 18:12 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2019-10-30 18:12 UTC (permalink / raw)
  To: Shyam Saini
  Cc: kernel-hardening, iommu, linux-kernel, linux-mm,
	Christoph Hellwig, Marek Szyprowski, Robin Murphy,
	Matthew Wilcox, Christopher Lameter, Kees Cook

Applied to the dma-mapping for-next branch after fixing up the commit
message and an overly long line.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-20  5:03 [PATCH V2] kernel: dma: contigous: Make CMA parameters __initdata/__initconst Shyam Saini
2019-10-22 13:56 ` Robin Murphy
2019-10-30 18:12 ` Christoph Hellwig

Kernel-hardening archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/kernel-hardening/0 kernel-hardening/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kernel-hardening kernel-hardening/ https://lore.kernel.org/kernel-hardening \
		kernel-hardening@lists.openwall.com
	public-inbox-index kernel-hardening

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/com.openwall.lists.kernel-hardening


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git