linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Jonas Gorski <jonas.gorski@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Paul Burton <paulburton@kernel.org>,
	linux-mips@vger.kernel.org, Ralf Baechle <ralf@linux-mips.org>,
	James Hogan <jhogan@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 4.19 30/38] MIPS: bmips: mark exception vectors as char arrays
Date: Wed, 30 Oct 2019 11:53:58 -0400	[thread overview]
Message-ID: <20191030155406.10109-30-sashal@kernel.org> (raw)
In-Reply-To: <20191030155406.10109-1-sashal@kernel.org>

From: Jonas Gorski <jonas.gorski@gmail.com>

[ Upstream commit e4f5cb1a9b27c0f94ef4f5a0178a3fde2d3d0e9e ]

The vectors span more than one byte, so mark them as arrays.

Fixes the following build error when building when using GCC 8.3:

In file included from ./include/linux/string.h:19,
                 from ./include/linux/bitmap.h:9,
                 from ./include/linux/cpumask.h:12,
                 from ./arch/mips/include/asm/processor.h:15,
                 from ./arch/mips/include/asm/thread_info.h:16,
                 from ./include/linux/thread_info.h:38,
                 from ./include/asm-generic/preempt.h:5,
                 from ./arch/mips/include/generated/asm/preempt.h:1,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/mmzone.h:8,
                 from ./include/linux/bootmem.h:8,
                 from arch/mips/bcm63xx/prom.c:10:
arch/mips/bcm63xx/prom.c: In function 'prom_init':
./arch/mips/include/asm/string.h:162:11: error: '__builtin_memcpy' forming offset [2, 32] is out of the bounds [0, 1] of object 'bmips_smp_movevec' with type 'char' [-Werror=array-bounds]
   __ret = __builtin_memcpy((dst), (src), __len); \
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/bcm63xx/prom.c:97:3: note: in expansion of macro 'memcpy'
   memcpy((void *)0xa0000200, &bmips_smp_movevec, 0x20);
   ^~~~~~
In file included from arch/mips/bcm63xx/prom.c:14:
./arch/mips/include/asm/bmips.h:80:13: note: 'bmips_smp_movevec' declared here
 extern char bmips_smp_movevec;

Fixes: 18a1eef92dcd ("MIPS: BMIPS: Introduce bmips.h")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/mips/bcm63xx/prom.c      |  2 +-
 arch/mips/include/asm/bmips.h | 10 +++++-----
 arch/mips/kernel/smp-bmips.c  |  8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/mips/bcm63xx/prom.c b/arch/mips/bcm63xx/prom.c
index 7019e2967009e..bbbf8057565b2 100644
--- a/arch/mips/bcm63xx/prom.c
+++ b/arch/mips/bcm63xx/prom.c
@@ -84,7 +84,7 @@ void __init prom_init(void)
 		 * Here we will start up CPU1 in the background and ask it to
 		 * reconfigure itself then go back to sleep.
 		 */
-		memcpy((void *)0xa0000200, &bmips_smp_movevec, 0x20);
+		memcpy((void *)0xa0000200, bmips_smp_movevec, 0x20);
 		__sync();
 		set_c0_cause(C_SW0);
 		cpumask_set_cpu(1, &bmips_booted_mask);
diff --git a/arch/mips/include/asm/bmips.h b/arch/mips/include/asm/bmips.h
index bf6a8afd7ad27..581a6a3c66e40 100644
--- a/arch/mips/include/asm/bmips.h
+++ b/arch/mips/include/asm/bmips.h
@@ -75,11 +75,11 @@ static inline int register_bmips_smp_ops(void)
 #endif
 }
 
