- 18 Nov, 2003 23 commits
-
-
Andrew Morton authored
From: Jun Sun <jsun@mvista.com> It is needed for all those "__attribute_used__" etc to be valid. Also, it seems that when compiling a file ending in ".S", gcc-2.95.3 does not expand __GNUC__ at all. This causes the compiler version check to fail when building vsyscall.S. So add __ASSEMBLY__ wrappers in there.
-
Andrew Morton authored
Fix a couple of problems which were introduced by a recent race fix in the ext2 block allocator: - if the allocation attempt raced, and lost the race then a new attempt is made. But the earlier reservation must be put back first. Add a call to group_release_blocks() to fix this. - if the filesystem is genuinely corrupted then the code as-is can get stuck in an infinite loop, thinking that a blockgroup has free blocks and then discovering that its bitmap is full. Fix this by baling out after having scanned all blockgroups twice. (Thanks Muli Ben-Yehuda <mulix@mulix.org> for spotting this).
-
Andrew Morton authored
From: Alex Tomas <alex@clusterfs.com> If the ext3 inode allocator tries to claim an inode and fails because another CPU got in there first it will then advance onto the next blockgroup and try again. Change it to advance onto the next inode within the same blockgroup instead.
-
Andrew Morton authored
From: Jens Axboe <axboe@suse.de> Print a runtime warning if ide-scsi is used on a cd device. Modify the ide-scsi menuconfig help to reflect that ide-scsi should not be used for cd burning.
-
Andrew Morton authored
If both ext2 and ext3 are built as modules there is nothing to pull percpu_counter_mod() into the kernel build and the ext2 and ext3 modules do not load. So move percpu_counter_mod() out of lib.a.
-
Andrew Morton authored
It now has no callers.
-
Andrew Morton authored
From: Mingming Cao <cmm@us.ibm.com> I found several bugs/issues in the ext2_new_inode() code: 1) The for loop variable "i" is used to save the inode offset. In the case of failure, the loop variable could be crapped. So it is possible to quit searching before looking at every block groups. 2) The number of free inodes in the selected group is possibly being miscalculated. The counter is only decreased in the find_group_xx() functions for the initial selected group. If the initial try failed, and succeed in finding a free inode in other group, the counter for that group will not to be decreased. 3) In case of the concurrent case, going back to find_group_xx() functions are unnecessary, it will only get the same group as before. The following patch fixed those issues. Ideas are stolen from ext3_new_inode().
-
Andrew Morton authored
From: Zwane Mwaikambo <zwane@arm.linux.org.uk> If the CPU doesn't support PSE we cannot use hugetlb pages.
-
Andrew Morton authored
From: Oleg Drokin <green@linuxhacker.ru> reiserfs shouldn't be holding a ref against a buffer when running set_blocksize(): it means that truncate_inode_pages() cannot free that page. Which is not fatal - the page will drift aimlessly down the LRU until the VM nails it. But it's better this way.
-
Andrew Morton authored
From: Thomas Schlicter sched_clock() will try to use the TSC even if the system is not using the TSC as a time source. It causes bad scheduling decisions and poor interactivity. The problem was exhibited by the patch which uses ACPI PM as a time source, but could also happen if the system is using the PIT.
-
Andrew Morton authored
From: Stephen Hemminger <shemminger@osdl.org> The original problem all this is solving is that when NTP is slowing the clock there existed real cases where time appeared to go backwards. Assuming NTP was slowing the clock, then it would update the xtime by 999us at the next timer interrupt. If a program read time three times: A: xtime = t0 B: A+1000 xtime = t0 + 1000 C: B+1 xtime = t0 + 999 To behave correctly C > B > A; but we were returning C < B The code does have bug if we are losing clock interrupts. The test for lost interrupts needs to be after the interval clamp.
-
Andrew Morton authored
There's a window in this function where a wakeup can get lost.
-
Andrew Morton authored
From: Zwane Mwaikambo <zwane@arm.linux.org.uk> gcc-3.2.2-5 miscompiles constant_test_bit(). Tweak it so the compiler gets it right. It cleans it up too!
-
Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Andrew Morton authored
We need to make the scan data unsigned, since we do length = ((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0)); and if data[3] is 0xff, this expression will always evaluate to 0xffffffff. etcetera.
-
David S. Miller authored
into hera.kernel.org:/home/davem/BK/net-2.5
-
David Stevens authored
-
Patrick McHardy authored
-
Patrick McHardy authored
Problem introduced by cset 1.1046.1.318
-
Patrick McHardy authored
-
Herbert Xu authored
-
Paul Mackerras authored
This is the PPC64 counterpart of the fix for the potential race in the syscall restart code that has gone into other architectures. It resets current_thread_info()->restart_block.fn to do_no_syscall_restart in the sigreturn code.
-
- 17 Nov, 2003 8 commits
-
-
Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Ville Nuorvala authored
-
David Stevens authored
When binding to two different multicast addresses on the same UDP port, a copy sent to either multicast address is delivered to both.
-
David S. Miller authored
into nuts.ninka.net:/disk1/davem/BK/net-2.5
-
David S. Miller authored
While here, fix the existing conditional. The || should be an && as all config options mentioned should prevent VGA_CONSOLE from being offered.
-
David S. Miller authored
-
Jesse Barnes authored
Russell King reports: "With previous kernels, the nodes are added to the list in reverse order, so architecture code knew we had to add the highest PFN first and the lowest PFN node last. Unfortunately, init_bootmem_core() now sorts the nodes according to their start pfn. This active sorting broke ARM discontig memory support." Andrew Morton chimes in: "It looks to be bogus on ia64 as well, for which the patch was written" Yep, I think it is bogus. There's only one caller on ia64 that would be affected--swiotlb_init(), and afaik multi-node systems won't be using that code (except maybe NEC?), so even if the pgdat list is out of order we should be ok. If not I'll fix the ia64 discontig code.
-
Herbert Xu authored
kernel_thread() returns the pid if successful, so the test for errors is to test for _negative_ values.
-
- 16 Nov, 2003 3 commits
-
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Prasanna Meda authored
It is using local variable `i' in both the inner and outer loop. Need to bring the for loop outside the loop. Otherwise we need to reset the setup_frame to tp->setup_frame after every loop. You do not need to set the setup_frm for every mc address, we can set once after the complete has_table is ready.
-
Russell King authored
Always disable system call restart when returning from a signal handler. This follows the new x86 behaviour.
-
- 15 Nov, 2003 4 commits
-
-
Paul Mackerras authored
We're actually much better off resetting system call restart at signal return. This makes all other resets unnecessary. Here's the ppc version of it.
-
Linus Torvalds authored
invoking the signal. This fixes all races. As per discussion with Paul Mackerras on linux-kernel.
-
http://lia64.bkbits.net/to-linus-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
David Mosberger authored
-
- 14 Nov, 2003 2 commits
-
-
Paul Mackerras authored
This patch ensures that the PPC kernel cancels any pending restarted system call when it delivers a signal. This is the PPC counterpart of the change that has recently gone into i386 and other architectures.
-
Paul Mackerras authored
This patch fixes a bug on PPC where the kernel will oops if a process does a system call and the system call number is out of range. While fixing that, I noticed that if the process is being ptraced, an out-of-range system call will not get traced on the way in but will on the way out. This patch fixes that too, by making it get traced on the way in as well as the way out. It turned out to be less change, and fewer instructions overall, to do that than to make the out-of-range system call not be traced at all.
-