Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757283AbbLXA2z (ORCPT ); Wed, 23 Dec 2015 19:28:55 -0500 Received: from g4t3426.houston.hp.com ([15.201.208.54]:57844 "EHLO g4t3426.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752765AbbLXA2x convert rfc822-to-8bit (ORCPT ); Wed, 23 Dec 2015 19:28:53 -0500 From: "Elliott, Robert (Persistent Memory)" To: Ross Zwisler , "linux-kernel@vger.kernel.org" CC: Dave Hansen , Dave Chinner , "J. Bruce Fields" , "linux-mm@kvack.org" , Andreas Dilger , "H. Peter Anvin" , Jeff Layton , "linux-nvdimm@lists.01.org" , "x86@kernel.org" , Ingo Molnar , "linux-ext4@vger.kernel.org" , "xfs@oss.sgi.com" , Alexander Viro , Thomas Gleixner , "Theodore Ts'o" , Jan Kara , "linux-fsdevel@vger.kernel.org" , Andrew Morton , Matthew Wilcox Subject: RE: [PATCH v6 3/7] mm: add find_get_entries_tag() Thread-Topic: [PATCH v6 3/7] mm: add find_get_entries_tag() Thread-Index: AQHRPbmsbX3XKjMr3UqiwXL/0gnVB57ZRqRA Date: Thu, 24 Dec 2015 00:28:24 +0000 Message-ID: <94D0CD8314A33A4D9D801C0FE68B40295BEC9A58@G9W0745.americas.hpqcorp.net> References: <1450899560-26708-1-git-send-email-ross.zwisler@linux.intel.com> <1450899560-26708-4-git-send-email-ross.zwisler@linux.intel.com> In-Reply-To: <1450899560-26708-4-git-send-email-ross.zwisler@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [16.210.48.36] Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1097 Lines: 35 > -----Original Message----- > From: Linux-nvdimm [mailto:linux-nvdimm-bounces@lists.01.org] On Behalf Of > Ross Zwisler > Sent: Wednesday, December 23, 2015 1:39 PM > Subject: [PATCH v6 3/7] mm: add find_get_entries_tag() > ... > diff --git a/mm/filemap.c b/mm/filemap.c ... > +unsigned find_get_entries_tag(struct address_space *mapping, pgoff_t start, > + int tag, unsigned int nr_entries, > + struct page **entries, pgoff_t *indices) > +{ > + void **slot; > + unsigned int ret = 0; ... > + radix_tree_for_each_tagged(slot, &mapping->page_tree, > + &iter, start, tag) { ... > + indices[ret] = iter.index; > + entries[ret] = page; > + if (++ret == nr_entries) > + break; > + } Using >= would provide more safety from buffer overflow problems in case ret ever jumped ahead by more than one. --- Robert Elliott, HPE Persistent Memory -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/