From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B648ECAAD8 for ; Tue, 20 Sep 2022 06:48:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 87CCA80007; Tue, 20 Sep 2022 02:48:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 82CBD940007; Tue, 20 Sep 2022 02:48:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 71BE680007; Tue, 20 Sep 2022 02:48:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 63557940007 for ; Tue, 20 Sep 2022 02:48:55 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3C0A51C7803 for ; Tue, 20 Sep 2022 06:48:55 +0000 (UTC) X-FDA: 79931536230.27.F4F0919 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf14.hostedemail.com (Postfix) with ESMTP id 8DDC310000B for ; Tue, 20 Sep 2022 06:48:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663656534; x=1695192534; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RGdm1aXssN9TFvb1NrVDWI/D7fOta/uR4tLNgHnBB94=; b=gW+oOuCliVebTJ3v1YjDCWY1ptu1sWYceFk6FlXjH+e5rL9tqJks59mV ALknc40nbX7AQ4Px+bYMonyqXwLTurvE19ymqgI0MLHukwmOwrn39rQEk +q9sKxkjPnj1rHAUlYHRE4l+AYp/3mEhrVSdE6gcpF/ta1lurTRV2ce89 GDXyGeB/k/GqaSPoqY7j7yAGkywiGU7iP29lhp38vWFufXSPP7nXt/Gzi oScpyTiG0Y6Nns/2yP4zLqaj8b8XCOdBZDE3KYVBmcQqo1YXG4iRUBaeU uHMAiVSCBMcKcQQbbsE0O5omyqu3oPEBL6hA5sYnlVh9grtc1tFNuvGiA w==; X-IronPort-AV: E=McAfee;i="6500,9779,10475"; a="299604805" X-IronPort-AV: E=Sophos;i="5.93,329,1654585200"; d="scan'208";a="299604805" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Sep 2022 23:48:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,329,1654585200"; d="scan'208";a="681172664" Received: from linux-pnp-server-13.sh.intel.com ([10.239.176.176]) by fmsmga008.fm.intel.com with ESMTP; 19 Sep 2022 23:48:49 -0700 From: Jiebin Sun To: akpm@linux-foundation.org, vasily.averin@linux.dev, shakeelb@google.com, dennis@kernel.org, tj@kernel.org, cl@linux.com, ebiederm@xmission.com, legion@kernel.org, manfred@colorfullife.com, alexander.mikhalitsyn@virtuozzo.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: tim.c.chen@intel.com, feng.tang@intel.com, ying.huang@intel.com, tianyou.li@intel.com, wangyang.guo@intel.com, jiebin.sun@intel.com, Manfred Spraul , Tim Chen Subject: [PATCH] ipc/msg: avoid negative value by overflow in msginfo Date: Tue, 20 Sep 2022 23:08:09 +0800 Message-Id: <20220920150809.4014944-1-jiebin.sun@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <8d74a7d4-b80f-2a0f-ee95-243bdbd51ccd@colorfullife.com> References: <8d74a7d4-b80f-2a0f-ee95-243bdbd51ccd@colorfullife.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=gW+oOuCl; spf=pass (imf14.hostedemail.com: domain of jiebin.sun@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=jiebin.sun@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663656534; a=rsa-sha256; cv=none; b=Gq+1NQRMNGVNwZSjpuzhdx/5y8t+URHTW9iR54OJKxKffNK9OPb4HzAWyhkwQNlX3HZCCQ jmyKwoo5GN99NpGPiRArUrVBhIzJ4ONmVjkmoKVN52XfNzOEVCHPJUcXKPSM1dx3/qt339 ZBmmsImLpQbaQq1JRW9/rmYGOX8Y7ME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663656534; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=U3gB5qFomBkj8LnmPk51r5hA0bTnvyrzZjuSaxWqPDA=; b=pcARgZTPPexi74HEflL+Uc1GM9WNSxI0AFq0guXEZ0FqjxDOjAP1h7jcPqCA6kUa48OkP4 Q71vQJQrkljqdFNmNtxnTlX6rEIcNMQCduvaDFZHpAFU6U0g548hI7PYqWAPGlWG4px6WM Qu4uB0Myp7T6VaNaUjEcfjkjc2M+t8E= X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 8DDC310000B X-Rspam-User: Authentication-Results: imf14.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=gW+oOuCl; spf=pass (imf14.hostedemail.com: domain of jiebin.sun@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=jiebin.sun@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Stat-Signature: g1rym4snfx4fckshfxnn5nu8ygfzsjxz X-HE-Tag: 1663656534-834793 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The 32-bit value in msginfo struct could be negative if we get it from signed 64-bit. Clamping it to INT_MAX helps to avoid the negative value by overflow. Signed-off-by: Jiebin Sun Reviewed-by: Manfred Spraul Reviewed-by: Tim Chen --- ipc/msg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipc/msg.c b/ipc/msg.c index f2bb4c193ecf..65f437e28c9b 100644 --- a/ipc/msg.c +++ b/ipc/msg.c @@ -501,8 +501,8 @@ static int msgctl_info(struct ipc_namespace *ns, int msqid, max_idx = ipc_get_maxidx(&msg_ids(ns)); up_read(&msg_ids(ns).rwsem); if (cmd == MSG_INFO) { - msginfo->msgmap = percpu_counter_sum(&ns->percpu_msg_hdrs); - msginfo->msgtql = percpu_counter_sum(&ns->percpu_msg_bytes); + msginfo->msgmap = min(percpu_counter_sum(&ns->percpu_msg_hdrs), INT_MAX); + msginfo->msgtql = min(percpu_counter_sum(&ns->percpu_msg_bytes), INT_MAX); } else { msginfo->msgmap = MSGMAP; msginfo->msgpool = MSGPOOL; -- 2.31.1