From patchwork Sat Jul 4 05:16:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chengguang Xu X-Patchwork-Id: 11643371 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 37C11913 for ; Sat, 4 Jul 2020 05:17:39 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 173C8208D5 for ; Sat, 4 Jul 2020 05:17:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mykernel.net header.i=cgxu519@mykernel.net header.b="fmmRnkgG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 173C8208D5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=mykernel.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8F1FE6B00D5; Sat, 4 Jul 2020 01:17:36 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 87F416B00D8; Sat, 4 Jul 2020 01:17:36 -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 7450E6B00DA; Sat, 4 Jul 2020 01:17:36 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id 5AE4F6B00D5 for ; Sat, 4 Jul 2020 01:17:36 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id DCF972477 for ; Sat, 4 Jul 2020 05:17:35 +0000 (UTC) X-FDA: 76999235670.30.hair75_10067c126e97 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin30.hostedemail.com (Postfix) with ESMTP id BB419180B3C8B for ; Sat, 4 Jul 2020 05:17:35 +0000 (UTC) X-Spam-Summary: 1,0,0,db6f42932383339b,d41d8cd98f00b204,cgxu519@mykernel.net,,RULES_HIT:41:355:379:541:800:960:966:973:988:989:1260:1277:1311:1313:1314:1345:1431:1437:1513:1515:1516:1518:1521:1534:1541:1593:1594:1711:1730:1747:1777:1792:2194:2196:2199:2200:2282:2393:2559:2562:3138:3139:3140:3141:3142:3352:3866:3870:3871:3872:4321:4385:4605:5007:6261:6653:6742:7875:9010:10004:10400:11026:11232:11473:11658:11914:12043:12296:12297:12438:12555:12679:12895:13069:13255:13311:13357:14093:14096:14097:14181:14254:14394:14721:21080:21444:21451:21627:21987:21990:30001:30002:30003:30004:30005:30006:30007:30008:30009:30010:30011:30012:30013:30014:30015:30016:30017:30018:30019:30020:30021:30022:30023:30024:30025:30026:30027:30028:30029:30030:30031:30032:30033:30034:30035:30036:30037:30038:30039:30040:30041:30042:30043:30044:30045:30046:30047:30048:30049:30050:30051:30052:30053:30054:30055:30057:30058:30059:30060:30061:30062:30063:30064:30065:30066:30067:30068:30069:30070:30071:30072:30073: 30074:30 X-HE-Tag: hair75_10067c126e97 X-Filterd-Recvd-Size: 4326 Received: from sender2-op-o12.zoho.com.cn (sender2-op-o12.zoho.com.cn [163.53.93.243]) by imf26.hostedemail.com (Postfix) with ESMTP for ; Sat, 4 Jul 2020 05:17:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; t=1593839800; cv=none; d=zoho.com.cn; s=zohoarc; b=cH3fMM6AxZDpl2d4rcfQgWTFHbPslMi4bGf4duyX7Qc91mw5AHEv3mVV+PeyLr2Icu3qe4cODK8lGv6s+l+DLEU0AHIHYlUmpZLUWWGM0NDgKwonKM+D5Gw48gfGyEFtKFTfBZY7aEeXTWduqPUYv058J8H2M1s5rjLSy02GFm8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com.cn; s=zohoarc; t=1593839800; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; bh=YLLrDOGqgYXy/vTV2s26TY2MvCGLpgiKnFBxKuZSfnA=; b=Sr0NHB9qdVnnccVWGJ9gqLNfhhyMQ+ON533z5WumqcDY/Rn6TZ4njs3UtcgPgZ3K796XZXhHRtXzoz3T3n1XahrX+mCxL94W8u85rhBWrzrtR1aRGgu6hTeLc0TeWx+T3T3rrTNG/lnvDgkUk7eS4WbDnKHl+mQjSQsM4s0DxxM= ARC-Authentication-Results: i=1; mx.zoho.com.cn; dkim=pass header.i=mykernel.net; spf=pass smtp.mailfrom=cgxu519@mykernel.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1593839800; s=zohomail; d=mykernel.net; i=cgxu519@mykernel.net; h=From:To:Cc:Message-ID:Subject:Date:MIME-Version:Content-Transfer-Encoding:Content-Type; bh=YLLrDOGqgYXy/vTV2s26TY2MvCGLpgiKnFBxKuZSfnA=; b=fmmRnkgGdb1szMvzCNmc5QXMnKmcImGzkbijeZAqvIQChNctap7ZN4o77i7ql0hj wIm9iIHXNlqwnM/9n/iEC1Wq9wk+FYXot+2fBIaOlAcFaruwOotR1bTckmqCpE0fndQ O1u7RQ8cxPCMwQ0cn6a1KThzwjhYnUdiIV/bEv34= Received: from localhost.localdomain (113.116.49.35 [113.116.49.35]) by mx.zoho.com.cn with SMTPS id 1593839798113132.82200331545323; Sat, 4 Jul 2020 13:16:38 +0800 (CST) From: Chengguang Xu To: akpm@linux-foundation.org Cc: stable@vger.kernel.org, dxu@dxuuu.xyz, chris@chrisdown.name, adilger@dilger.ca, gregkh@linuxfoundation.org, tj@kernel.org, viro@zeniv.linux.org.uk, hughd@google.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Chengguang Xu Message-ID: <20200704051608.15043-1-cgxu519@mykernel.net> Subject: [PATCH v2] vfs/xattr: mm/shmem: kernfs: release simple xattr entry in a right way Date: Sat, 4 Jul 2020 13:16:08 +0800 X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-ZohoCNMailClient: External X-Rspamd-Queue-Id: BB419180B3C8B X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 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: After commit fdc85222d58e ("kernfs: kvmalloc xattr value instead of kmalloc"), simple xattr entry is allocated with kvmalloc() instead of kmalloc(), so we should release it with kvfree() instead of kfree(). Cc: stable@vger.kernel.org # v5.7 Cc: Daniel Xu Cc: Chris Down Cc: Andreas Dilger Cc: Greg Kroah-Hartman Cc: Tejun Heo Cc: Al Viro Cc: Hugh Dickins Fixes: fdc85222d58e ("kernfs: kvmalloc xattr value instead of kmalloc") Signed-off-by: Chengguang Xu Acked-by: Hugh Dickins Acked-by: Tejun Heo --- v1->v2: - Fix freeing issue in simple_xattrs_free(). - Change patch subject. include/linux/xattr.h | 3 ++- mm/shmem.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/xattr.h b/include/linux/xattr.h index 47eaa34f8761..c5afaf8ca7a2 100644 --- a/include/linux/xattr.h +++ b/include/linux/xattr.h @@ -15,6 +15,7 @@ #include #include #include +#include #include struct inode; @@ -94,7 +95,7 @@ static inline void simple_xattrs_free(struct simple_xattrs *xattrs) list_for_each_entry_safe(xattr, node, &xattrs->head, list) { kfree(xattr->name); - kfree(xattr); + kvfree(xattr); } } diff --git a/mm/shmem.c b/mm/shmem.c index a0dbe62f8042..b2abca3f7f33 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3178,7 +3178,7 @@ static int shmem_initxattrs(struct inode *inode, new_xattr->name = kmalloc(XATTR_SECURITY_PREFIX_LEN + len, GFP_KERNEL); if (!new_xattr->name) { - kfree(new_xattr); + kvfree(new_xattr); return -ENOMEM; }