Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751554AbdLKTYJ (ORCPT ); Mon, 11 Dec 2017 14:24:09 -0500 Received: from mail-vk0-f65.google.com ([209.85.213.65]:39172 "EHLO mail-vk0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750725AbdLKTYI (ORCPT ); Mon, 11 Dec 2017 14:24:08 -0500 X-Google-Smtp-Source: ACJfBoujtpETAXtYdbgyhff9nwaclbReOyOOriejlA5hoypVIi7wiJwdBJqbYaJJNXvBF1aXKeFybbdIsXeWPdNiAi0= MIME-Version: 1.0 In-Reply-To: <20171211125043.GA17299@pjb1027-Latitude-E5410> References: <20171211125043.GA17299@pjb1027-Latitude-E5410> From: Kees Cook Date: Mon, 11 Dec 2017 11:24:06 -0800 X-Google-Sender-Auth: XtkgyDrNapysGr1Wo2D512c2zuM Message-ID: Subject: Re: [kernel-hardening][PATCH] arm: hw_breakpoint: Mark variables as __ro_after_init To: Jinbum Park Cc: linux-arm-kernel@lists.infradead.org, LKML , kernel-hardening@lists.openwall.com, Will Deacon , Mark Rutland , Russell King Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1560 Lines: 54 On Mon, Dec 11, 2017 at 4:50 AM, Jinbum Park wrote: > core_num_brps, core_num_wrps, debug_arch, has_ossr, > max_watchpoint_len are setup once while init stage, > and never changed after that. > so it is good candidate for __ro_after_init. > > Signed-off-by: Jinbum Park Reviewed-by: Kees Cook (Probably good to toss this into the ARM patch tracker.) -Kees > --- > arch/arm/kernel/hw_breakpoint.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c > index af2a7f1..629e251 100644 > --- a/arch/arm/kernel/hw_breakpoint.c > +++ b/arch/arm/kernel/hw_breakpoint.c > @@ -44,17 +44,17 @@ > static DEFINE_PER_CPU(struct perf_event *, wp_on_reg[ARM_MAX_WRP]); > > /* Number of BRP/WRP registers on this CPU. */ > -static int core_num_brps; > -static int core_num_wrps; > +static int core_num_brps __ro_after_init; > +static int core_num_wrps __ro_after_init; > > /* Debug architecture version. */ > -static u8 debug_arch; > +static u8 debug_arch __ro_after_init; > > /* Does debug architecture support OS Save and Restore? */ > -static bool has_ossr; > +static bool has_ossr __ro_after_init; > > /* Maximum supported watchpoint length. */ > -static u8 max_watchpoint_len; > +static u8 max_watchpoint_len __ro_after_init; > > #define READ_WB_REG_CASE(OP2, M, VAL) \ > case ((OP2 << 4) + M): \ > -- > 1.9.1 > -- Kees Cook Pixel Security