Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755373AbbHFKHL (ORCPT ); Thu, 6 Aug 2015 06:07:11 -0400 Received: from mail-io0-f176.google.com ([209.85.223.176]:34217 "EHLO mail-io0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754679AbbHFKHJ (ORCPT ); Thu, 6 Aug 2015 06:07:09 -0400 MIME-Version: 1.0 In-Reply-To: <20150805131406.8bd8a1a6d2a6691aa6eedd34@linux-foundation.org> References: <1438782403-29496-1-git-send-email-ddstreet@ieee.org> <1438782403-29496-4-git-send-email-ddstreet@ieee.org> <20150805131406.8bd8a1a6d2a6691aa6eedd34@linux-foundation.org> From: Dan Streetman Date: Thu, 6 Aug 2015 06:06:49 -0400 X-Google-Sender-Auth: hjbEx0ycRhm9UkPZIlB5eR_qLqE Message-ID: Subject: Re: [PATCH 3/3] zswap: change zpool/compressor at runtime To: Andrew Morton Cc: Seth Jennings , Linux-MM , linux-kernel 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: 1668 Lines: 42 On Wed, Aug 5, 2015 at 4:14 PM, Andrew Morton wrote: > On Wed, 5 Aug 2015 09:46:43 -0400 Dan Streetman wrote: > >> Update the zpool and compressor parameters to be changeable at runtime. >> When changed, a new pool is created with the requested zpool/compressor, >> and added as the current pool at the front of the pool list. Previous >> pools remain in the list only to remove existing compressed pages from. >> The old pool(s) are removed once they become empty. >> >> +/********************************* >> +* param callbacks >> +**********************************/ >> + >> +static int __zswap_param_set(const char *val, const struct kernel_param *kp, >> + char *type, char *compressor) >> +{ >> + struct zswap_pool *pool, *put_pool = NULL; >> + char str[kp->str->maxlen], *s; > > What's the upper bound on the size of this variable-sized array? the kernel_param in this function will always be either zswap_compressor_kparam or zswap_zpool_kparam, which are defined at the top, and their maxlen fields are set to sizeof(their string), which is either CRYPTO_MAX_ALG_NAME (currently 64) or 32 (arbitrary max for zpool name). I can also add a comment here to clarify that. > >> + int ret; >> + >> + strlcpy(str, val, kp->str->maxlen); >> + s = strim(str); >> + >> + /* if this is load-time (pre-init) param setting, > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/