Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752960AbaBJTeF (ORCPT ); Mon, 10 Feb 2014 14:34:05 -0500 Received: from mail-pb0-f47.google.com ([209.85.160.47]:46905 "EHLO mail-pb0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752475AbaBJTeB (ORCPT ); Mon, 10 Feb 2014 14:34:01 -0500 Message-ID: <52F929A6.8040209@mit.edu> Date: Mon, 10 Feb 2014 11:33:58 -0800 From: Andy Lutomirski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Linus Torvalds , Richard Yao CC: Mel Gorman , Andrew Morton , Rik van Riel , Eric Van Hensbergen , Ron Minnich , Latchesar Ionkov , "David S. Miller" , V9FS Develooper Mailing List , Linux Netdev Mailing List , Linux Kernel Mailing List , "Aneesh Kumar K.V" , Will Deacon , Christopher Covington , Matthew Thode Subject: Re: [PATCH 1/2] mm/vmalloc: export is_vmalloc_or_module_addr References: <1391886730-19667-1-git-send-email-ryao@gentoo.org> <1391886730-19667-2-git-send-email-ryao@gentoo.org> <52F68C67.6050606@gentoo.org> <52F6972C.2030307@gentoo.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/08/2014 02:24 PM, Linus Torvalds wrote: > On Sat, Feb 8, 2014 at 12:44 PM, Richard Yao wrote: >> >> However, is_vmalloc_addr() only applies to the vmalloc region. While all >> architectures load kernel modules into virtual memory (to my knowledge), >> some architectures do not load them into the vmalloc region. > > So? > > People shouldn't do IO to module data, so who cares if something is a > module address or not? > > The thing is, even module *loading* doesn't do IO to the magic module > addresses - it loads the module data into regular vmalloc space, and > then copies it into the final location separately. > > And no module should ever do any IO on random static data (and > certainly not on code). > > So there is _zero_ reason for a driver or a filesystem to use > is_vmalloc_or_module_addr(). It's just not a valid question to ask. > > If somebody uses module data/code addresses, we're *better* off with a > oops or other nasty behavior than to try to make it "work". I agree that reading to module space is awful, but is it obviously terrible for a module to do this: static const char header[] = {...}; kernel_write(file, header, sizeof(header), 0); The current nasty behavior is doing the I/O to the wrong place if the appropriate CONFIG_DEBUG option isn't set. That IMO sucks. --Andy -- 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/