From patchwork Fri Aug 10 00:28:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zhou xianrong X-Patchwork-Id: 10562161 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DA55E14C0 for ; Fri, 10 Aug 2018 00:29:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CAA632B7DF for ; Fri, 10 Aug 2018 00:29:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BE2282B806; Fri, 10 Aug 2018 00:29:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 351A22B7DF for ; Fri, 10 Aug 2018 00:29:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 127D46B0269; Thu, 9 Aug 2018 20:29:26 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 0B21B6B026B; Thu, 9 Aug 2018 20:29:26 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDFDA6B026C; Thu, 9 Aug 2018 20:29:25 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-io0-f197.google.com (mail-io0-f197.google.com [209.85.223.197]) by kanga.kvack.org (Postfix) with ESMTP id C37226B026A for ; Thu, 9 Aug 2018 20:29:25 -0400 (EDT) Received: by mail-io0-f197.google.com with SMTP id d11-v6so5586035iok.21 for ; Thu, 09 Aug 2018 17:29:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id; bh=n+xBBLnilNhGnWi0Mw1QeGNm5Oqc0qRvbEthXNM+yTA=; b=QOP/KmPWj3Yv3S4dCGHKZzrdpeztFXVXlw9t/p/rTxvWPEkBqmK2CwiOX4Aa4GZVEH 5JssYhBdW8Jkt8jTS5Zj0KsjeT3+AcZxTVcc5pNpeoOF8hEsOFIwGkqjBOm++9DEoQGM zR4KllRZfR57Gfp4uiOSsApMoeg7/iaYnrGLKX3P+GM/YXG9qkmQIxHr40AAKCzE53Iy dwedImIfDI/ZEsYFhB/1ESW/mq2PsG/Ho8LoMLhYEbe3PfD4XhbgGhTy70wmUhzl6Ejc O91si5RTLGEm2NS1gv4pk0BTJWOVrkb8aqXhzrRydkhpWS1XcYcQmL1M2Vu0rPX3dAe8 uw+A== X-Gm-Message-State: AOUpUlFEgFmgd99Ym2emgtzRCCHnS7E6k5hJPtGf4GmnC/1wSRep5KsO d2VyjUfsT18yRSGX6wZKGmckKLrod1ITadLOEfwSF+cqrevH3We8lWuTpGXO9z6ZiTzVV5FXyis GnQeMEm+2C+Auvo4tht1oSrLqd7O4eYJ2zFCUYBFjnxyBQ31/UyMqzi4/cCmeTt2O8A== X-Received: by 2002:a02:952a:: with SMTP id y39-v6mr3967435jah.60.1533860965498; Thu, 09 Aug 2018 17:29:25 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyjz9OpomyTrsmozvQr1APId6yNrkLrCbhBLn7ysXE92eji9tab7b7gJwGJqVv3eIe8zz39 X-Received: by 2002:a02:952a:: with SMTP id y39-v6mr3967409jah.60.1533860964634; Thu, 09 Aug 2018 17:29:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533860964; cv=none; d=google.com; s=arc-20160816; b=iIjqP8cd/d2xGNGJ+7al+1BdO/gDsHvpHE8RcgSlQeuqB+qR4SDJHi5Jyb8DTi+Crq MQ9xPssTZniwP5yg3dFFY8Be/HYuPtZG0SxlEo2t585G1D2mXe5J6Oz8KIBxs3VErCb/ g0/RfLwwqmyf7+3DxdqejurC6eyN+5ti56IVMmBu/DpomXflkKyVbTpvL5wBdH0DNdVp 3ZL+5L5XnxQ78fTk9e6Xe2vLVevjoair1g72v8Dt8T2Fm2R1/pZzjv0j671n9qejIssb fCl7RtLKDfy3wESXsUjgnyNW60B8wRMaOCM2Z5VNtHsKhxx2x7AisalbNSEgG+SRhLbl vMbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=n+xBBLnilNhGnWi0Mw1QeGNm5Oqc0qRvbEthXNM+yTA=; b=T8qdvQrj33pjL+HJo3BYD4pkteztH7J1p11haQdEKoAcNSywuZB6jvfG0hwwOkYKb6 kWD5n4puMWC5JlVW83Af4yh/KSw8LrOIVlgmVa4vJkuulhvLpRyuZMlbKnrltZYMVeM2 UZEz9LXlllIlFUB1QTMfv1y9x3FHDD8TSLfbWcwanjky5/VavF/I4l468pOCv+i092rD vpQOJedIAGeBQyQOb/+8uFTXpOTylZ+S5OOMl1sTNA427ug2dlZfV9+gv7wQin7/mo7p lCwInZqfEInKnJtbG+NHvSoVQMGPxP4db6ELSPC6ZdLixY3JPgc73ee0SX3xMez0hdk6 3ulw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tom.com header.s=201807 header.b=xnYLHKo1; spf=pass (google.com: domain of zhouxianrong@tom.com designates 106.3.154.248 as permitted sender) smtp.mailfrom=zhouxianrong@tom.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tom.com Received: from smtp.tom.com (smtprz15.163.net. [106.3.154.248]) by mx.google.com with ESMTPS id 186-v6si5128238ioc.264.2018.08.09.17.29.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Aug 2018 17:29:24 -0700 (PDT) Received-SPF: pass (google.com: domain of zhouxianrong@tom.com designates 106.3.154.248 as permitted sender) client-ip=106.3.154.248; Authentication-Results: mx.google.com; dkim=pass header.i=@tom.com header.s=201807 header.b=xnYLHKo1; spf=pass (google.com: domain of zhouxianrong@tom.com designates 106.3.154.248 as permitted sender) smtp.mailfrom=zhouxianrong@tom.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tom.com Received: from antispam1.tom.com (unknown [172.25.16.55]) by freemail01.tom.com (Postfix) with ESMTP id 63DB01C80DFD for ; Fri, 10 Aug 2018 08:29:17 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tom.com; s=201807; t=1533860957; bh=kkr0rmNyVHLT08DMyrgPHVJvmTyplOXY60evB4g3gwc=; h=From:To:Cc:Subject:Date:From; b=xnYLHKo1hId7vLa7Ihmtp8oWTQea+84n5UpklNGc7Rzsv2vUjr44TtzpxWkLtsrPW MNZW5pqEDUR3OnJE5CFEWIFSeXlpAuEFK8t/u46tzljBVOptLHiQiYS8l1UqGoS8j0 LV5gJLpzSklMBQZTYwW1qc06XOV9RqBmS2QluCFI= Received: from antispam1.tom.com (antispam1.tom.com [127.0.0.1]) by antispam1.tom.com (Postfix) with ESMTP id 5BC651001336 for ; Fri, 10 Aug 2018 08:29:17 +0800 (CST) X-Virus-Scanned: Debian amavisd-new at antispam1.tom.com Received: from antispam1.tom.com ([127.0.0.1]) by antispam1.tom.com (antispam1.tom.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OMmUceSOnH1n for ; Fri, 10 Aug 2018 08:29:15 +0800 (CST) Received: from localhost.localdomain (unknown [59.63.206.36]) by antispam1.tom.com (Postfix) with ESMTPA id CCC951001333; Fri, 10 Aug 2018 08:29:14 +0800 (CST) From: zhouxianrong To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, minchan@kernel.org, ngupta@vflare.org, sergey.senozhatsky.work@gmail.com, zhouxianrong@tom.com, zhouxianrong Subject: [PATCH] zsmalloc: fix linking bug in init_zspage Date: Thu, 9 Aug 2018 20:28:17 -0400 Message-Id: <20180810002817.2667-1-zhouxianrong@tom.com> X-Mailer: git-send-email 2.13.6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000374, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP From: zhouxianrong The last partial object in last subpage of zspage should not be linked in allocation list. Otherwise it could trigger BUG_ON explicitly at function zs_map_object. But it happened rarely. Signed-off-by: zhouxianrong --- mm/zsmalloc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 8d87e973a4f5..24dd8da0aa59 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -1040,6 +1040,8 @@ static void init_zspage(struct size_class *class, struct zspage *zspage) * Reset OBJ_TAG_BITS bit to last link to tell * whether it's allocated object or not. */ + if (off > PAGE_SIZE) + link -= class->size / sizeof(*link); link->next = -1UL << OBJ_TAG_BITS; } kunmap_atomic(vaddr);