[PATCH] VE: fix another mispint. in NAT iptables bits split Fix another misprint in patch: [PATCH] Unalias VE_IP_NAT for ip_nat and iptable_nat modules (diff-ve-ip-nat-aliasing-20070605) God summer makes people inattentive :/i
[PATCH] VE: ve0 processes intialization VE0 processes were initialized twice: - in copy_process() - in prepare_ve0_process() from init_ve_system()This is redundant and unneeded. Leading to wrong ve0.pcounter
[PATCH] NFS: fix misprint in Den patch for lockdepFix misprint in Den patch for lockdep:
[PATCH] nfs: AB-BA deadlock on rpc_sched_lock/queue->lock locks
(diff-ms-nfs-schedlock-20070530)
[PATCH] CPT: revert Alexey's patch for last vpid in 2.6.18-msMy fault. This patch is needed for RHEL5 kernel only,
which has per-VE vpid map and requires this fix.
[CPT] restore packet socketBinding of packet socket was skipped.
One tricky bit: getsockname returns "real" sockaddr length
and bind() does not accept real name, it wants sizeof(struct sockaddr_ll).
Missing bits:
- multicast list, incuding promisc status
- statistics is not restored
Enough for beginning, the rest requires surgery in core.
[PATCH] sched: fix up fairsched tick duration according to VCPU timeslice With latest 'vcpu dynamic timeslice' patch we broke fairsched scheduler logic a bit, which assumed, that fairsched_schedule() must be called on each timer tick.New bigger fairsched timeslice was introduced:
this value must be always >= vcpu timeslice
Bug #82969
[PATCH] disable OOM_DISABLE inside VEPrevent disabling of OOM from inside VE. Basically, it is safe to
allow priority changes inside VE, as in normal case we select UB and a
process inside UB then.
[PATCH] Unalias VE_IP_NAT for ip_nat and iptable_nat modulesIf ip_nat and ip_tables modules are loaded before VE start, and
iptable_nat after VE start, on VE stop kernel will crash in
ipt_unregister_table() attempting to unregister NULL table.
Split VE_IN_NAT flag responsible for two modules.
http://bugzilla.openvz.org/show_bug.cgi?id=607
[PATCH] veth: rework VE traffic filteringMac filtering in veth_xmit() was a bit incorrect:
broadcasts and multicasts were allowed from VE.
Rearrange code, make it more clear and assymetric :/
[NETFILTER]: {ip,nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereferenceWhen creating a new connection by sending an unknown chunk type, we don't
transition to a valid state, causing a NULL pointer dereference in
sctp_packet when accessing sctp_timeouts[SCTP_CONNTRACK_NONE].
Fix by don't creating new conntrack entry if initial state is invalid.
Noticed by Vilmos Nebehaj <vilmos.nebehaj@ramsys.hu>
CC: Kiran Kumar Immidi <immidi_kiran@yahoo.com>
Signed-off-by: Pat...
[PATCH] e1000: irq registration after adapter initialization Some time ago patch http://git.openvz.org/?p=linux-2.6.18-openvz;a=commit;h=2d46cb1712da0b94652c94f8bb9bac662c10d847 was introduced due to bug #72205However the patch wasn't adopted by mainstream for some reasons,
and we received the following bug report:
http://bugzilla.openvz.org/show_bug.cgi?id=543
approving that the fix is not completely correct.
While 2.6.22 kernel the problem was fixed by
http://git.kernel.org/?p=linux/kernel/git/jgarzik/netdev-2.6.git;a=commit;h=e0aac5a289b1dacbc94bd9ae8c449bcdf9ab508c
Attached patch is the port of ...
use simple_read_from_buffer in kernel/Cleanup using simple_read_from_buffer() for /dev/cpuset/tasks and
/proc/config.gz.
Cc: Paul Jackson <pj@sgi.com>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
X-Git-Tag: v2.6.22-rc1
X-Git-Url: http://git.kernel.org/?p=linux%2Fker...
random: fix seeding with zero entropyAdd data from zero-entropy random_writes directly to output pools to
avoid accounting difficulties on machines without entropy sources.
Tested on lguest with all entropy sources disabled.
Signed-off-by: Matt Mackall <mpm@selenic.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit...
Add data from zero-entropy random_writes directly to output pools to avoid accounting difficulties on machines without entropy sources.Tested on lguest with all entropy sources disabled.
Signed-off-by: Matt Mackall <mpm@elenic.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
[PATCH] init vps_dumpable early on execSince CPT uses vps_dumpable flag now for determining
external processes on checkpointing, we need to initialize
it earlier on mm creation on exec. Otherwise it can race.
[PATCH] CPT: checkpoint inodes with deleted reference Consider the following scenario: 1. Create file (file1) and hard link to it (file2) 2. Open file2 3. Unlink file2After that during checkpointing we will have the following err:
Can not dump VE: Device or resource busy deleted reference to existing inode,
checkpointing is impossible
The inode in question is not deleted, but it is not foundable
from inside checkpointed process group and not easy foundable on the disk :/
So we are trying to find another dentry with the same inode in 2 common places:
1. I...
[PATCH] CPT: restore deleted files (hardlink case) The bug was here all the time, but it was never triggered as we never entered the following path on checkpointing:if (!IS_ROOT(d) && d_unhashed(d)) {
struct file *parent;
parent = iobj->o_parent;
if (!parent ||
(!IS_ROOT(parent->f_dentry) &&
d_unhashed(parent->f_dentry))) {
/* Inode is not deleted, but it does not
* have references from inside checkpointed
* process group. We have options:
* A...
[CPT][IA64] some prctl flags are forgottenSome apps do lots of unaligned accesses, know about this
and use prctl(). We did not save/restore those flags and
got flood of warnings after checkpointing.
[PATCH] ubc: export ubc helpers for case CONFIG_UNIX=m Export ub_sock_getwres_other, since unix sockets can call it from the module (unix.ko) when CONFIG_UNIX=m.Thanks to Rafael Isturiz for having non-standart config :) and reporting this.
[PATCH] veth: multicasts should be forwarded as well Right now veth_xmit passes broadcasts only. It is a bug. Multicasts should be allowed as well.Thanks to Daniel Pittman for noticing this.
[CPT] cosmetic fix to match 2.6.9 textIn 2.6.9 it was a critical bug, image would be corrupted
because of broken alignment if we did not make this.
In 2.6.18 it is just nice.
[PATCH] VE: reparent threaded init correctlyIf init is multithreaded (yes, imagine, this happens :-)),
its threads are reparented to VE init, so that we get parents
in the same thread group. Nothing especially bad happens,
only checkpointing cannot restore such sick configuration.
[CPT][IA64] save/restore NaT valuesThis patch closes two remaining holes in IA64 cpt implementation,
both are of no immediate practical value, but neraly impossible to fix
after we freeze layout of cpt image structs.
1. Migration between hosts with different layout of struct thread_info,
which is possible, if some new bits are added to thread_info in newer
kernels.
2. NaT bits are acurately saved and restored. This is req...
[CPT] namespace semaphore possible deadlockOld bug. To my shame I knew about this, but ignored.
The fix is to drop namespace semaphore. We make mntget() on current
mnt, so that it will not disappear from under us. It still can be
unmounted with MNT_DETACH, in this case we cannot proceed with
scanning mnt list and we must not: unmounting something inside
VE while checkpointing is an obvious good reason to fail.
[CPT] restore last pidSigh. I hoped it is not necessary. It is. bash goes insane
when its children get not monotonic pids.
The place where we store saved last pid is unusual.
Violating tradition I extend one of cpt image structs.
This should be ok: migration to older kernels will be prohibited,
migration from old to new ones is OK.
[PATCH] seqfile: bash can hang in a loop reading from proc fileOriginal problem: in some circumstances seq_file interface can present
infinite proc file to the following script when normally said proc file
is finite:
while read line; do
[do something with $line]
done </proc/$FILE
bash, to implement such loop does essentially
read(0, buf, 128);
[find \n]
lseek(0, -difference, SEEK_CUR);
Consider, proc file prints list of objects each of them cons...
[PATCH] NFS: Fix race in nfs_release_page() NFS: Fix race in nfs_release_page()
invalidate_inode_pages2() may find the dirty bit has been set on a page
owing to the fact that the page may still be mapped after it was locked.
Only after the call to unmap_mapping_range() are we sure that the page
can no longer be dirtied.
In order to fix this, NFS has hooked the releasepage() method and tries
to write the page ...
[PATCH] proc: brown paper bag bug in proc's ->setattr ->setattr is called for something innocent like mtime updates, so outright banning of ->setattr on global proc entries was sadistic.Check if ->setattr is called with mask indicating MODE, UID, GID change
and check for globalness only in this case.
Closes http://bugzilla.openvz.org/show_bug.cgi?id=604
http://bugzilla.openvz.org/show_bug.cgi?id=509
[PATCH] nfs: AB-BA deadlock on rpc_sched_lock/queue->lock locksThis patch fixes possible AB-BA deadlock for rpc_sched_lock/queue->lock
in rpc_run_child().
Normal sequence is presented in rpc_set_active:
- rpc_sched_lock goest first
- queue->lock is nested.
Bug #82518
[PATCH] nfs: fix req refcnt leak preventing umountOriginal Denis Lunev analyses:
- nfs_direct_req_alloc creates dreq with dreq->kref->refcount == 2
- on success path the kref_put is called in
nfs_direct_read_schedule -> nfs_direct_complete
and in nfs_direct_wait
- on error path only first put occured
The same problem occures on direct_write path
Mainstream patch version from Trond Myklebust <Trond.Myklebust@netapp.com>:
The current ...
[PATCH] nfs: oops during LTP over NFS (direct io) Problem reported by Denis Lunev and QA, fix from mainstreamincorrect comparison of "int" and "unsigned int" variables is fixed in
nfs_direct_read_schedule and nfs_direct_write_schedule.
Bug #81589
[PATCH] ext3: orphan list corruption on bad inodes (v2)Changes to previous patch:
instead of fixing ext3_unlink() better fix all the paths
were bad inode can be found and used, i.e. lookup() and get_parent()
After ext3 orphan list check has been added into ext3_destroy_inode()
(please see my previous patch) the following situation has been detected:
EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0
Inode 000...
[PATCH] syslog: fix LTP failure in case of wrong args Fix LTP test failure in syslog test. LTP failure is minor and simple: it calls syslog(2) with wrong arguments and awaiting for an error. But syslog() returns 0 since VE doesn't have real console and console loglevel.Thanks Christian Kaiser2 <CKAISER2@de.ibm.com> for noticing this.
[PATCH] Fix iowait stats in VE02.6.18 OVZ kernels don't account iowait time,
this value is always displayed as zero:
$ cat /proc/stat | grep cpu
cpu 1700 5 1818 11790110 0 60 204 0
cpu0 893 4 1020 5894818 0 56 174 0
cpu1 807 1 797 5895291 0 4 29 0
This happens since calculations usually happen in idle context.
Actually there is no good definition of iowait for global VE0 context.
And the whole iowait concept is arguable,...
[PATCH] CPT: print file name when fail to open it Print file name if we failed to open it. This information will be usefull for resolving problems.Bug #83180
[PATCH] CPT: fix kernel_thread error code checks Some versions of tar return non-zero error code if it was not possible to write warning message to stderr. So, we need to open /dev/null for it. But during restore we will face another problem - /dev is stored on tmpfs, so we are not able to open /dev/null and we need to create it.Also there is another bug which come to CPT code from mainstream kernel_thread
helper. If our function returns an error (e.g. exec failed) it doesn't place
correct exit code to edi register before calling do_exit.
Bug #83183
[PATCH] Fix debug messages when CONFIG_DEBUG_PREEMPT is used If CONFIG_PREEMPT and CONFIG_DEBUG_PREEMPT are turned on, OpenVZ kernels produce a lot of similar messages:BUG: using smp_processor_id() in preemptible [00000001] code:
<process>/<pid>
caller is io_schedule+0x22/0x53
Call Trace: ...
Two reasons of these messages:
1) we call smp_processor_id() from io_schedule/io_schedule_timeout
without preemption disabled. minor, raw_smp_processor_id() should be used.
2) task_struct->cpus_allowed has mask of vcpus instead of pcpus.
Therefore debug_smp_proces...
[PATCH] ext3: lost brelse in ext3_read_inode() One of error path in ext3_read_inode() leaks bh, since brelse is forgoten.Signed-Off-By: Kirill Korotaev <dev@openvz.org>
[PATCH] ext3: orphan list corruption on bad inodes This patch fixes ext3 orphan list corruption due to bad inodes created in ext3_read_inode().Trying to catch orhpan list corruption in OpenVZ we found
the following debug messages in the logs:
May 30 10:39:38 df-rs-l24 kernel:
EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0
Inode 00000101a15b7840: orphan list check failed!
00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f
...
Call Trace: [<ffffffff80211ea9>] ext3_destroy_in...
[PATCH] sched: boot CPU can have non-zero ID (sparc)I was blindly assuming that boot processor ID is always 0,
which was not true on SUN4U machine where boot CPU has ID 1
and 2nd CPU has ID 0. Strange, but it is.
So replace 0 with real processor id in the code.