Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp495823imu; Wed, 9 Jan 2019 01:09:41 -0800 (PST) X-Google-Smtp-Source: ALg8bN4qSkkZD7tzL5LcwNYq4okhrsg3VY2hXjuPQVTku13dPqOI32VWVZhN8aj5b4bAvb7IL4Nk X-Received: by 2002:a63:4611:: with SMTP id t17mr4614388pga.119.1547024981350; Wed, 09 Jan 2019 01:09:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547024981; cv=none; d=google.com; s=arc-20160816; b=C9r10Lgz92lv3OS87TPqIlc8YrEFMnW7ReeYMW9YSNtbi/Qi75FfnnmftAUgRbCev8 QOk2JH8M9lNXUwpUMz5G9Mvh5XhsOE3v0F/xL7+eiBn0YF3hEL2TCKjd7kw6Nue0fBUP Hg9kHsbpQe4KQPFR9sRnyLKYParPJW/EZe13uV2I8LLwVCk3YDkklZQGZou1ikomMcmO LGA7ROzmbct+M0XUFBQFq3FBd1ivpL/pRBy7FBc68eZ5Lf7e9Kz+YTzaJbq2iHzbNyby wLeaH0ODdIQkeYp9P2S0+T1IcjEj3RftkIA3vBfxTxTpk4/oaQdcimFPGCzFW4WJcuTO jYIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=GpjQ2KuVGeLWDMlEkWDph2LxNSO1M1yCZqMlnLB5rUw=; b=Abnsp636Y9voMPWArh0RuMFYLw2f67uzQWbaN1geyX1lJsIL/osrgWp8s9uF7CN5NN PBFktrt+4ExJ4qnksx+XIomm7pQg1VAP4uSQYl5/xcLehvoVj5SLsxgksTS9I/ume0pS 8CEJir0nvrmsQwbSl6U9z54WY1JGndSGskNV/kt0zE4vvgLLHCPrghdMQv/AP9JpQzh2 JWtdX3KPSqpCvxCeGRpYECVtvo1HdBBxhVSaraQiemMe6OpzBi4xOH0zrX2Quz5mz482 Zz/80csI5PwBJu4J5Ma/rfH+cdw3RnK5pWm1LsUeSspFPa1pOLh6z0TBF+A6yN9nDDha G1Ag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u21si66348766pgg.463.2019.01.09.01.09.25; Wed, 09 Jan 2019 01:09:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729750AbfAIJIK (ORCPT + 99 others); Wed, 9 Jan 2019 04:08:10 -0500 Received: from zg8tmtu5ljy1ljeznc42.icoremail.net ([159.65.134.6]:37211 "HELO zg8tmtu5ljy1ljeznc42.icoremail.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1728138AbfAIJIK (ORCPT ); Wed, 9 Jan 2019 04:08:10 -0500 Received: from localhost (unknown [114.255.3.133]) by email1 (Coremail) with SMTP id AQBjCgDX3fnFuTVcpkUhCg--.7191S2; Wed, 09 Jan 2019 17:07:23 +0800 (CST) From: Peng Wang To: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Wang Subject: [PATCH] mm/slub.c: re-randomize random_seq if necessary Date: Wed, 9 Jan 2019 17:06:27 +0800 Message-Id: <20190109090628.1695-1-rocking@whu.edu.cn> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: AQBjCgDX3fnFuTVcpkUhCg--.7191S2 X-Coremail-Antispam: 1UD129KBjvdXoW7XFW3JF4rtrykXrWxXrWrXwb_yoW3tFX_ua y0yFy5Ar48GF4qkFyUZr4rJFWfC397uFnruasFvay7Ja4DtrnIyryUW3ykuFWxuFyv9FW5 GFW7G397Aa4vgjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbcxFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j 6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY02Avz4vE14v_GFWl 42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJV WUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAK I48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r 4UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF 0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUjMmh5UUUUU== X-CM-SenderInfo: qsqrijaqrviiqqxyq4lkxovvfxof0/ Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org calculate_sizes() could be called in several places like (red_zone/poison/order/store_user)_store() while random_seq remains unchanged. If random_seq is not NULL in calculate_sizes(), re-randomize it. Signed-off-by: Peng Wang --- mm/slub.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 1e3d0ec4e200..2a9d18019545 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3583,6 +3583,15 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order) if (oo_objects(s->oo) > oo_objects(s->max)) s->max = s->oo; +#ifdef CONFIG_SLAB_FREELIST_RANDOM + if (unlikely(s->random_seq)) { + kfree(s->random_seq); + s->random_seq = NULL; + if (init_cache_random_seq(s)) + return 0; + } +#endif + return !!oo_objects(s->oo); } -- 2.19.1