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 5635FC433EF for ; Wed, 18 May 2022 07:49:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E890A6B007D; Wed, 18 May 2022 03:49:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E389E6B007E; Wed, 18 May 2022 03:49:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D000A6B0080; Wed, 18 May 2022 03:49:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C446C6B007D for ; Wed, 18 May 2022 03:49:35 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 96D8731871 for ; Wed, 18 May 2022 07:49:35 +0000 (UTC) X-FDA: 79478089110.04.5534049 Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) by imf11.hostedemail.com (Postfix) with ESMTP id CC43D400D4 for ; Wed, 18 May 2022 07:49:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1652860174; x=1684396174; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=99lVhG/h33c7dvn7i8VK817/c8neC8rVGDsrRyn9LtQ=; b=WMqzMvhLSs4ApBE84jbIGjW2SjW72Xh56CXeu+kjUazjvN4nd9Zkwahe D034fQ8OPBntFW2Ojxu2Cjt5bdkNcdqcV0UFGNBZ4UITJ2D20J+DSfQWr c+HbjP+583sC8hyhpYpNx9DCTnrsm1vhQZ7H+2+Y3BWuUaKFtfH10XJK4 g=; Received: from unknown (HELO ironmsg05-sd.qualcomm.com) ([10.53.140.145]) by alexa-out-sd-02.qualcomm.com with ESMTP; 18 May 2022 00:49:34 -0700 X-QCInternal: smtphost Received: from unknown (HELO nasanex01a.na.qualcomm.com) ([10.52.223.231]) by ironmsg05-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2022 00:49:33 -0700 Received: from blr-ubuntu-185.qualcomm.com (10.80.80.8) by nasanex01a.na.qualcomm.com (10.52.223.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 18 May 2022 00:49:25 -0700 From: Vivek Kumar To: , , , , , , , , , , , , , CC: , , , , , , , , , , , , , , Vivek Kumar , Prasanna Kumar Subject: [RFC 4/6] mm: swap: Add randomization check for swapon/off calls Date: Wed, 18 May 2022 13:18:39 +0530 Message-ID: <1652860121-24092-5-git-send-email-quic_vivekuma@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1652860121-24092-1-git-send-email-quic_vivekuma@quicinc.com> References: <1652860121-24092-1-git-send-email-quic_vivekuma@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nasanex01a.na.qualcomm.com (10.52.223.231) X-Stat-Signature: kfakxy5x5jsmxx1tjrgsmf1c3my3kfk1 Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=quicinc.com header.s=qcdkim header.b=WMqzMvhL; spf=pass (imf11.hostedemail.com: domain of quic_vivekuma@quicinc.com designates 199.106.114.39 as permitted sender) smtp.mailfrom=quic_vivekuma@quicinc.com; dmarc=pass (policy=none) header.from=quicinc.com X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: CC43D400D4 X-HE-Tag: 1652860168-458903 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: Add addtional check on swapon/swapoff sycalls to disable randomization of swap offsets if GENHD_FL_NO_RANDOMIZE flag is passed. Signed-off-by: Vivek Kumar Signed-off-by: Prasanna Kumar --- mm/swapfile.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index 1c3d5b9..a3eeab6 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2474,7 +2474,8 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile) if (p->flags & SWP_CONTINUED) free_swap_count_continuations(p); - if (!p->bdev || !bdev_nonrot(p->bdev)) + if (!p->bdev || (p->bdev->bd_disk->flags & GENHD_FL_NO_RANDOMIZE) + || !bdev_nonrot(p->bdev)) atomic_dec(&nr_rotate_swap); mutex_lock(&swapon_mutex); @@ -3065,7 +3066,8 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) if (p->bdev && p->bdev->bd_disk->fops->rw_page) p->flags |= SWP_SYNCHRONOUS_IO; - if (p->bdev && bdev_nonrot(p->bdev)) { + if (p->bdev && !(p->bdev->bd_disk->flags & GENHD_FL_NO_RANDOMIZE) && + bdev_nonrot(p->bdev)) { int cpu; unsigned long ci, nr_cluster; -- 2.7.4