Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp42563pxf; Wed, 24 Mar 2021 20:22:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBTGlB+pgeUvw2B6rqyBMVrrixlGKXmSRNq/9Uq3dmcRl5VAm2ptfbD7I+RgUyt3Hd1kWs X-Received: by 2002:a17:906:bd2:: with SMTP id y18mr7144422ejg.482.1616642575560; Wed, 24 Mar 2021 20:22:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616642575; cv=none; d=google.com; s=arc-20160816; b=zIdi9vMxvDMPde7hxD4vZVV+vhgEy2kSWnv/mSzreC3fOjDggQ9DxrDgRXkoUGzMVn +WFe7tFFJuJ1hYRl4pAddiB4KwnrLDvHzbNu7oAvNdineKqjKUAWI+Xq/0zYAwTcHUQK Zhm5gvKBDjg5lChs+Lol9xiBoMOqbRH+rCnl/WVaQdyoVS19GmrTsVQ9ngU/TvCgSdq3 rAkVOOzcRDVM2R8f5LElEo/vFb1HmItxa5ixqLvfmiHELdbr5/yqtxwp/ypFEFIbfST+ 775dBfyuM3KT8/hvbkZ6HupUzTe8l6+plJCrhW6JSQza08+VEO63uFxwhPRaLl9j1aDU E8Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=USTLtYBddABHrCkfh8cUV6zNpEAW0Ov01BpHFOTxbnQ=; b=ZS9ICVsEWee8fV3BvsRMz980npRBe+30xJckKfmJ/G1LiXqjx0Vh3dkoc7MstyVf/s Hj3CE0I05Lmel0upFGLeDXuU9MzrbwV8bHhxA1iXS5mZRTS04u+jXwigSgVPM7J9zno3 Ao/UEQ6bXYtQ2lARyoEYxbvlz4jitFLBmSxryAw6XAk16SoDzGIKM+JctpF3IDhl3SvT HBgdjZw/H0tFdgvsX84xpxx8dxjB8iMerhxigLrAW8e4SMZN3iVNqJmFUZ18JgGvaLjT /fd2pNQAKUi5XMH68sK9YZ9GQ98YnibBzZnAryJoXRLoRLp5mF4HwmT56f7gOJzW7nq2 5Y8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=w3abrHi+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id kk22si3252907ejc.98.2021.03.24.20.22.33; Wed, 24 Mar 2021 20:22:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=w3abrHi+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230308AbhCXSzn (ORCPT + 99 others); Wed, 24 Mar 2021 14:55:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51508 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237571AbhCXSzM (ORCPT ); Wed, 24 Mar 2021 14:55:12 -0400 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3618C0613DE for ; Wed, 24 Mar 2021 11:55:11 -0700 (PDT) Received: by mail-ej1-x62f.google.com with SMTP id u21so16665333ejo.13 for ; Wed, 24 Mar 2021 11:55:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=USTLtYBddABHrCkfh8cUV6zNpEAW0Ov01BpHFOTxbnQ=; b=w3abrHi+NxbMHphiQvyDtmRcFsDLtW5AQyYp20f3KJPpuwYsWX3fJsqfzMzYnMhH/R Fk30eR/4s0H8kaLLhRboOVth2XKChSMtBFt667SxwIvELjtVW1NdYqcPLcTXbDirW9su VV5Gdz9dQvlcw8JGpg5hiBoXgZz1a9odf4hgkD68ghazH32AXiLvt4ELIilfjsFwxh7o uRQv+KhH8FGKU5sEUSsj5ov2iRnQYKS8tLSWz24eQEl7hShVRBabZRvsmbULUdUQ79p3 ETSLU+2C06bf+9iXAM9KoAFTxuBVHwyAZXeVzhfindb0zDHb6bg2iAUnxX15PsTyx+ET Yqdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=USTLtYBddABHrCkfh8cUV6zNpEAW0Ov01BpHFOTxbnQ=; b=TiwL3V+/CylMFzCjg2jEvG1c9dWG2NDObEIXSHa2vr6Cd9jOQKJ17hKUgEkVOYn+0n gnWwoIEbP/5bT6+DPrcK5dQd673PNlelpeUPZyZSc7bq4N7gve6k3essiAHt5um8pnO5 VuA+IFDpRDFmPe1MyeTYFr0pmxzDtHUgUP4m7MH/MaCkvJyImVg0q7u6UOHNwYGAwQpP MuwdwYEoTUU35Su2sI1uua1xGTVI1UJSSvCDLRwnHAy0VEhUxYR8yn7B50qAhyeoh1PK bkLroBWJUD2h2sKk53iNMkOGL1AB7hBIV7rgO19U7NxWcTDnX9N40eqVQVC1WMnuId2h cQEw== X-Gm-Message-State: AOAM5314vDjsqWtME6yzfOHD1R9p8BpP8pkJZx1tZ3B4/dj0LGXrPeyK 6Aig3pwIXVz08aSJbRfaqBLkB8qM1dLW1KWz7rWp6w== X-Received: by 2002:a17:906:2bc3:: with SMTP id n3mr5381135ejg.418.1616612110562; Wed, 24 Mar 2021 11:55:10 -0700 (PDT) MIME-Version: 1.0 References: <20210324141635.22335-1-rrichter@amd.com> In-Reply-To: <20210324141635.22335-1-rrichter@amd.com> From: Dan Williams Date: Wed, 24 Mar 2021 11:54:59 -0700 Message-ID: Subject: Re: [PATCH] cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX To: Robert Richter Cc: Alison Schofield , Vishal Verma , Ira Weiny , Ben Widawsky , linux-cxl@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 24, 2021 at 7:17 AM Robert Richter wrote: > > Typically the mem_commands[] array is in sync with 'enum { CXL_CMDS }'. > Current code works well. > > However, the array size of mem_commands[] may not strictly be the same > as CXL_MEM_COMMAND_ID_MAX. E.g. if a new CXL_CMD() is added that is > guarded by #ifdefs, the array could be shorter. This could lead then > further to an out-of-bounds array access in cxl_validate_cmd_from_user(). Good catch. > > Fix this by forcing the array size to CXL_MEM_COMMAND_ID_MAX. This > also adds range checks for array items in mem_commands[] at compile > time. > > Signed-off-by: Robert Richter Thanks, applied.