lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15d101da37be$818f7f70$84ae7e50$@samsung.com>
Date: Tue, 26 Dec 2023 11:13:49 +0530
From: "Aakarsh Jain" <aakarsh.jain@...sung.com>
To: "'Krzysztof Kozlowski'" <krzysztof.kozlowski@...aro.org>, "'Marek
 Szyprowski'" <m.szyprowski@...sung.com>, "'Andrzej Hajda'"
	<andrzej.hajda@...el.com>, "'Mauro Carvalho Chehab'" <mchehab@...nel.org>
Cc: <linux-fsd@...la.coma>, <linux-samsung-soc@...r.kernel.org>, "'Smitha T
 Murthy'" <smithatmurthy@...il.com>, <linux-arm-kernel@...ts.infradead.org>,
	<linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 05/15] media: s5p-mfc: constify s5p_mfc_buf_size
 structures



> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Sent: 24 December 2023 21:14
> To: Marek Szyprowski <m.szyprowski@...sung.com>; Andrzej Hajda
> <andrzej.hajda@...el.com>; Mauro Carvalho Chehab
> <mchehab@...nel.org>
> Cc: Aakarsh Jain <aakarsh.jain@...sung.com>; linux-fsd@...la.coma; linux-
> samsung-soc@...r.kernel.org; Smitha T Murthy
> <smithatmurthy@...il.com>; linux-arm-kernel@...ts.infradead.org; linux-
> media@...r.kernel.org; linux-kernel@...r.kernel.org; Krzysztof Kozlowski
> <krzysztof.kozlowski@...aro.org>
> Subject: [PATCH 05/15] media: s5p-mfc: constify s5p_mfc_buf_size
> structures
> 
> Static "s5p_mfc_buf_size*" structures are not modified by the driver, so
> they can be made const for code safety.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> ---
>  drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c     | 20 ++++++++++---
> -------
>  .../media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c  |  2 +-
> .../media/platform/samsung/s5p-mfc/s5p_mfc_common.h  |  4 ++--
> drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c |  2 +-
> .../media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c  |  6 +++---
> .../media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c  |  6 +++---
>  6 files changed, 20 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> index e30e54935d79..6af7b812c5df 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> @@ -1516,14 +1516,14 @@ static const struct dev_pm_ops
> s5p_mfc_pm_ops = {
>  	SET_SYSTEM_SLEEP_PM_OPS(s5p_mfc_suspend, s5p_mfc_resume)
> };
> 
> -static struct s5p_mfc_buf_size_v5 mfc_buf_size_v5 = {
> +static const struct s5p_mfc_buf_size_v5 mfc_buf_size_v5 = {
>  	.h264_ctx	= MFC_H264_CTX_BUF_SIZE,
>  	.non_h264_ctx	= MFC_CTX_BUF_SIZE,
>  	.dsc		= DESC_BUF_SIZE,
>  	.shm		= SHARED_BUF_SIZE,
>  };
> 
> -static struct s5p_mfc_buf_size buf_size_v5 = {
> +static const struct s5p_mfc_buf_size buf_size_v5 = {
>  	.fw	= MAX_FW_SIZE,
>  	.cpb	= MAX_CPB_SIZE,
>  	.priv	= &mfc_buf_size_v5,
> @@ -1540,7 +1540,7 @@ static struct s5p_mfc_variant mfc_drvdata_v5 = {
>  	.use_clock_gating = true,
>  };
> 
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v6 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v6 = {
>  	.dev_ctx	= MFC_CTX_BUF_SIZE_V6,
>  	.h264_dec_ctx	= MFC_H264_DEC_CTX_BUF_SIZE_V6,
>  	.other_dec_ctx	= MFC_OTHER_DEC_CTX_BUF_SIZE_V6,
> @@ -1548,7 +1548,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v6
> = {
>  	.other_enc_ctx	= MFC_OTHER_ENC_CTX_BUF_SIZE_V6,
>  };
> 
> -static struct s5p_mfc_buf_size buf_size_v6 = {
> +static const struct s5p_mfc_buf_size buf_size_v6 = {
>  	.fw	= MAX_FW_SIZE_V6,
>  	.cpb	= MAX_CPB_SIZE_V6,
>  	.priv	= &mfc_buf_size_v6,
> @@ -1569,7 +1569,7 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = {
>  	.num_clocks	= 1,
>  };
> 
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v7 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v7 = {
>  	.dev_ctx	= MFC_CTX_BUF_SIZE_V7,
>  	.h264_dec_ctx	= MFC_H264_DEC_CTX_BUF_SIZE_V7,
>  	.other_dec_ctx	= MFC_OTHER_DEC_CTX_BUF_SIZE_V7,
> @@ -1577,7 +1577,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v7
> = {
>  	.other_enc_ctx	= MFC_OTHER_ENC_CTX_BUF_SIZE_V7,
>  };
> 
> -static struct s5p_mfc_buf_size buf_size_v7 = {
> +static const struct s5p_mfc_buf_size buf_size_v7 = {
>  	.fw	= MAX_FW_SIZE_V7,
>  	.cpb	= MAX_CPB_SIZE_V7,
>  	.priv	= &mfc_buf_size_v7,
> @@ -1603,7 +1603,7 @@ static struct s5p_mfc_variant mfc_drvdata_v7_3250
> = {
>  	.num_clocks     = 2,
>  };
> 
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = {
>  	.dev_ctx	= MFC_CTX_BUF_SIZE_V8,
>  	.h264_dec_ctx	= MFC_H264_DEC_CTX_BUF_SIZE_V8,
>  	.other_dec_ctx	= MFC_OTHER_DEC_CTX_BUF_SIZE_V8,
> @@ -1611,7 +1611,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8
> = {
>  	.other_enc_ctx	= MFC_OTHER_ENC_CTX_BUF_SIZE_V8,
>  };
> 
> -static struct s5p_mfc_buf_size buf_size_v8 = {
> +static const struct s5p_mfc_buf_size buf_size_v8 = {
>  	.fw	= MAX_FW_SIZE_V8,
>  	.cpb	= MAX_CPB_SIZE_V8,
>  	.priv	= &mfc_buf_size_v8,
> @@ -1637,7 +1637,7 @@ static struct s5p_mfc_variant mfc_drvdata_v8_5433
> = {
>  	.num_clocks	= 3,
>  };
> 
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
>  	.dev_ctx        = MFC_CTX_BUF_SIZE_V10,
>  	.h264_dec_ctx   = MFC_H264_DEC_CTX_BUF_SIZE_V10,
>  	.other_dec_ctx  = MFC_OTHER_DEC_CTX_BUF_SIZE_V10, @@ -
> 1646,7 +1646,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
>  	.other_enc_ctx  = MFC_OTHER_ENC_CTX_BUF_SIZE_V10,  };
> 
> -static struct s5p_mfc_buf_size buf_size_v10 = {
> +static const struct s5p_mfc_buf_size buf_size_v10 = {
>  	.fw     = MAX_FW_SIZE_V10,
>  	.cpb    = MAX_CPB_SIZE_V10,
>  	.priv   = &mfc_buf_size_v10,
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> index f8588e52dfc8..25c4719a5dd0 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> @@ -32,7 +32,7 @@ static int s5p_mfc_cmd_host2risc_v6(struct
> s5p_mfc_dev *dev, int cmd,  static int s5p_mfc_sys_init_cmd_v6(struct
> s5p_mfc_dev *dev)  {
>  	struct s5p_mfc_cmd_args h2r_args;
> -	struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
>  	int ret;
> 
>  	ret = s5p_mfc_hw_call(dev->mfc_ops, alloc_dev_context_buffer,
> dev); diff --git a/drivers/media/platform/samsung/s5p-
> mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-
> mfc/s5p_mfc_common.h
> index f33a755327ef..6a47f3434c60 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h
> @@ -219,14 +219,14 @@ struct s5p_mfc_buf_size_v6 {  struct
> s5p_mfc_buf_size {
>  	unsigned int fw;
>  	unsigned int cpb;
> -	void *priv;
> +	const void *priv;
>  };
> 
>  struct s5p_mfc_variant {
>  	unsigned int version;
>  	unsigned int port_num;
>  	u32 version_bit;
> -	struct s5p_mfc_buf_size *buf_size;
> +	const struct s5p_mfc_buf_size *buf_size;
>  	const char	*fw_name[MFC_FW_MAX_VERSIONS];
>  	const char	*clk_names[MFC_MAX_CLOCKS];
>  	int		num_clocks;
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> index 268ffe4da53c..4dbe8792ac3d 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> @@ -426,7 +426,7 @@ static int vidioc_s_fmt(struct file *file, void *priv,
> struct v4l2_format *f)
>  	struct s5p_mfc_ctx *ctx = fh_to_ctx(priv);
>  	int ret = 0;
>  	struct v4l2_pix_format_mplane *pix_mp;
> -	struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> +	const struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> 
>  	mfc_debug_enter();
>  	ret = vidioc_try_fmt(file, priv, f);
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> index 28a06dc343fd..13a3ff55e547 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> @@ -34,7 +34,7 @@
>  static int s5p_mfc_alloc_dec_temp_buffers_v5(struct s5p_mfc_ctx *ctx)  {
>  	struct s5p_mfc_dev *dev = ctx->dev;
> -	struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
>  	int ret;
> 
>  	ctx->dsc.size = buf_size->dsc;
> @@ -200,7 +200,7 @@ static void s5p_mfc_release_codec_buffers_v5(struct
> s5p_mfc_ctx *ctx)  static int s5p_mfc_alloc_instance_buffer_v5(struct
> s5p_mfc_ctx *ctx)  {
>  	struct s5p_mfc_dev *dev = ctx->dev;
> -	struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
>  	int ret;
> 
>  	if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || @@ -345,7
> +345,7 @@ static void s5p_mfc_enc_calc_src_size_v5(struct s5p_mfc_ctx
> *ctx)  static void s5p_mfc_set_dec_desc_buffer(struct s5p_mfc_ctx *ctx)  {
>  	struct s5p_mfc_dev *dev = ctx->dev;
> -	struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
> 
>  	mfc_write(dev, OFFSETA(ctx->dsc.dma),
> S5P_FIMV_SI_CH0_DESC_ADR);
>  	mfc_write(dev, buf_size->dsc, S5P_FIMV_SI_CH0_DESC_SIZE); diff --
> git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
> index c0df5ac9fcff..70a62400908e 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
> @@ -333,7 +333,7 @@ static void s5p_mfc_release_codec_buffers_v6(struct
> s5p_mfc_ctx *ctx)  static int s5p_mfc_alloc_instance_buffer_v6(struct
> s5p_mfc_ctx *ctx)  {
>  	struct s5p_mfc_dev *dev = ctx->dev;
> -	struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
>  	int ret;
> 
>  	mfc_debug_enter();
> @@ -393,7 +393,7 @@ static void
> s5p_mfc_release_instance_buffer_v6(struct s5p_mfc_ctx *ctx)
>  /* Allocate context buffers for SYS_INIT */  static int
> s5p_mfc_alloc_dev_context_buffer_v6(struct s5p_mfc_dev *dev)  {
> -	struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> +	const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
>  	int ret;
> 
>  	mfc_debug_enter();
> @@ -493,7 +493,7 @@ static int s5p_mfc_set_dec_stream_buffer_v6(struct
> s5p_mfc_ctx *ctx,  {
>  	struct s5p_mfc_dev *dev = ctx->dev;
>  	const struct s5p_mfc_regs *mfc_regs = dev->mfc_regs;
> -	struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> +	const struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> 
>  	mfc_debug_enter();
>  	mfc_debug(2, "inst_no: %d, buf_addr: 0x%08x,\n"
> 
> --
> 2.34.1

Reviewed-by: Aakarsh Jain <aakarsh.jain@...sung.com>

Thanks!


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