Revision 1c59827d1da9bcd6970800d4f8a031b5859e8b4c authored by Hugh Dickins on 20 October 2005, 04:23:43 UTC, committed by Linus Torvalds on 20 October 2005, 06:04:30 UTC
hugetlbfs allows truncation of its files (should it?), but hugetlb.c often forgets that: crashes and misaccounting ensue. copy_hugetlb_page_range better grab the src page_table_lock since we don't want to guess what happens if concurrently truncated. unmap_hugepage_range rss accounting must not assume the full range was mapped. follow_hugetlb_page must guard with page_table_lock and be prepared to exit early. Restyle copy_hugetlb_page_range with a for loop like the others there. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 parent e03d13e
sysctl_net.c
/* -*- linux-c -*-
* sysctl_net.c: sysctl interface to net subsystem.
*
* Begun April 1, 1996, Mike Shaver.
* Added /proc/sys/net directories for each protocol family. [MS]
*
* $Log: sysctl_net.c,v $
* Revision 1.2 1996/05/08 20:24:40 shaver
* Added bits for NET_BRIDGE and the NET_IPV4_ARP stuff and
* NET_IPV4_IP_FORWARD.
*
*
*/
#include <linux/config.h>
#include <linux/mm.h>
#include <linux/sysctl.h>
#include <net/sock.h>
#ifdef CONFIG_INET
#include <net/ip.h>
#endif
#ifdef CONFIG_NET
#include <linux/if_ether.h>
#endif
#ifdef CONFIG_TR
#include <linux/if_tr.h>
#endif
struct ctl_table net_table[] = {
{
.ctl_name = NET_CORE,
.procname = "core",
.mode = 0555,
.child = core_table,
},
#ifdef CONFIG_NET
{
.ctl_name = NET_ETHER,
.procname = "ethernet",
.mode = 0555,
.child = ether_table,
},
#endif
#ifdef CONFIG_INET
{
.ctl_name = NET_IPV4,
.procname = "ipv4",
.mode = 0555,
.child = ipv4_table
},
#endif
#ifdef CONFIG_TR
{
.ctl_name = NET_TR,
.procname = "token-ring",
.mode = 0555,
.child = tr_table,
},
#endif
{ 0 },
};
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...