-extern char bmips_reset_nmi_vec;
-extern char bmips_reset_nmi_vec_end;
-extern char bmips_smp_movevec;
-extern char bmips_smp_int_vec;
-extern char bmips_smp_int_vec_end;
+extern char bmips_reset_nmi_vec[];
+extern char bmips_reset_nmi_vec_end[];
+extern char bmips_smp_movevec[];
+extern char bmips_smp_int_vec[];
+extern char bmips_smp_int_vec_end[];
 
 extern int bmips_smp_enabled;
 extern int bmips_cpu_offset;
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index 159e83add4bb3..5ec546b5eed1c 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -457,10 +457,10 @@ static void bmips_wr_vec(unsigned long dst, char *start, char *end)
 
 static inline void bmips_nmi_handler_setup(void)
 {
-	bmips_wr_vec(BMIPS_NMI_RESET_VEC, &bmips_reset_nmi_vec,
-		&bmips_reset_nmi_vec_end);
-	bmips_wr_vec(BMIPS_WARM_RESTART_VEC, &bmips_smp_int_vec,
-		&bmips_smp_int_vec_end);
+	bmips_wr_vec(BMIPS_NMI_RESET_VEC, bmips_reset_nmi_vec,
+		bmips_reset_nmi_vec_end);
+	bmips_wr_vec(BMIPS_WARM_RESTART_VEC, bmips_smp_int_vec,
+		bmips_smp_int_vec_end);
 }
 
 struct reset_vec_info {
-- 
2.20.1


  parent reply	other threads:[~2019-10-30 15:55 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-30 15:53 [PATCH AUTOSEL 4.19 01/38] regulator: of: fix suspend-min/max-voltage parsing Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 02/38] ASoC: wm8994: Do not register inapplicable controls for WM1811 Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 03/38] arm64: dts: allwinner: a64: pine64-plus: Add PHY regulator delay Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 04/38] arm64: dts: allwinner: a64: sopine-baseboard: " Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 05/38] arm64: dts: Fix gpio to pinmux mapping Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 06/38] regulator: ti-abb: Fix timeout in ti_abb_wait_txdone/ti_abb_clear_all_txdone Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 07/38] ASoC: rt5682: add NULL handler to set_jack function Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 08/38] regulator: pfuze100-regulator: Variable "val" in pfuze100_regulator_probe() could be uninitialized Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 09/38] ASoC: wm_adsp: Don't generate kcontrols without READ flags Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 10/38] ASoc: rockchip: i2s: Fix RPM imbalance Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 11/38] ARM: dts: logicpd-torpedo-som: Remove twl_keypad Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 12/38] pinctrl: ns2: Fix off by one bugs in ns2_pinmux_enable() Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 13/38] ARM: mm: fix alignment handler faults under memory pressure Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 14/38] scsi: qla2xxx: fix a potential NULL pointer dereference Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 15/38] scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 16/38] scsi: sni_53c710: fix compilation error Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 17/38] scsi: fix kconfig dependency warning related to 53C700_LE_ON_BE Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 18/38] ARM: 8914/1: NOMMU: Fix exc_ret for XIP Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 19/38] ARM: dts: imx7s: Correct GPT's ipg clock source Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 20/38] perf c2c: Fix memory leak in build_cl_output() Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 21/38] USB: legousbtower: fix a signedness bug in tower_probe() Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 22/38] 8250-men-mcb: fix error checking when get_num_ports returns -ENODEV Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 23/38] perf kmem: Fix memory leak in compact_gfp_flags() Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 24/38] ARM: davinci: dm365: Fix McBSP dma_slave_map entry Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 25/38] drm/amdgpu: fix potential VM faults Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 26/38] scsi: target: core: Do not overwrite CDB byte 1 Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 27/38] tracing: Fix "gfp_t" format for synthetic events Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 28/38] ARM: 8926/1: v7m: remove register save to stack before svc Sasha Levin
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 29/38] of: unittest: fix memory leak in unittest_data_add Sasha Levin
2019-10-30 15:53 ` Sasha Levin [this message]
2019-10-30 15:53 ` [PATCH AUTOSEL 4.19 31/38] irqchip/gic-v3-its: Use the exact ITSList for VMOVP Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 32/38] i2c: stm32f7: fix first byte to send in slave mode Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 33/38] i2c: stm32f7: fix a race in slave mode with arbitration loss irq Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 34/38] i2c: stm32f7: remove warning when compiling with W=1 Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 35/38] cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 36/38] nbd: protect cmd->status with cmd->lock Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 37/38] nbd: handle racing with error'ed out commands Sasha Levin
2019-10-30 15:54 ` [PATCH AUTOSEL 4.19 38/38] nbd: verify socket is supported during setup Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191030155406.10109-30-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=jhogan@kernel.org \
    --cc=jonas.gorski@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=paulburton@kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).