From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754571AbcKJHzI (ORCPT ); Thu, 10 Nov 2016 02:55:08 -0500 Received: from mail-pf0-f193.google.com ([209.85.192.193]:34746 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754022AbcKJHzG (ORCPT ); Thu, 10 Nov 2016 02:55:06 -0500 Date: Thu, 10 Nov 2016 08:54:58 +0100 From: Vitaly Wool To: Linux-MM , linux-kernel@vger.kernel.org Cc: Dan Streetman , Andrew Morton Subject: [PATCH] z3fold: don't fail kernel build if z3fold_header is too big Message-Id: <20161110085458.53273e9b1c3e0f09bb0e9655@gmail.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently the whole kernel build will be stopped if the size of struct z3fold_header is greater than the size of one chunk, which is 64 bytes by default. This may stand in the way of automated test/debug builds so let's remove that and fail the z3fold initialization in such case instead. Signed-off-by: Vitaly Wool --- mm/z3fold.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mm/z3fold.c b/mm/z3fold.c index cd3713d..5fe2652 100644 --- a/mm/z3fold.c +++ b/mm/z3fold.c @@ -866,10 +866,15 @@ MODULE_ALIAS("zpool-z3fold"); static int __init init_z3fold(void) { - /* Make sure the z3fold header will fit in one chunk */ - BUILD_BUG_ON(sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED); - zpool_register_driver(&z3fold_zpool_driver); + /* Fail the initialization if z3fold header won't fit in one chunk */ + if (sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED) { + pr_err("z3fold: z3fold_header size (%d) is bigger than " + "the chunk size (%d), can't proceed\n", + sizeof(struct z3fold_header) , ZHDR_SIZE_ALIGNED); + return -E2BIG; + } + zpool_register_driver(&z3fold_zpool_driver); return 0; } -- 2.4.2