Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754382AbZKLV7y (ORCPT ); Thu, 12 Nov 2009 16:59:54 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754435AbZKLV7s (ORCPT ); Thu, 12 Nov 2009 16:59:48 -0500 Received: from mgw2.diku.dk ([130.225.96.92]:42324 "EHLO mgw2.diku.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754324AbZKLV7r (ORCPT ); Thu, 12 Nov 2009 16:59:47 -0500 Date: Thu, 12 Nov 2009 22:59:49 +0100 (CET) From: Julia Lawall To: James Morris Cc: Casey Schaufler , "Serge E. Hallyn" , Stephen Smalley , Eric Paris , linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: Re: [PATCH 3/4] security/selinux: decrement sizeof size in strncmp In-Reply-To: Message-ID: References: <20091112145314.GA24682@us.ibm.com> <4AFC3620.2020809@schaufler-ca.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1374 Lines: 33 On Fri, 13 Nov 2009, James Morris wrote: > On Thu, 12 Nov 2009, Casey Schaufler wrote: > > > I strongly suggest that this is not what is wanted. > > strcmp(x,y) > > and > > strncmp(x,y,sizeof(y)) > > > > are functionally equivalent and strcmp has a bad reputation in > > the security community because it is associated with potential > > buffer overrun issues. > > Do you see potential for a buffer overrun in this case? > > The strings being compared are "sysfs" and the name field of 'struct > file_system_type'. The kernel code elsewhere assumes the latter string to > be a valid zero-terminated string, and we should, too. The sizeof only helps for the zero-termination of y, ie "sysfs". Is it possible for the 0 at the end of an explicit constant string to get overwritten? If it were the strncmp would be helpful, because the number of characters to consider would be determined at compile time. If there is some problem with the name field, the strncmp will look at least to the end of "sysfs", so the strncmp won't help to keep the character accesses within the valid characters of name. julia -- 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/