Backport "modules: warn about suspicious return values from module's ->init() hook"commit e24e2e64c468c8060bb7173abecdf11d00ed5751
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date: Mon Mar 10 11:43:53 2008 -0700
modules: warn about suspicious return values from module's ->init() hook
Return value convention of module's init functions is 0/-E. Sometimes,
e.g. during forward-porting mistakes happen and buggy module created,
where result of comparison "wo...
Add kernel.pid_ns_hide_child sysctlIt's PID_NS_HIDE_CHILD flg manipulator for current pidns.
If set to 1, all process except first (like init) in all created pid
namespaces after set will be invisible from current and upfollow pid
namespaces. sysctl itself visible only in VE0.
Add pid ns flags PID_NS_HIDE_CHILD and PID_NS_HIDDENIf pid ns created in ns with PID_NS_HIDE_CHILD flag first process (like init)
will be added to parent ns, then flag PID_NS_HIDDEN set on new child ns
and all following process will be hidden. Hidden processes have their pids
allocated in all parent ns, but they aren't added to hash.
NETFILTER: don't free nf_conntrack_l4proto_generic if VE_IPTABLES=nve_nf_conntrack_l4proto_generic is stubbed to nf_conntrack_l4proto_generic
which is statically allocated array and thus shouldn't be freed.
NETFILTER: fix uber memory leaks during nf_conntrack shutdownve_nf_ct_protos array freeing was skipped during VE stop if it registered
L4 protocols. Also remove generic proto freeing from sysctl freeing code --
it's definitely not right place.
FAIRSCHED: change proc interface to work with vz groupsShow weight and rate limit from fairsched_node.
CFS internals are different, so show (start_tag, value, delay) fields as zeros.
NETFILTER: fixup net.netfilter sysctl data for VE0 tooThey were pointing to usual mainline variables, not VE0's
and, thus, e.g, net.netfilter.nf_conntrack_count was always
reporting 0.
NETFILTER: move VE's expect_max value initialization into correct placeCopying from nf_ct_expect_max is pointless for VE0 because it's 0 at this place
Move initialization to nf_conntrack_expect_init() for correct behaviour.
CPT: select PM as wellJust PM_SLEEP is not enough, because selecting logic doesn't select second and
all other levels of dependencies (which is probably a bug in build system
depending on how to look at it).
SLUBC: change SLAB_UBC, SLAB_NO_CHARGE flagsSLAB_NO_CHARGE conflicted with __SYSFS_ADD_DEFERRED internal flag
which resulted in double and broken additional directories created
in /sys/slab/ .
CPT: select tun, venet, veth modulesCONFIG_VZ_CHEKPOINT=y, CONFIG_TUN=m result in linking breakage
because CPT can't find tun_chr_open() et al.
So, if you build CPT as standalone, tun/tap will be also standalone.
Fix proc compilationfs/proc/generic.c: In function 'xlate_proc_loc_name':
fs/proc/generic.c:330: error: implicit declaration of function 'get_exec_env'
fs/proc/generic.c:330: error: invalid type argument of '->'
fs/proc/generic.c: In function 'proc_lookup':
fs/proc/generic.c:516: error: implicit declaration of function 've_is_super'
SLUB: drop "inline" from __flush_cpu_slab() prototype3.4 gcc sometimes treats as error the following sequence:
static inline foo();
foo();
static inline foo()
{
...
}
Revert "An ugly fixup to cure x86_64 strace"This reverts commit 7596140b517c486eafcec8fb6cf183c54efd3c9d.
Commit is needed only together with segment registers renaming patch.
Fix pid charging logic in case of process enteringWho would've thought... Effective size of object in pid_2 cache
can be very well be smaller than size of object in pid_1 cache.
This depends on sizeof(struct foo), debug options, cache line sizes
and so on.
So, now, we charge bit more or uncharge a bit depending on sizes.
sunrpc: add cleanup hookcall_status() can go to the sleep:
....
switch(status) {
case -EHOSTDOWN:
case -EHOSTUNREACH:
case -ENETUNREACH:
/*
* Delay any retries for 3 seconds, then handle as if it
* were a timeout.
*/
rpc_delay(task, 3*HZ);
case -ETIMEDOUT:
task->tk_action = call_timeout;
....
Task after some delay will be waked up and try access to loopback device. Then
do VE stop, fini_ve_netdev...
Fix one more nsproxy refcount bugDuring error recovery after CLONE_NEWNET was successfully done, temporary
nsproxy was put more that needed. It's refcount was 1 during VE start but
it was put one time when tsk detached from it to VE0's one and one time
when VE detached from it.
Patch adds GET when tsk or VE attached to nsproxy even on error recovery path.