ChangeSet@1.1767, 2004-06-26 14:16:14-07:00, torvalds@ppc970.osdl.org Merge new serial additions ChangeSet@1.1760.28.2, 2004-06-26 09:06:27-07:00, hch@lst.de [PATCH] ppc32: fix compilation PPC has an out of line and exported abs() that gives lots of nice and wierd compilation erorrs. Also kill the duplicate cpu_online() in asm-ppc/smp.h. ChangeSet@1.1760.28.1, 2004-06-26 08:52:06-07:00, torvalds@ppc970.osdl.org Merge bk://bk.arm.linux.org.uk/linux-2.6-pcmcia into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1760.10.30, 2004-06-26 14:26:09+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix SA1100 build after timer changes. ChangeSet@1.1757.1.7, 2004-06-26 09:31:02+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] Fix bogus align value 0 is not a valid alignment value for allocate_resource() ChangeSet@1.1760.27.8, 2004-06-25 14:55:04-07:00, miles@mctpc71.ucom.lsi.nec.co.jp [PATCH] make CONFIG_SYSVIPC depend on CONFIG_MMU The sysv-ipc code uses mm/shmem.o, which in turn uses VM stuff and is only compiled on MMU systems. Signed-off-by: Miles Bader Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.7, 2004-06-25 14:54:53-07:00, miles@mctpc71.ucom.lsi.nec.co.jp [PATCH] v850: remove bogus __ARCH_WANT_ macro defs Signed-off-by: Miles Bader Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.6, 2004-06-25 14:54:42-07:00, miles@mctpc71.ucom.lsi.nec.co.jp [PATCH] v850: add find_next_bit [Since many archs use the same implementation of find_next_bit, it might be nice to have `generic_find_next_bit' or something.] Signed-off-by: Miles Bader Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.5, 2004-06-25 14:54:31-07:00, miles@mctpc71.ucom.lsi.nec.co.jp [PATCH] v850: add missing end-of-line backslash to vmlinux.lds.S Signed-off-by: Miles Bader Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.4, 2004-06-25 14:54:20-07:00, miles@mctpc71.ucom.lsi.nec.co.jp [PATCH] v850: guard declaration of handle_IRQ_event with #ifdef !__ASSEMBLY__ Signed-off-by: Miles Bader Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.3, 2004-06-25 11:34:10-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: limit max_sectors to 256 for PDC20265 PDC20265 seems to not like large LBA48 requests. Thanks to Adolfo Gonzalez Blazquez for help in debugging this problem. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.2, 2004-06-25 11:33:59-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: idle disk on resume From: Jens Axboe I need this patch to survive suspend on my powerbook, if the drive is sleeping when suspend is entered. Otherwise it freezes on resume when it tries to read from the drive. Acked by Ben. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.27.1, 2004-06-25 11:06:18-07:00, Andries.Brouwer@cwi.nl [PATCH] isofs fixes This fixes two things. On the one hand we have the old "cruft" mount option, that sometimes was enabled automatically, for ridiculously large files or CDROMs. But what was ridiculous ten years ago, no longer is. So, only decide that something is cruft when the user said so. On the other hand, sometimes we get negative sizes. That is caused by assignments inode->i_size = isonum_733(), where the latter was declared integer. I made it unsigned int, as the standard also does. (Someone with problems replied: >> Could you test the below? > Ok I did, the patch seems to work great! Thanks! ) ChangeSet@1.1760.10.27, 2004-06-25 10:30:07-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1760.10.26, 2004-06-25 10:27:24-07:00, akpm@osdl.org [SPARC64]: Make ___arch_swapXp() take a const pointer. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.25, 2004-06-25 10:26:12-07:00, akpm@osdl.org [SPARC64]: Make find_next_bit take a const pointer. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.22.143, 2004-06-24 16:37:46-07:00, akpm@osdl.org [PATCH] x86: fix up cpumask breakage We can't do &some_inline_function(); Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.24.7, 2004-06-24 23:07:01+01:00, nico@org.rmk.(none) [ARM PATCH] 1942/1: basic LCD support for the PXA270/Mainstone board Patch from Nicolas Pitre This is only basic support so the LCD pannel becomes usable on Mainstone. No PXA270 specific capabilities were added. The Mainstone defconfig also updated to enable LCD by default. ChangeSet@1.1760.22.142, 2004-06-24 13:44:11-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] symlink: fix missing 'depth' initialization Now we always care about one part of nameidata --- ->depth. And we need to make sure it's always initialized. generic_readlink() was missing that part. ChangeSet@1.1760.26.1, 2004-06-24 12:45:29-07:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/pci-2.6 ChangeSet@1.1760.10.21, 2004-06-24 12:42:24-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Fix typo in config help text, noticed by Geert. ChangeSet@1.1760.10.20, 2004-06-24 12:40:07-07:00, akpm@osdl.org [PKT_SCHED]: Fix pkt_sched.h warnings. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.19, 2004-06-24 12:38:34-07:00, akpm@osdl.org [NETFILTER]: ip_fw_compat_masq.c needs net/ip.h for IP_OFFSET. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.18, 2004-06-24 12:37:50-07:00, akpm@osdl.org [NET]: Fix warning in fc.c Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.17, 2004-06-24 12:37:07-07:00, akpm@osdl.org [NET]: Fix warning in tr.c A few things popped up when using current gcc cvs. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.16, 2004-06-24 12:14:03-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1760.22.141, 2004-06-24 11:57:36-07:00, torvalds@ppc970.osdl.org Make bitops/cpumask functions be "const" where appropriate. ChangeSet@1.1760.22.140, 2004-06-24 10:19:27-07:00, viro@www.linux.org.uk [PATCH] symlink 9/9: jff2 jffs2 switched; leaks plugged. ChangeSet@1.1760.22.139, 2004-06-24 10:19:16-07:00, viro@www.linux.org.uk [PATCH] symlink 8/9: befs befs switched; leaks plugged. ChangeSet@1.1760.22.138, 2004-06-24 10:19:06-07:00, viro@www.linux.org.uk [PATCH] symlink 7/9: shmfs shm switched (it almost belongs to SL3, but it does some extra stuff after the link traversal). ChangeSet@1.1760.22.137, 2004-06-24 10:18:55-07:00, viro@www.linux.org.uk [PATCH] symlink 6/9: xfs xfs switched to new scheme; leaks plugged. ChangeSet@1.1760.22.136, 2004-06-24 10:18:44-07:00, viro@www.linux.org.uk [PATCH] symlink 5/9: smbfs smbfs - switched from on-stack allocation of buffer for link body (!) to __getname()/putname(); switched to new scheme. ChangeSet@1.1760.22.135, 2004-06-24 10:18:33-07:00, viro@www.linux.org.uk [PATCH] symlink 4/9: simple filesystems cases that can simply reuse ext2 helpers (page_follow_link_light() and page_put_link()). ChangeSet@1.1760.22.134, 2004-06-24 10:18:21-07:00, viro@www.linux.org.uk [PATCH] symlink 3/9: trivial filesystems trivial cases - ones where we have no need to clean up after pathname traversal (link body embedded into inode, etc.). Plugged leak in devfs_follow_link(), while we are at it. ChangeSet@1.1760.22.133, 2004-06-24 10:18:10-07:00, viro@www.linux.org.uk [PATCH] symlink 2/9: ext2 conversion and helper functions ext2 conversion (helper functions for that one will be actually used a lot by other filesystems, so to fs/namei.c they go) ChangeSet@1.1760.22.132, 2004-06-24 10:17:59-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] symlink 1/9: infrastructure and explanation This patch-kit gets past the limit on nested symlinks, without incompatible API changes _and_ with killing code duplication in most of the readlink/follow_link pairs. And no, it's not the old ->getlink() crap - procfs et.al. are not special-cased there. Here's how it works: * ->follow_link() still does what it used to do - replaces vfsmount/dentry in the nameidata it got from caller. However, it can also leave a pathname to be resolved by caller. * we add an array of char * into nameidata; we always work with nd->saved_names[current->link_count]. nd_set_link() sets it, nd_get_link() returns it. * callers of ->follow_link() (all two of them) check if ->follow_link() had left us something to do. If it had (return value was zero and nd_get_link() is non-NULL), they do __vfs_follow_link() on that name. Then they call a new method (->put_link()) that frees whatever has to be freed, etc. Note that absolute majority of symlinks have "resolve a pathname" as part of their ->follow_link(); they can do something else and some don't do that at all, but having that pathname resolution is very, very common. With that change we allow them to shift pathname resolution part to caller. They don't have to - it's perfectly OK to do all work in ->follow_link(). However, leaving the pathname resolution to caller will a) exclude foo_follow_link() stack frame from the picture b) kill 2 stack frames - all callers are in fs/namei.c and they can use inlined variant of vfs_follow_link(). That reduction of stack use is enough to push the limit on nested symlinks from 5 to 8 (actually, even beyond that, but since 8 is common for other Unices it will do fine). For those who have "pure" ->follow_link() (i.e. "find a string that would be symlink contents and say nd_set_link(nd, string)") we also get a common helper implementing ->readlink() - it just calls ->follow_link() on a dummy nameidata, calls vfs_readlink() on result of nd_get_link() and does ->put_link(). Using (or not using) it is up to filesystem; it's a helper that can be used as a ->readlink() for many filesystems, not a reimplementation of sys_readlink(). However, that's _MANY_ filesystems - practically all of them. Note that we don't put any crap like "if this is a normal symlink, do this; otherwise call ->follow_link() and let it do its magic" into callers - all symlinks are handled the same way. Which was the main problem with getlink proposal back then. That covers almost everything; the only cases left are nfs, ncpfs and cifs. Those will go later - we are backwards compatible, so it's not a problem. First patch: infrastructure - helpers allowing ->follow_link() to leave a pathname to be traversed by caller + corresponding code in callers. ChangeSet@1.1760.22.131, 2004-06-24 10:03:58-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: check_region removal - trm290.c Signed-off-by: Jesper Juhl Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.130, 2004-06-24 10:03:47-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: hpt36x/37x tuning fix From: Jonas Thornblad There is a problem in the hpt366.c driver where the function ide_config_drive_speed(drive, speed) is called without using the correct speed variable. The speed variable should use the value returned by hpt3xx_ratefilter which decides the speed after checking against the bad drives list. I believe the following patch fixes the problem. Slightly reworked by me - Bart. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.129, 2004-06-24 10:03:36-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: reduce > 3kb call path in ide-cs - Reduce large stack usage in ide_config() by using kmalloc(), down from 0x4a4 bytes to 0x64 bytes (x86-32). - Little whitespace cleanup. - Move function comment block to immediately above the function. Module loaded and unloaded, otherwise not tested (no hardware). Signed-off-by: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.128, 2004-06-24 10:03:24-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: PIO-out setup fixes (CONFIG_IDE_TASKFILE_IO=n) - setup hwgroup->handler/timer in ->prehandler() (after checking drive status) and in do_rw_taskfile() only send a command - make pre_task_mulout_intr() transfer first data block itself instead of calling ->handler() so we don't have to play tricks with hwgroup->handler/timer in task_mulout_intr() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.127, 2004-06-24 10:03:13-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: use task_buffer[_multi]_sectors() in ide-taskfile.c - update rq counters directly in task_buffer_sectors() - use task_buffer[_multi]_sectors() in taskfile PIO handlers (CONFIG_IDE_TASKFILE_IO=n and flagged ones) so: (a) rq->hard_cur_sectors is used for rq mapping (b) in case of error valid rq->sector is reported (c) we can s/rq->current_nr_sectors/rq->nr_sectors/ later - uninline task_buffer_sectors() - remove not needed !rq->bio code from ide_[un]map_buffer() (it is used only for fs requests which are always bio based) - remove no longer needed task_rq_offset() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.126, 2004-06-24 10:03:02-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: don't clear rq->errors for REQ_DRIVE_TASKFILE requests REQ_DRIVE_TASKFILE requests aren't retried so don't clear rq->errors in CONFIG_IDE_TASKFILE_IO=n PIO handlers and in CONFIG_IDE_TASKFILE_IO=y PIO handlers clear rq->errors only for fs requests, flagged_* PIO handlers were already okay. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.125, 2004-06-24 10:02:51-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: split task_sectors() and task_multi_sectors() - split __task_sectors() out of task_sectors() - add bio and buffer versions of task[_multi]_sectors() - use task_bio_sectors() instead of task_sectors() in pdc4030.c - move task[_buffer]_sectors() to ide-taskfile.c - uninline task[_multi]_sectors() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.124, 2004-06-24 10:02:40-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: add task_multi_sectors() to ide-taskfile.c Move common code from task_mulin_intr() and task_mulout_intr() (CONFIG_IDE_TASKFILE_IO=y) to a task_multi_sectors() helper. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.123, 2004-06-24 10:02:29-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: remove DTF() debugging printks from ide-taskfile.c They are off by default and conflict with the future changes. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.122, 2004-06-24 10:02:18-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: last IRQ fix for task_mulout_intr() (CONFIG_IDE_TASKFILE_IO=n) We should wait for the last IRQ after all data is sent. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.121, 2004-06-24 10:02:07-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: check drive->mult_count in flagged_taskfile() Check drive->mult_count in flagged_taskfile() and fail request early if necessary so there is no need to do it later in the PIO handlers. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.120, 2004-06-24 10:01:56-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: PIO-in drive busy fix (CONFIG_IDE_TASKFILE_IO=y) If the drive times out the final status check we should fail the request instead of setting another handler for the next IRQ. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.119, 2004-06-24 10:01:45-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: end request fix for CONFIG_IDE_TASKFILE_IO=y PIO handlers ide_end_drive_cmd() should only be called for "flagged" taskfiles which have separate PIO handlers so use driver->end_request() instead. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.118, 2004-06-24 10:01:34-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: remove redundant hwgroup->handler checks from ide-taskfile.c Remove checks for hwgroup->handler == NULL from task_[in,mulin,out]_intr() (CONFIG_IDE_TASKFILE_IO=n versions). These functions can be called only from ide_intr() or ide_timer_expiry() and both set hwgroup->handler to NULL first. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.117, 2004-06-24 09:56:16-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: scsi ->ioctl() annotation Low-level drivers' ->ioctl() gets a userland pointer from scsi_ioctl(); prototype annotated, so is scsi_debug instance. ChangeSet@1.1760.22.116, 2004-06-24 09:56:05-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial i2o annotations ChangeSet@1.1760.22.115, 2004-06-24 09:55:54-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: i2o fixed Fixes for direct dereferencing of userland pointers in i2o_config.c ChangeSet@1.1760.22.114, 2004-06-24 09:55:42-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial drivers/isdn/* annotations ChangeSet@1.1760.22.113, 2004-06-24 09:55:31-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] isdn_writebuf_stub() sanitized isdn_writebuf_stub() was always called for userland pointers. Killed the argument telling whether it's kernel or userland pointer, killed dead code, updated callers. ChangeSet@1.1760.22.112, 2004-06-24 09:55:20-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial annotations in drivers/char/* ChangeSet@1.1760.22.111, 2004-06-24 09:55:09-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial drivers/char/* annotation and format fixes - trivial annotation in several places in drivers/mtd - a bunch of debugging printks switched from %x to %llx (they get 64bit values) - in doc200[01].c fixed type of (unused) last argument in their doc_read_ecc(). ChangeSet@1.1760.22.110, 2004-06-24 09:54:58-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial drivers/net/* annotations ChangeSet@1.1760.22.109, 2004-06-24 09:54:48-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] make DVD ioctls that can legitimately fail quiet DVD_LU_SEND_{AGID,TITLE_KEY} can be legitimately rejected; in that case we should not spew into logs. ChangeSet@1.1760.22.108, 2004-06-24 09:50:56-07:00, Andries.Brouwer@cwi.nl [PATCH] revert partition nonsense Updating my source to 2.6.7 I see that you applied some nonsense garbage patch. Please undo. [ Note by Linus: the fact that DOS_EXTENDED_PARTITION is 5, and we're iterating over slots 1-4 in the partition table, are two totally unrelated things. Using the symbolic constant does indeed not make any sense at all here, as Andries so eloquently points out. ] ChangeSet@1.1760.22.107, 2004-06-24 09:50:46-07:00, benh@kernel.crashing.org [PATCH] ppc64: Fix booting on LPAR machines with more than 1 CPU The exception rewrite contains a small bug that prevents bring up of CPUs on logically partitioned machines. The kernel is trying to zero the backlink on the new stack while running with relocation disabled, which potentially cause it to try to access an address outside of the region allowed in real mode. This seem to be a leftover from previous code as we also zero the backlink later after turning off the MMU. This patch removes the offending bit. ChangeSet@1.1760.22.106, 2004-06-24 09:50:35-07:00, paulus@samba.org [PATCH] Clean up head.S whitespace The whitespace in arch/ppc64/kernel/head.S is a bit all over the place. This patch fixes it up. This patch changes nothing other than whitespace. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.105, 2004-06-24 09:50:24-07:00, paulus@samba.org [PATCH] Better memset Anton noticed in some traces that we were spending an awfully long time doing a memset. The ppc64 memset is basically unchanged from the ppc32 version, and it only does 4-byte stores and doesn't unroll the loop. Here's a memset that performs a bit better. I have been using it for 3 weeks now, and Anton has tested it on a variety of machines, without problems. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.104, 2004-06-24 09:50:13-07:00, paulus@samba.org [PATCH] ppc64: clean up prom.c and related files Somebody back in the mists of time decided that call_prom and rtas_call should return longs even though both of those bits of firmware run in 32-bit mode and produce a 32-bit result. To make life more interesting, the 32-bit result gets zero-extended to 64 bits, which makes checking for a -1 return value more complicated than it should be. This patch changes call_prom and rtas_call to return an int, and makes the corresponding changes to use ints for the variables used to hold those return values. While I was doing this I finally got annoyed enough with the strings of prom_print() and prom_print_hex() calls that we do to write a simple prom_printf. I deliberately didn't use snprintf because the execution environment is weird at this point - we aren't running at the address we are linked at just yet - and I didn't want to inflict that on any code outside this file. I also did a prom_debug() macro, which eliminated a few ifdefs. There are also a bunch of other minor cleanups. This patch makes very few algorithmic changes but does get rid of a lot of casts. :) I have been running with this patch for a couple of weeks, and Anton has tested it too. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.103, 2004-06-24 09:50:02-07:00, roland@redhat.com [PATCH] fix x86-64 ptrace access to 32-bit vsyscall page When I made get_user_pages support looking up a pte for the "gate" area, I assumed it would be part of the kernel's fixed mappings. On x86-64 running a 32-bit task, the 32-bit vsyscall DSO page still has no vma but has its pte allocated in the user mm in the normal fashion. This patch makes it use the generic page-table lookup calls rather than the shortcuts. With this, ptrace on x86-64 can access a 32-bit process's vsyscall page. The behavior on x86 is unchanged. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.102, 2004-06-24 09:37:38-07:00, akpm@osdl.org [PATCH] fix broken alpha build ptrace.c error From: Darren Williams include/asm/checksum.h:75: warning: `struct in6_addr' declared inside parameter list include/asm/checksum.h:75 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.101, 2004-06-24 09:37:26-07:00, akpm@osdl.org [PATCH] balanced_irq warning fix arch/i386/kernel/io_apic.c: In function `balanced_irq': arch/i386/kernel/io_apic.c:582: warning: no return statement in function returning non-void and clean things up a bit Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.100, 2004-06-24 09:37:15-07:00, akpm@osdl.org [PATCH] kswapd warning fix mm/vmscan.c: In function `kswapd': mm/vmscan.c:1139: warning: no return statement in function returning non-void Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.99, 2004-06-24 09:37:04-07:00, akpm@osdl.org [PATCH] md: XOR template selection redo From: NeilBrown From: Josh Litherland The XOR routine selection process is often confusing as it often doesn't choose the routine that measures the fastest, as sometime one routine is known to have better cache performance. This patch avoids the comparison when there is a known best choice, and makes the report more meaningful. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.98, 2004-06-24 09:36:53-07:00, akpm@osdl.org [PATCH] md: Fix up handling for read error in raid1. From: NeilBrown There is severe bit-rot in this code, which is to say that it doesn't work at all: an io error during read will do bad things. It should work better with this patch. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.97, 2004-06-24 09:36:42-07:00, akpm@osdl.org [PATCH] sh: Consolidate SystemH with other Renesas boards. From: Paul Mundt Nothing really interesting here, with the addition of several other Renesas boards, we just move the systemh directory to the renesas one to fit in better with the directory structure. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.96, 2004-06-24 09:27:35-07:00, akpm@osdl.org [PATCH] sh: merge. From: Paul Mundt This merges the remaining sh changes, random bug fixes, added syscalls, cache fixups, etc. Nothing really eventful. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.95, 2004-06-24 09:27:23-07:00, akpm@osdl.org [PATCH] sh: VoyagerGX companion chip support. From: Paul Mundt This adds support for the SM501/VoyagerGX companion chip, used by the RTS7751R2D. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.94, 2004-06-24 09:27:11-07:00, akpm@osdl.org [PATCH] sh: SH7705/SH7300 subtype support, ST40 updates. From: Paul Mundt This adds support for the SH7705 and SH7300 subtypes and also updates some ST40-specific FRQCR handling code. Signed-off-by: Alex Bennee Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.93, 2004-06-24 09:27:00-07:00, akpm@osdl.org [PATCH] sh: PCI updates From: Paul Mundt This updates the pci-auto code, as well as adding ops and fixups for the RTS7751R2D board. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.92, 2004-06-24 09:26:49-07:00, akpm@osdl.org [PATCH] sh: Renesas RTS7751R2D board support. From: Paul Mundt This adds support for the Renesas Technology Sales RTS7751R2D board. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.91, 2004-06-24 09:26:37-07:00, akpm@osdl.org [PATCH] sh: SolutionEngine 7300 board support. From: Paul Mundt This adds support for the SH7300 solution engine board (a forward port of the 2.4 code). Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.90, 2004-06-24 09:26:25-07:00, akpm@osdl.org [PATCH] sh: sh-sci updates. From: Paul Mundt This adds support for the SH7300 as well as the SH5-101/103 processors as well as specific board support for the RTS7751R2D. In addition to this, the sh early printk code is gutted so that we use the generic CONFIG_EARLY_PRINTK interfaces instead. Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.89, 2004-06-24 09:26:14-07:00, akpm@osdl.org [PATCH] sh: ptep_get_and_clear() compile fix. From: Paul Mundt This fixes up a compile error occuring with ptep_get_and_clear() existing in pgalloc.h. We move it to a somewhat more sensible location instead, and take this opportunity to make some cleanups for use of generic code in the SH-3 case, etc. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.88, 2004-06-24 09:26:04-07:00, akpm@osdl.org [PATCH] sh: IDE cleanup. From: Paul Mundt This does a bit of IDE cleanup (in preparation for the SuperH generic IDE host driver). This also adds SuperH to the list of platforms that are interested in CONFIG_IDE_MAX_HWIFS. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.87, 2004-06-24 09:25:52-07:00, akpm@osdl.org [PATCH] sh: Renesas HS7751RVoIP board support. From: Paul Mundt This adds support for the Renesas Technology Sales HS7751RVoIP board. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.86, 2004-06-24 09:25:41-07:00, akpm@osdl.org [PATCH] sh: fixmap support. From: Paul Mundt This adds fixmap support for sh. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.85, 2004-06-24 09:25:29-07:00, akpm@osdl.org [PATCH] sh: early printk() cleanup. From: Paul Mundt sh was using its own CONFIG_SH_EARLY_PRINTK, this is no longer necessary as we can easily work with the generic CONFIG_EARLY_PRINTK. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.84, 2004-06-24 09:25:17-07:00, akpm@osdl.org [PATCH] sh: DMA driver updates. From: Paul Mundt This updates the SuperH DMA driver, as well as cleaning up the registration interface. We also drop the use of bitfields in dma-sh since things like the SH4-202, 7751R, 7760, etc. all have a completely different set of register definitions. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.83, 2004-06-24 09:25:06-07:00, akpm@osdl.org [PATCH] sh: dma-mapping updates. From: Paul Mundt This updates the sh dma-mapping code, as well as doing some cleanup in the consistent API. We also add a consistent_{alloc,free} to the machvec for platforms that need special handling. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.82, 2004-06-24 09:24:55-07:00, akpm@osdl.org [PATCH] sh: SH-3 On-Chip ADC support From: Paul Mundt This adds support for the SH-3's on-chip ADC (which is needed by things like the touchscreen, etc.). Signed-off-by: Andriy Skulysh Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.81, 2004-06-24 09:24:44-07:00, akpm@osdl.org [PATCH] oom killer: ignore free swapspace From: William Lee Irwin III During stress testing at Oracle to determine the maximum number of clients 2.6 can service, it was discovered that the failure mode of excessive numbers of clients was kernel deadlock. The following patch removes the check if (nr_swap_pages > 0) from out_of_memory() as this heuristic fails to detect memory exhaustion due to pinned allocations, directly causing the aforementioned deadlock. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.80, 2004-06-24 09:24:33-07:00, akpm@osdl.org [PATCH] hugetlb.c - fix try_to_free_low() From: "Chen, Kenneth W" Turn on CONFIG_HIGHMEM and CONFIG_HUGETLBFS. Try to config the hugetlb pool: [root@quokka]# echo 100 > /proc/sys/vm/nr_hugepages [root@quokka]# grep HugePage /proc/meminfo HugePages_Total: 100 HugePages_Free: 100 [root@quokka]# echo 20 > /proc/sys/vm/nr_hugepages [root@quokka]# grep HugePage /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 [root@quokka]# echo 100 > /proc/sys/vm/nr_hugepages [root@quokka]# grep HugePage /proc/meminfo HugePages_Total: 100 HugePages_Free: 100 [root@quokka]# echo 0 > /proc/sys/vm/nr_hugepages [root@quokka]# grep HugePage /proc/meminfo HugePages_Total: 31 HugePages_Free: 31 The argument "count" passed to try_to_free_low() is the config parameter for desired hugetlb page pool size. But the implementation took that input argument as number of pages to free. It also decrement the config parameter as well. All give random behavior depend on how many hugetlb pages are in normal/highmem zone. A two line fix in try_to_free_low() would be: - if (!--count) - return 0; + if (count >= nr_huge_pages) + return count; But more appropriately, that function shouldn't return anything. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.79, 2004-06-24 09:24:22-07:00, akpm@osdl.org [PATCH] sparse: fixes for "assignment expression in conditional" in fs/* From: Mika Kukkonen Fix various sparse "assignment expression in conditional" warnings in fs/ Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.78, 2004-06-24 09:24:10-07:00, akpm@osdl.org [PATCH] consolidate in-kernel configuration From: Andy Whitcroft Being able to recover the configuration from a kernel is very useful and it would be nice to default this option to Yes. Currently, to have the config available both from the image (using extract-ikconfig) and via /proc we keep two copies of the original .config in the kernel. One in plain text and one gzip compressed. This is not optimal. This patch removes the plain text version of the configuration and updates the extraction tools to locate and use the gzip'd version of the file. This has the added bonus of providing us with the exact same results in both cases, the original .config; including the comments. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.77, 2004-06-24 09:23:59-07:00, akpm@osdl.org [PATCH] swsusp: shuffle cpu.c to make it usable for smp suspend From: Pavel Machek This moves fix_processor_context() so that additional prototype is not needed, and adds context * to processor state saving functions, so that they can be used on SMP. It should be done this way from the beggining. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.76, 2004-06-24 09:23:48-07:00, akpm@osdl.org [PATCH] Prepare for SMP suspend From: Pavel Machek Its very bad idea to freeze migration threads, as it crashes machine upon next call to "schedule()". In refrigerator, I had one "wake_up_process()" too many. This fixes it. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.75, 2004-06-24 09:23:37-07:00, akpm@osdl.org [PATCH] swsusp minor docs updates From: Pavel Machek I shot myself in the foot with swsusp, so I guess documenting that particular trap is right thing to do (tm). Somehow two copies of "radeon hint" crept in; fix that, too. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.74, 2004-06-24 09:23:26-07:00, akpm@osdl.org [PATCH] hugetlb.c: use safe iterator From: "Chen, Kenneth W" With list poisoning on by default from linux-2.6.7, it's easier than ever to trigger the bug in try_to_free_low(). It ought to use the safe version of list iterater. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.73, 2004-06-24 09:23:15-07:00, akpm@osdl.org [PATCH] update ikconfig generator script From: "Randy.Dunlap" http://bugme.osdl.org/show_bug.cgi?id=2701 Current script has problems with some shells and utilities. Remove use of 'echo' in the script. From: Roman Zippel Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.72, 2004-06-24 09:23:04-07:00, akpm@osdl.org [PATCH] update ikconfig help text From: "Randy.Dunlap" Some elements of ikconfig have been removed, but the help text wasn't updated to reflect those changes. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.71, 2004-06-24 09:22:53-07:00, akpm@osdl.org [PATCH] cirrusfb: major update From: David Eger This patch brings the cirrusfb driver up to date with 2.6. cirrusfb has suffered bit rot like you wouldn't believe (last updated... 2.3.x era?). The driver will now compile again, and you can change to a high resolution text mode with stty. Known defects: doesn't play nice with X, nor fbset. C = Cosmetic change L = Logical change A = API change W = register Writing change (1-CA) fb_info and cirrusfb_info: - mostly cosmetic, but a lot less confusing, and no more nasty casting. It used to be stylish to embed struct fb_info_gen (now struct fb_info) as the first member of struct clgenfb_info (now struct cirrusfb_info), and then you'd cast to the deisred struct. Now we pass the size of our data structure to framebuffer_alloc(), and we make fb_info and cirrusfb_info reference each other with pointers (as in radeonfb). In the old code, there two declarations were common: clgenfb_info *fb_info; clgenfb_info *info; since there's also a 'struct fb_info' now, I found this really confusing, and unified usage as: cirrusfb_info *cinfo; fb_info *info; This accounts for a lot of the search and replace cosmetic upgrade. (2-A) All of the FB knowledge of FB internals is gone in 2.6 (3-LW) revised maxclock numbers (cirrusfb_board_info_rec.maxclock[5]) In my quest to get fbset to work, I borrowed some maxclock data from the X.Org tree for various chipsets. It didn't really seem to help. oh well. (3-LA) upgraded PCI registration Instead of doing PCI walking from the driver, we hand off a pci_device_id table to the PCI subsystem and just get called when it finds a relevant board. (4-L) striking lots of __init and __initdata specifiers I was running into some things not working when I moved the call to init_vgachip() from the driver registration to set_par(). I thought perhaps this was due to some things being marked __init accidentally so I axed said annotations. Turns out it was something else. See 5. (5-LA) delayed chip initialization, nasty double-set_par() pseudo-bug Tony says that the fb drivers shouldn't do any chipset initialization until they get a set_par() call. This way, fb modules can be safely unloaded if no one gets around to using them, and the vga_con -> fbcon hand off is smoother, as fbcon can still grab the back-scroll data from vga_con... In any case, moving the calls to init_vgachip() and fbgen_do_set_var() from driver initialization to set_par() revealed that the cirrus register-writing function needs to be called twice for a mode change to work. I don't understand why. (6-LA) split clgen_decode_var() into the bits that check the var and the bits that actually generate register information (par/regs) to write Adding modedb hooks here might actually fix fbset, i think... (7-LW) No longer write the palette in init_vgachip() nor in set_par(). Someone else (fbcon?) seems to be making its own calls to setcolreg() for us. (8-LW) setcolreg() -- while removing all of the console cruft, I had to try to reconstitute the palette code. I think I got this right, but I could be off -- the penguin boots in the correct colors at least ;-) (9-L) pan_display() - we don't do wrap, silly. that's only on the amiga. (10-L) pan+BLT - to make pan play nicely with copyarea()/fillrect() I had to add a couple of calls to cirrusfb_WaitBLT() to make sure the engine is idle. (11-LW) cirrusfb_blank() - I upgraded the switch here to use the new VESA_* blanking mode constants. I think I translated the right logic for the right blanking levels. Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.70, 2004-06-24 09:22:42-07:00, akpm@osdl.org [PATCH] h8300: delete obsolute header From: Yoshinori Sato - delete obsolute(unused) header file Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.69, 2004-06-24 09:22:31-07:00, akpm@osdl.org [PATCH] zap_pte_range speedup From: Hugh Dickins zap_pte_range is wasting time marking anon pages accessed: its original !PageSwapCache test should have been reinstated when page_mapping was changed to return swapper_space; or more simply, just check !PageAnon. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.68, 2004-06-24 09:22:20-07:00, akpm@osdl.org [PATCH] drivers/media/video/tda9840.c: honour return code of i2c_add_driver() From: Michael Hunold i2c_add_driver() may actually fail, but my driver returns 0 regardless. Thanks to Arthur Othieno for this obviously correct patch. Signed-off-by: Michael Hunold Signed-off-by: Arthur Othieno Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.67, 2004-06-24 09:22:08-07:00, akpm@osdl.org [PATCH] fix allocate_pgdat comments From: "Martin J. Bligh" From: Andy Whitcroft The comments for i386 allocate_pgdat indicate that the routine should be modified to place the pgdat into node local memory. However, this has already been done as the pgdat is placed at node_remap_start_vaddr. This patch updates the comments to reflect this reality. Signed-off-by: Andy Whitcroft Signed-off-by: Martin J. Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.66, 2004-06-24 09:21:57-07:00, akpm@osdl.org [PATCH] SELinux: Extend and revise calls to secondary module From: Stephen Smalley This patch extends the set of calls to the secondary security module by SELinux as well as revising a few existing calls to support other security modules and to more cleanly stack with the capability module. Please apply. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.65, 2004-06-24 09:21:46-07:00, akpm@osdl.org [PATCH] (o)profile Documentation/basic_profiling.txt updates From: bert hubert Signed-off-by: bert hubert Signed-off-by: John Levon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.64, 2004-06-24 09:21:35-07:00, akpm@osdl.org [PATCH] Add PPC85xx MAINTAINERS entry From: Kumar Gala Added myself to the MAINTAINERS file for 85xx. Added an entry into the CREDITS file for me. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.63, 2004-06-24 09:21:24-07:00, akpm@osdl.org [PATCH] ppc64: fix POWER3 NUMA init From: Anton Blanchard We were passing in the hole size as kB not pages to free_area_init which made the VM misbehave. This only hit on POWER3 because POWER4 and newer places IO above all memory and so doesnt have a hole. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.62, 2004-06-24 09:21:13-07:00, akpm@osdl.org [PATCH] fbdev: video mode change notify (fbset) From: "Antonino A. Daplas" This patch allows fbset to change the video mode and the console window size via the notifier call chain. It will only notify fbcon of mode changes from user space. Changes coming from upstream will be ignored. The code will only update the current console. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.61, 2004-06-24 09:21:01-07:00, akpm@osdl.org [PATCH] Core fbcon fixes From: "Antonino A. Daplas" This patch fixes the following bugs/regressions for fbcon: 1. Initialize and update global arrays used by fbcon during initialization and and by set_con2fbmap code. 2. Fixed screen corruption (white rectangle) at initial mode setting plaguing cards with VGA cores and with VGA console enabled. (vga16fb, however, still shows remnants of previous text if boot logo is enabled) 3. Improved fbcon_startup/fbcon_init code. 4. Fixed set_con2fbmap code -- should support multiple devices mapped to Signed-off-by: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.60, 2004-06-24 09:20:50-07:00, akpm@osdl.org [PATCH] SubmittingDrivers fix From: Jesper Juhl Here's a small patch that lists X.Org as well as XFree86 in Documentation/SubmittingDrivers in the section talking about video drivers. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.59, 2004-06-24 09:20:39-07:00, akpm@osdl.org [PATCH] OProfile: allow normal user to trigger sample dumps From: John Levon In 2.4, OProfile allowed normal users to trigger sample dumps (useful under low sample load). The patch below, by Will Cohen, allows this for 2.6 too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.58, 2004-06-24 09:20:28-07:00, akpm@osdl.org [PATCH] Fix early CPU vendor detection for non intel cpus From: Andi Kleen Early CPU detect can only work after the various sub CPU drivers have registered their devices. Currently the vendor would be always 0, which is Intel. This prevents Athlons from being recognized as buggy PPros and fixes some other workarounds for non Intel CPUs too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.57, 2004-06-24 09:20:17-07:00, akpm@osdl.org [PATCH] fix linker trouble with CONFIG_FB_RIVA_I2C=y and modular I2C From: Adrian Bunk > This version causes linker trouble with > CONFIG_I2C=m > CONFIG_I2C_ALGOBIT=m > CONFIG_FB_RIVA_I2C=y > > CC init/version.o > LD init/built-in.o > LD .tmp_vmlinux1 > drivers/built-in.o(.text+0xda101): In function `riva_setup_i2c_bus': > : undefined reference to `i2c_bit_add_bus' > drivers/built-in.o(.text+0xda218): In function `riva_delete_i2c_busses': > : undefined reference to `i2c_bit_del_bus' > drivers/built-in.o(.text+0xda237): In function `riva_delete_i2c_busses': > : undefined reference to `i2c_bit_del_bus' > drivers/built-in.o(.text+0xda2c9): In function `riva_do_probe_i2c_edid': > : undefined reference to `i2c_transfer' > make: *** [.tmp_vmlinux1] Error 1 >... The problem is: FB_RIVA=y FB_RIVA_I2C=y I2C=m I2C_ALGOBIT=m The patch below fixes this. Besides this, it contains: - help text by Antonino A. Daplas - converted spaces to tabs - it was forgotten that FB_RIVA_I2C requires I2C_ALGOBIT Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.56, 2004-06-24 09:20:06-07:00, akpm@osdl.org [PATCH] Indydog update From: Ralf Baechle Forward port of the 2.4 driver with changes required for 2.6. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.55, 2004-06-24 09:19:53-07:00, akpm@osdl.org [PATCH] MIPS Update From: Ralf Baechle MIPS update: - Further conversion of MIPS kernel configuration to reverse dependencies. - Support for the PMC-Sierra Yosemite evaluation board. - Merge arch/mips/mm-32 and arch/mips/mm-32 into arch/mips/mm. - Partial support for the R8000 now that I finally have clearance for the documentation previously covered by NDA. - Make distclean fixes. - Regenerate default configuration files against latest Kconfig files. - Fix handling of data bus errors in modules. - Make R4000 bug probing more bullet proof. - Rewrite semaphore code folloing the PPC implementation to no longer manipulate 2 32-bit quantities atomically using 64-bit instructions. Occasionally this did cause problems due to struct semaphore not having sufficient alignment. - Make sys_pipe() code bullet proof against gcc 3.5 over-optimization. - Fix possibly exploitable bug in IRIX compatibility statvfs(2). - Make sched_clock() an outline function. - Support for the MIPS 24K and 25K processors. - Make functions static that aren't needed anywhere else. - Factor out some more generic MIPS SMP code. - Factor out common part of the GT-64240 code. - Ocelot C now uses the generic MV-64340 interrupt handler code. - Factor out common board support code - More cleanup and bug fixes for the NEC VR41xx code. - Start cleanup of hazard handling as required for MIPS32/64 V2 processors. - Enforce minimal kmalloc alignment of 8 byte so 64-bit registers can be stored into fields without exceptions. - Speeling and warning fixes. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.54, 2004-06-24 08:56:30-07:00, akpm@osdl.org [PATCH] Dell laptop lockup fix for ALSA From: Alan Cox OSS avoids the Dell lockup by not hitting the problem register (which apparently breaks resume on a Sony laptop). ALSA keeps a flag and uses pci subvendor info to clear it for problem Dell laptops. Unfortunately there is at least one other Dell laptop which is affected. This adds its sub id's [Patch from Dan Williams @ Red Hat slightly reformatted by me] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.53, 2004-06-24 08:56:19-07:00, akpm@osdl.org [PATCH] mips: SGI A2 audio rewrite and 2.6 fixes From: Ralf Baechle Fix HAL2 audio driver for the SGI A2 audio subsystem and rewrite large parts of it to finally work. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.52, 2004-06-24 08:56:08-07:00, akpm@osdl.org [PATCH] make total_swap_pages a long Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.51, 2004-06-24 08:55:56-07:00, akpm@osdl.org [PATCH] Make nr_swap_pages a long From: Anton Blanchard ../include/linux/swap.h:extern int nr_swap_pages; /* XXX: shouldn't this be ulong? --hch */ Sounds like it should be too me. Some of the code checks for nr_swap_pages < 0 so I made it a long instead. I had to fix up the ppc64 show_mem() (Im guessing there will be other trivial changes required in other 64bit archs, I can find and fix those if you want). I also noticed that the ppc64 show_mem() used ints to store page counts. We can overflow that, so make them unsigned long. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.50, 2004-06-24 08:55:44-07:00, akpm@osdl.org [PATCH] nr_pagecache can go negative We use per-cpu counters for the system-wide pagecache accounting. The counters spill into the global nr_pagecache atomic_t when they underflow or overflow. Hence it is possible, under weird circumstances, for nr_pagecache to go negative. Anton says he has hit this. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.49, 2004-06-24 08:55:33-07:00, akpm@osdl.org [PATCH] help text for FB_RIVA_I2C From: "Antonino A. Daplas" Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.48, 2004-06-24 08:55:22-07:00, akpm@osdl.org [PATCH] Support NetMOS based PCI cards providing serial and parallel ports From: Christoph Lameter Attached a patch to support a variety of PCI based serial and parallel port I/O ports (typically labeled 222N-2 or 9835). I think this should go into 2.6.0 since it has been out there for a long time and is just some additional driver support that somehow fell through the cracks in 2.4.X. Tim Waugh submitted it in the 2.4.X series. See also http://winterwolf.co.uk/pciio Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.47, 2004-06-24 08:55:11-07:00, akpm@osdl.org [PATCH] abs() fixes OK, the pending abs() disaster has hit: drivers/usb/class/audio.c:404: warning: static declaration of 'abs' follows non-static declaration This is due to the declaration in kernel.h. AFAIK there's not even a matching definition for that. The patch implements abs() as a macro in kernel.h and kills off various private implementations. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.46, 2004-06-24 08:55:00-07:00, akpm@osdl.org [PATCH] reduce function inlining in slab.c From: Manfred Spraul slab.c contains too many inline functions: - some functions that are not performance critical were inlined. Waste of text size. - The debug code relies on __builtin_return_address(0) to keep track of the callers. According to rmk, gcc didn't inline some functions as expected and that resulted in useless debug output. This was probably caused by the large debug-only inline functions. The attached patche removes most inline functions: - the empty on release/huge on debug inline functions were replaced with empty macros on release/normal functions on debug. - spurious inline statements were removed. The code is down to 6 inline functions: three one-liners for struct abstractions, one for a might_sleep_if test and two for the performance critical __cache_alloc / __cache_free functions. Note: If an embedded arch wants to save a few bytes by uninlining __cache_{free,alloc}: The right way to do that is to fold the functions into kmem_cache_xy and then replace kmalloc with kmem_cache_alloc(kmem_find_general_cachep(),). Signed-Off: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.45, 2004-06-24 08:54:49-07:00, akpm@osdl.org [PATCH] hwcache align kmalloc caches From: Manfred Spraul Reversing the patches that made all caches hw cacheline aligned had an unintended side effect on the kmalloc caches: Before they had the SLAB_HWCACHE_ALIGN flag set, now it's clear. This breaks one sgi driver - it expects aligned caches. Additionally I think it's the right thing to do: It costs virtually nothing (the caches are power-of-two sized) and could reduce false sharing. Additionally, the patch adds back the documentation for the SLAB_HWCACHE_ALIGN flag. Signed-Off: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.44, 2004-06-24 08:54:38-07:00, akpm@osdl.org [PATCH] tweak the buddy allocator for better I/O merging From: William Lee Irwin III Based on Arjan van de Ven's idea, with guidance and testing from James Bottomley. The physical ordering of pages delivered to the IO subsystem is strongly related to the order in which fragments are subdivided from larger blocks of memory tracked by the page allocator. Consider a single MAX_ORDER block of memory in isolation acted on by a sequence of order 0 allocations in an otherwise empty buddy system. Subdividing the block beginning at the highest addresses will yield all the pages of the block in reverse, and subdividing the block begining at the lowest addresses will yield all the pages of the block in physical address order. Empirical tests demonstrate this ordering is preserved, and that changing the order of subdivision so that the lowest page is split off first resolves the sglist merging difficulties encountered by driver authors at Adaptec and others in James Bottomley's testing. James found that before this patch, there were 40 merges out of about 32K segments. Afterward, there were 24007 merges out of 19513 segments, for a merge rate of about 55%. Merges of 128 segments, the maximum allowed, were observed afterward, where beforehand they never occurred. It also improves dbench on my workstation and works fine there. Signed-off-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.43, 2004-06-24 08:54:26-07:00, akpm@osdl.org [PATCH] Use fancy wakeups in wait.h Use the more SMP-friendly prepare_to_wait()/finish_wait() in wait_event() and friends. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.42, 2004-06-24 08:54:15-07:00, akpm@osdl.org [PATCH] dnotify.c: use inode->i_lock in place of dn_lock From: "Adam J. Richter" Replace the use of a global spinlock with the per-inode ->i_lock. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.41, 2004-06-24 08:54:04-07:00, akpm@osdl.org [PATCH] vm: vfs shrinkage tuning Some people want the dentry and inode caches shrink harder, others want them shrunk more reluctantly. The patch adds /proc/sys/vm/vfs_cache_pressure, which tunes the vfs cache versus pagecache scanning pressure. - at vfs_cache_pressure=0 we don't shrink dcache and icache at all. - at vfs_cache_pressure=100 there is no change in behaviour. - at vfs_cache_pressure > 100 we reclaim dentries and inodes harder. The number of megabytes of slab left after a slocate.cron on my 256MB test box: vfs_cache_pressure=100000 33480 vfs_cache_pressure=10000 61996 vfs_cache_pressure=1000 104056 vfs_cache_pressure=200 166340 vfs_cache_pressure=100 190200 vfs_cache_pressure=50 206168 Of course, this just left more directory and inode pagecache behind instead of vfs cache. Interestingly, on this machine the entire slocate run fits into pagecache, but not into VFS caches. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.40, 2004-06-24 08:53:52-07:00, akpm@osdl.org [PATCH] vmscan.c: dont reclaim too many pages The shrink_zone() logic can, under some circumstances, cause far too many pages to be reclaimed. Say, we're scanning at high priority and suddenly hit a large number of reclaimable pages on the LRU. Change things so we bale out when SWAP_CLUSTER_MAX pages have been reclaimed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.39, 2004-06-24 08:53:40-07:00, akpm@osdl.org [PATCH] vmscan.c scan rate fixes We've been futzing with the scan rates of the inactive and active lists far too much, and it's still not right (Anton reports interrupt-off times of over a second). - We have this logic in there from 2.4.early (at least) which tries to keep the inactive list 1/3rd the size of the active list. Or something. I really cannot see any logic behind this, so toss it out and change the arithmetic in there so that all pages on both lists have equal scan rates. - Chunk the work up so we never hold interrupts off for more that 32 pages worth of scanning. - Make the per-zone scan-count accumulators unsigned long rather than atomic_t. Mainly because atomic_t's could conceivably overflow, but also because access to these counters is racy-by-design anyway. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.38, 2004-06-24 08:53:29-07:00, akpm@osdl.org [PATCH] vmscan.c: shuffle things around Move all the data structure declarations, macros and variable definitions to less surprising places. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.37, 2004-06-24 08:53:18-07:00, akpm@osdl.org [PATCH] Fix and Reenable MSI Support on x86_64 From: long MSI support for x86_64 is currently disabled in the kernel 2.6.x. Below is the patch, which provides a fix and reenable it. In addition, the patch provides a info message during kernel boot if configuring vector-base indexing. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.36, 2004-06-24 08:53:08-07:00, akpm@osdl.org [PATCH] make irqaction use a cpu mask From: William Lee Irwin III The following patch makes irqaction's ->mask a cpumask as it was intended to be and wraps up the rest of the sweep. Only struct irqaction is usefully greppable, so there may be some assignments to ->mask missing still. This removes more code than it adds. From: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.35, 2004-06-24 08:52:55-07:00, akpm@osdl.org [PATCH] alpha: cpumask fixups From: William Lee Irwin III The cpumask patches broke alpha's build, even without the irqaction patch, largely centering around cpu_possible_map. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.34, 2004-06-24 08:52:44-07:00, akpm@osdl.org [PATCH] clean up cpumask_t temporaries From: Rusty Russell Paul Jackson's cpumask tour-de-force allows us to get rid of those stupid temporaries which we used to hold CPU_MASK_ALL to hand them to functions. This used to break NR_CPUS > BITS_PER_LONG. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.33, 2004-06-24 08:52:33-07:00, akpm@osdl.org [PATCH] cpumask: comment, spacing tweaks From: Paul Jackson Tweak cpumask.h comments, spacing: - Add comments for cpu_present_map macros: num_present_cpus() and cpu_present() - Remove comments for obsolete macros: cpu_set_online(), cpu_set_offline() - Reorder a few comment lines, to match the code and confuse readers of this patch - Tabify one chunk of code Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.32, 2004-06-24 08:52:21-07:00, akpm@osdl.org [PATCH] cpumask: optimize various uses of new cpumasks From: Paul Jackson Make use of for_each_cpu_mask() macro to simplify and optimize a couple of sparc64 per-CPU loops. Optimize a bit of cpumask code for asm-i386/mach-es7000 Convert physids_complement() to use both args in the files include/asm-i386/mpspec.h, include/asm-x86_64/mpspec.h. Remove cpumask hack from asm-x86_64/topology.h routine pcibus_to_cpumask(). Clarify and slightly optimize several cpumask manipulations in kernel/sched.c Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.31, 2004-06-24 08:52:10-07:00, akpm@osdl.org [PATCH] cpumask: Remove no longer used obsolete macro emulation From: Paul Jackson Now that the emulation of the obsolete cpumask macros is no longer needed, remove it from cpumask.h Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.30, 2004-06-24 08:51:59-07:00, akpm@osdl.org [PATCH] ppc64: cpu_online fix include/asm/smp.h:55:1: warning: "cpu_possible" redefined include/asm/smp.h:54:1: warning: "cpu_online" redefined Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.29, 2004-06-24 08:51:48-07:00, akpm@osdl.org [PATCH] x86_64: cpu_online fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.28, 2004-06-24 08:51:37-07:00, akpm@osdl.org [PATCH] cpumask: remove obsolete cpumask macro uses - other archs From: Paul Jackson Remove by recoding other uses of the obsolete cpumask const, coerce and promote macros. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.27, 2004-06-24 08:51:25-07:00, akpm@osdl.org [PATCH] cpumask: remove obsolete cpumask macro uses - i386 arch From: Paul Jackson Remove by recoding i386 uses of the obsolete cpumask const, coerce and promote macros. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.26, 2004-06-24 08:51:14-07:00, akpm@osdl.org [PATCH] cpumask: remove 26 no longer used cpumask*.h files From: Paul Jackson With the cpumask rewrite in the previous patch, these various include/asm-*/cpumask*.h headers are no longer used. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.25, 2004-06-24 08:51:00-07:00, akpm@osdl.org [PATCH] cpumask: rewrite cpumask.h - single bitmap based implementation From: Paul Jackson Major rewrite of cpumask to use a single implementation, as a struct-wrapped bitmap. This patch leaves some 26 include/asm-*/cpumask*.h header files orphaned - to be removed next patch. Some nine cpumask macros for const variants and to coerce and promote between an unsigned long and a cpumask are obsolete. Simple emulation wrappers are provided in this patch for these obsolete macros, which can be removed once each of the 3 archs (i386, ppc64, x86_64) using them are recoded in follow-on patches to not need them. The CPU_MASK_ALL macro now avoids leaving possible garbage one bits in any unused portion of the high word. An inproved comment lists all available operators, for convenient browsing. From: Mikael Pettersson 2.6.7-rc3-mm1 changed CPU_MASK_NONE into something that isn't a valid rvalue (it only works inside struct initializers). This caused compile-time errors in perfctr in UP x86 builds. From: Arnd Bergmann cpumask-5-10-rewrite-cpumaskh-single-bitmap-based from 2.6.7-rc3-mm1 causes include2/asm/smp.h:54:1: warning: "cpu_online" redefined Signed-off-by: Paul Jackson Signed-off-by: Mikael Pettersson Signed-off-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.24, 2004-06-24 08:50:51-07:00, akpm@osdl.org [PATCH] cpumask: bitmap inlining and optimizations From: Paul Jackson These bitmap improvements make it a suitable basis for fully supporting cpumask_t and nodemask_t. Inline macros with compile-time checks enable generating tight code on both small and large systems (large meaning cpumask_t requires more than one unsigned long's worth of bits). The existing bitmap_ macros in lib/bitmap.c are renamed to __bitmap_, and wrappers for each bitmap_ are exposed in include/linux/bitmap.h This patch _includes_ Bill Irwins rewrite of the bitmap_shift operators to not require a fixed length intermediate bitmap. Improved comments list each available operator for easy browsing. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.23, 2004-06-24 08:50:40-07:00, akpm@osdl.org [PATCH] cpumask: bitmap cleanup preparation for cpumask overhaul From: Paul Jackson Document the bitmap bit model and handling of unused bits. Tighten up bitmap so it does not generate nonzero bits in the unused tail if it is not given any on input. Add intersects, subset, xor and andnot operators. Change bitmap_complement to take two operands. Add a couple of missing 'const' qualifiers on bitops test_bit and bitmap_equal args. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.22, 2004-06-24 08:50:29-07:00, akpm@osdl.org [PATCH] cpumask: make cpu_present_map real even on non-smp From: Paul Jackson This patch makes cpu_present_map a real map for all configurations, instead of a constant for non-SMP. It also moves the definition of cpu_present_map out of kernel/cpu.c into kernel/sched.c, because cpu.c isn't compiled into non-SMP kernels. The pattern is that each of the possible, present and online cpu maps are actual kernel global cpumask_t variables, for all configurations. They are documented in include/linux/cpumask.h. Some of the UP (NR_CPUS=1) code cheats, and hardcodes the assumption that the single bit position of these maps is always set, as an optimization. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.21, 2004-06-24 08:50:18-07:00, akpm@osdl.org [PATCH] rcu: avoid passing an argument to the callback function From: Dipankar Sarma This patch changes the call_rcu() API and avoids passing an argument to the callback function as suggested by Rusty. Instead, it is assumed that the user has embedded the rcu head into a structure that is useful in the callback and the rcu_head pointer is passed to the callback. The callback can use container_of() to get the pointer to its structure and work with it. Together with the rcu-singly-link patch, it reduces the rcu_head size by 50%. Considering that we use these in things like struct dentry and struct dst_entry, this is good savings in space. An example : struct my_struct { struct rcu_head rcu; int x; int y; }; void my_rcu_callback(struct rcu_head *head) { struct my_struct *p = container_of(head, struct my_struct, rcu); free(p); } void my_delete(struct my_struct *p) { ... call_rcu(&p->rcu, my_rcu_callback); ... } Signed-Off-By: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.20, 2004-06-24 08:50:06-07:00, akpm@osdl.org [PATCH] reduce rcu_head size - core From: Dipankar Sarma This reduces the RCU head size by using a singly linked to maintain them. The ordering of the callbacks is still maintained as before by using a tail pointer for the next list. Signed-Off-By : Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.19, 2004-06-24 08:49:55-07:00, akpm@osdl.org [PATCH] rcu lock update: Code move & cleanup From: Manfred Spraul Step three for reducing cacheline trashing within rcupdate.c: Cleanup and code move from to kernel/rcupdate.c: Remove internal details from the header file. Signed-off-by: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.18, 2004-06-24 08:49:44-07:00, akpm@osdl.org [PATCH] rcu lock update: Use a sequence lock for starting batches From: Manfred Spraul Step two for reducing cacheline trashing within rcupdate.c: rcu_process_callbacks always acquires rcu_ctrlblk.state.mutex and calls rcu_start_batch, even if the batch is already running or already scheduled to run. This can be avoided with a sequence lock: A sequence lock allows to read the current batch number and next_pending atomically. If next_pending is already set, then there is no need to acquire the global mutex. This means that for each grace period, there will be - one write access to the rcu_ctrlblk.batch cacheline - lots of read accesses to rcu_ctrlblk.batch (3-10*cpus_online()). Behavior similar to the jiffies cacheline, shouldn't be a problem. - cpus_online()+1 write accesses to rcu_ctrlblk.state, all of them starting with spin_lock(&rcu_ctrlblk.state.mutex). For large enough cpus_online() this will be a problem, but all except two of the spin_lock calls only protect the rcu_cpu_mask bitmap, thus a hierarchical bitmap would allow to split the write accesses to multiple cachelines. Tested on an 8-way with reaim. Unfortunately it probably won't help with Jack Steiner's 'ls' test since in this test only one cpu generates rcu entries. Signed-off-by: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.17, 2004-06-24 08:49:33-07:00, akpm@osdl.org [PATCH] rcu lock update: Add per-cpu batch counter From: Manfred Spraul Below is the one of my patches from my rcu lock update. Jack Steiner tested the first one on a 512p and it resolved the rcu cache line trashing. All were tested on osdl with STP. Step one for reducing cacheline trashing within rcupdate.c: The current code uses the rcu_cpu_mask bitmap both for keeping track of the cpus that haven't gone through a quiescent state and for checking if a cpu should look for quiescent states. The bitmap is frequently changed and the check is done by polling - together this causes cache line trashing. If it's cheaper to access a (mostly) read-only cacheline than a cacheline that is frequently dirtied, then it's possible to reduce the trashing by splitting the rcu_cpu_mask bitmap into two cachelines: The patch adds a generation counter and moves it into a separate cacheline. This allows to removes all accesses to rcu_cpumask (in the read-write cacheline) from rcu_pending and at least 50% of the accesses from rcu_check_quiescent_state. rcu_pending and all but one call per cpu to rcu_check_quiescent_state access the read-only cacheline. Probably not enough for 512p, but it's a start, just for 128 byte more memory use, without slowing down rcu grace periods. Obviously the read-only cacheline is not really read-only: it's written once per grace period to indicate that a new grace period is running. Tests on an 8-way Pentium III with reaim showed some improvement: oprofile hits: Reference: http://khack.osdl.org/stp/293075/ Hits % 23741 0.0994 rcu_pending 19057 0.0798 rcu_check_quiescent_state 6530 0.0273 rcu_check_callbacks Patched: http://khack.osdl.org/stp/293076/ 8291 0.0579 rcu_pending 5475 0.0382 rcu_check_quiescent_state 3604 0.0252 rcu_check_callbacks The total runtime differs between both runs, thus the % number must be compared: Around 50% faster. I've uninlined rcu_pending for the test. Tested with reaim and kernbench. Description: - per-cpu quiescbatch and qs_pending fields introduced: quiescbatch contains the number of the last quiescent period that the cpu has seen and qs_pending is set if the cpu has not yet reported the quiescent state for the current period. With these two fields a cpu can test if it should report a quiescent state without having to look at the frequently written rcu_cpu_mask bitmap. - curbatch split into two fields: rcu_ctrlblk.batch.completed and rcu_ctrlblk.batch.cur. This makes it possible to figure out if a grace period is running (completed != cur) without accessing the rcu_cpu_mask bitmap. - rcu_ctrlblk.maxbatch removed and replaced with a true/false next_pending flag: next_pending=1 means that another grace period should be started immediately after the end of the current period. Previously, this was achieved by maxbatch: curbatch==maxbatch means don't start, curbatch!= maxbatch means start. A flag improves the readability: The only possible values for maxbatch were curbatch and curbatch+1. - rcu_ctrlblk split into two cachelines for better performance. - common code from rcu_offline_cpu and rcu_check_quiescent_state merged into cpu_quiet. - rcu_offline_cpu: replace spin_lock_irq with spin_lock_bh, there are no accesses from irq context (and there are accesses to the spinlock with enabled interrupts from tasklet context). - rcu_restart_cpu introduced, s390 should call it after changing nohz: Theoretically the global batch counter could wrap around and end up at RCU_quiescbatch(cpu). Then the cpu would not look for a quiescent state and rcu would lock up. Signed-off-by: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.16, 2004-06-24 08:49:21-07:00, akpm@osdl.org [PATCH] Move saved_command_line to init/main.c From: Rusty Russell Currently every arch declares its own char saved_command_line[]. Make sure every arch defines COMMAND_LINE_SIZE in asm/setup.h, and declare saved_command_line in linux/init.h (init/main.c contains the definition). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.15, 2004-06-24 08:49:07-07:00, akpm@osdl.org [PATCH] jbd needs to wait for locked buffers From: Chris Mason jbd needs to wait for any io to complete on the buffer before changing the end_io function. Using set_buffer_locked means that it can change the end_io function while the page is in the middle of writeback, and the writeback bit on the page will never get cleared. Since we set the buffer dirty earlier on, if the page was previously dirty, pdflush or memory pressure might trigger a writepage call, which will race with jbd's set_buffer_locked. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.14, 2004-06-24 08:48:56-07:00, akpm@osdl.org [PATCH] Allow i386 to reenable interrupts on lock contention From: Zwane Mwaikambo Following up on Keith's code, I adapted the i386 code to allow enabling interrupts during contested locks depending on previous interrupt enable status. Obviously there will be a text increase (only for non CONFIG_SPINLINE case), although it doesn't seem so bad, there will be an increased exit latency when we attempt a lock acquisition after spinning due to the extra instructions. How much this will affect performance I'm not sure yet as I haven't had time to micro bench. text data bss dec hex filename 2628024 921731 0 3549755 362a3b vmlinux-after 2621369 921731 0 3543100 36103c vmlinux-before 2618313 919222 0 3537535 35fa7f vmlinux-spinline The code has been stress tested on a 16x NUMAQ (courtesy OSDL). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.122.23, 2004-06-24 02:01:15-03:00, acme@conectiva.com.br [NET] make the struct proto entries related to memory pressure be pointers This is needed because tcpv6_prot has to point to the same place tcp_prot points, as they share the same accounting variables. This fixes a bug noticed by David Miller when using the ipv6_mapped functionality, thanks David! Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller ChangeSet@1.1760.10.15, 2004-06-23 19:44:57-07:00, davem@nuts.davemloft.net [ATM]: In proc_mpc_read, make length ssize_t. ChangeSet@1.1760.10.14, 2004-06-23 19:42:54-07:00, davem@nuts.davemloft.net [NETFILTER]: Use correct size_t printk format string in ipt_addrtype.c ChangeSet@1.1760.10.13, 2004-06-23 18:19:39-07:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/acme-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1760.10.12, 2004-06-23 18:17:00-07:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/netnew-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1760.17.11, 2004-06-23 16:59:52-07:00, ossi@kde.org [PATCH] PCI: (one more) PCI quirk for SMBus bridge on Asus P4 boards my board has one of those "clever" bioses that hide the smbus. this tiny patch adds it to the Bad Guy List (TM). Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.24.6, 2004-06-24 00:40:38+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix acornfb build error. ChangeSet@1.1760.24.5, 2004-06-24 00:23:46+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix Footbridge timer functions. ChangeSet@1.1760.24.4, 2004-06-24 00:15:06+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix EBSA110 timer functions. Unfortunately this broke in Deepak's merge. Fix it. ChangeSet@1.1760.24.3, 2004-06-23 23:26:14+01:00, tony@com.rmk.(none) [ARM PATCH] 1943/1: OMAP compile fix Patch from Tony Lindgren This patch fixes OMAP compile after the ARM timer changes in cset 1.1821.5.3 and dma-mapping device address translation in cset 1.1821.5.3. ChangeSet@1.1722.122.22, 2004-06-23 18:03:17-03:00, acme@conectiva.com.br [NET] Generalise tcp_{writequeue_purge,rmem_schedule,alloc_{pskb,page}} Only new requirement was to add a max_header field to struct sock sk_prot member. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.24.2, 2004-06-23 19:13:37+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix platform device registration. Since the platform device registration is now merged into the driver model, remove it from the ARM specific code. ChangeSet@1.1760.25.1, 2004-06-23 10:55:18-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] bug in V-link handling (arch/i386/pci/irq.c) Via southbridges use register 0x3c of the on-board devices (USB and AC97) to control interrupt routing for those. In drivers/pci/quirks.c we set it correctly (dev->irq & 15). However, in pirq_enable_irq() where the second half of that stuff lives, we forget to apply the mask. That's what causes problems with ioapic on via motherboards in 2.6. One-liner below ACKed by Alan, verified on via-based boxen here, obviously doesn't affect non-via ones (we only set interrupt_line_quirk for via chipsets). ChangeSet@1.1760.24.1, 2004-06-23 18:09:17+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix Integrator/CP timer support. ChangeSet@1.1760.23.1, 2004-06-23 09:43:03-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/acme-2.6 ChangeSet@1.1760.22.12, 2004-06-23 08:05:47-07:00, davem@nuts.davemloft.net Merge ChangeSet@1.1760.22.11, 2004-06-23 07:44:19-07:00, yoshfuji@linux-ipv6.org [NETFILTER]: Fix iptable_raw.c build with older gcc. ChangeSet@1.1760.1.63, 2004-06-23 08:09:38+01:00, dwmw2@shinybook.infradead.org WindRiver PowerQUICC III platform support cleanup. Respond to maintainer feedback -- remove unneeded setup for the FEC port which doesn't exist; small cosmetic changes. Signed-off-by: Kumar Gala ChangeSet@1.1760.22.10, 2004-06-22 19:53:47-07:00, jbarnes@engr.sgi.com [PATCH] ppc32: Support for new Apple laptop models This adds sound support for some of the newer PowerBooks. It appears that this chip supports the AWACS sample rates, but has a snapper-style mixer. Tested and works on my PowerBook5,4. Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.9, 2004-06-22 19:52:14-07:00, paulus@samba.org [PATCH] Handle altivec assist exception properly This is the PPC64 counterpart of the PPC32 Altivec assist exception handler that went in recently. On PPC64 machines with Altivec (i.e. machines that use the PPC970 chip, such as the G5 powermac), the altivec floating-point instructions can operate in two modes: one where denormalized inputs or outputs are truncated to zero, and one where they aren't. In the latter mode the processor can take an exception when it encounters denormalized floating-point inputs or outputs rather than dealing with them in hardware. This patch adds code to deal properly with the exception, by emulating the instruction that caused the exception. Previously the kernel just switched the altivec unit into the truncate-to-zero mode, which works but is a bit gross. Fortunately there are only a limited set of altivec instructions which can generate the assist exception, so we don't have to emulate the whole altivec instruction set. Note that Altivec is Motorola's name for the PowerPC vector/SIMD instructions; IBM calls the same thing VMX, and currently only IBM makes 64-bit PowerPC CPU chips. Nevertheless, I have used the term Altivec in the PPC64 code for consistency with the PPC32 code. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.8, 2004-06-22 19:52:02-07:00, benh@kernel.crashing.org [PATCH] radeonfb: Fix panel detection on some laptops The code in radeonfb looking for the BIOS image currently uses the BIOS ROM if any, and falls back to the RAM image if not found. This is unfortunatly not correct for a bunch of laptops where the real panel data are only present in the RAM image. This works around this problem by preferring the RAM image on mobility chipsets. This is definitely not the best workaround, we need some arch support for linking the RAM image to the PCI ID (preferrably by having the arch snapshot it during boot, isolating us completely from the details of where this image is in memory). I'll see how we can get such an improvement later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.7, 2004-06-22 19:51:52-07:00, benh@kernel.crashing.org [PATCH] ppc32: Support for new Apple laptop models This adds support for newer Apple laptop models. It adds the basic identification for the new motherboards and the cpufreq support for models using the new 7447A CPU from Motorola. This is mostly the work of John Steele Scott with some bits from Sebastian Henschel and some rework by myself. Please apply, Signed-off-by: John Steele Scott Signed-off-by: Sebastian Henschel Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.6, 2004-06-22 19:51:41-07:00, benh@kernel.crashing.org [PATCH] ppc32: oprofile support This adds basic oprofile support to ppc32. Originally from Anton Blanchard, I just re-diffed it against current kernels. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1760.22.5, 2004-06-22 19:51:29-07:00, benh@kernel.crashing.org [PATCH] ppc32: Cleanups & warning fixes of traps.c This cleans up arch/ppc/kernel/traps.c and vecemu.c to use the same formatting style for all functions, and fixes 2 warnings in the altivec floating point emulation code. No functional change. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1722.122.21, 2004-06-23 01:20:40-03:00, acme@conectiva.com.br [NET] Generalise tcp memory pressure handling Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.19.1, 2004-06-22 20:42:16-04:00, jgarzik@pobox.com [libata sata_sil] Re-fix mod15write bug Certain early SATA drives have problems with write requests whose length satisfy the equation "sectors % 15 == 1", on the SiI 3112. Other drives, and other SiI controllers, are not affected. The fix for this problem is to avoid such requests, in one of three ways, for the affect drive+controller combos: 1) Limit all writes to 15 sectors 2) Use block layer features to avoid creating requests whose length satisfies the above equation. 3) When a request satisfies the above equation, split the request into two writes, neither of which satisfies the equation. I chose fix #1, the most simple to implement. After discussion with Silicon Image and others regarding the impact of this fix, I have decided to remain with fix #1, and will not be implementing a "better fix". This means that the affected SATA drives will see decreased performance, but set of affected drives is small and will never grow larger. Further, the complexity of implementing solution #2 or solution #3 is rather large. When implementing lba48 'large request' support, I unintentionally broke the fix for these affected drives. Kudos to Ricky Beam for noticing this. This change restores the fix, by adding a flag ATA_DFLAG_LOCK_SECTORS to indicate that the max_sectors value set by the low-level driver should never be changed. ChangeSet@1.1760.16.7, 2004-06-23 01:07:38+01:00, dvrabel@com.rmk.(none) [ARM PATCH] 1940/1: asm-arm/checksum.h - missing include Patch from David Vrabel Missing include (cf. include/asm-i386/checksum.h) in include/asm-arm/checksum.h. ChangeSet@1.1760.10.11, 2004-06-22 17:07:21-07:00, shemminger@osdl.org [BRIDGE]: Turn off debug message in bridge ioctl. Trivial patch to turn off a debug message. It seems some SNMP daemons just periodically trying to look at MII state. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1760.10.10, 2004-06-22 17:06:32-07:00, shemminger@osdl.org [IPV4]: ip_rt_ioctl argument is user pointer. The function ip_rt_ioctl expects a pointer to a user route structure, so define it that way and cast as appropriate. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1760.10.9, 2004-06-22 17:04:54-07:00, shemminger@osdl.org [NET]: rtentry->rt_dev is __user. The device entry in the route ioctl's needs annotation. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1760.16.6, 2004-06-23 01:03:51+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1939/1: SA1100 watchdog driver also works on PXA2xx Patch from Ian Campbell The SA1100 watchdog driver also works fine on the PXA2xx. Tested on a PXA255 based platform. ChangeSet@1.1760.16.5, 2004-06-23 00:59:35+01:00, jelenz@edu.rmk.(none) [ARM PATCH] 1936/1: Update collie fb entries to use new style initializers Patch from John Lenz Switches the collie framebuffer mach_info structure to use the new initializers. Signed-off-by: John Lenz ChangeSet@1.1760.17.10, 2004-06-22 16:59:02-07:00, shemminger@osdl.org [PATCH] PCI: add id's for sk98 driver Redoing the sk98 driver to correct pci model. These are (most of) the entries it uses. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.17.9, 2004-06-22 16:58:27-07:00, shemminger@osdl.org [PATCH] PCI: fix out of order entry in pci_ids.h The last entry in pci_ids.h is out of order, someone wasn't reading the comment to keep it sorted. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.17.8, 2004-06-22 16:57:48-07:00, shemminger@osdl.org [PATCH] PCI: remove duplicate in pci_ids.h Get rid of duplicate entry, one is in the middle of the file with duplicate at the end Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.17.7, 2004-06-22 16:57:06-07:00, roland@topspin.com [PATCH] PCI: Fix MSI-X setup msix_capability_init() puts the offset of the MSI-X capability into pos, then uses pos as a loop index to clear the MSI-X vector table, and then tries to use pos as the offset again, which results in writing the MSI-X enable bit off into space. This patch fixes that by adding a new loop index variable and using that to clear the vector table. Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.16.4, 2004-06-23 00:55:42+01:00, jelenz@edu.rmk.(none) [ARM PATCH] 1935/1: Fix bug in sa1111 driver Patch from John Lenz The __sa1111_probe function is declared __init, and it is called from the sa1111_probe function, which is not declared __init. Signed-off-by: John Lenz ChangeSet@1.1760.10.8, 2004-06-22 16:55:39-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/netnew-2.6 ChangeSet@1.1760.18.2, 2004-06-23 00:48:22+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1933/1: Convert PXA serial driver to device model and implement suspend and resume Patch from Ian Campbell Patch 1848/1 removed the hack for preserving FFUART over sleep. This patch adds back that support in the correct place by converting the PXA serial driver to use the driver model and hooking up the suspend and resume methods. ChangeSet@1.1760.18.1, 2004-06-23 00:44:18+01:00, elf@com.rmk.(none) [ARM PATCH] 1913/1: lh7a40x #3 (1/2) serial Patch from Marc Singer Serial console and port driver for the LH7a40x CPUs. The only change made since the last patch was to change the PORT_ID (again). This patch superceeds two serial driver patches. ChangeSet@1.1760.17.6, 2004-06-22 16:28:44-07:00, greg@kroah.com merge fixups. ChangeSet@1.1722.122.20, 2004-06-22 20:04:46-03:00, acme@conectiva.com.br [NET] remove fill_page_desc, its just a copy of skb_fill_page_desc Also remove an unused inet_opt variable from ipv6 code. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.16.3, 2004-06-22 23:54:18+01:00, rmk@flint.arm.linux.org.uk Merge bk://dsaxena.bkbits.net/linux-2.6-for-rmk into flint.arm.linux.org.uk:/usr/src/bk/linux-2.6-rmk ChangeSet@1.1765, 2004-06-22 15:41:55-07:00, trini@kernel.crashing.org [PPC32] Update CPM2 (MPC82xx/MPC85xx) code to use rheap for DP memory Originally from: Rune Torgersen Signed-off-by: Tom Rini ChangeSet@1.1722.122.19, 2004-06-22 19:32:50-03:00, acme@conectiva.com.br [NET] rename struct inet_protocol to net_protocol The poor cousins will also have registration routines, etc. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1764, 2004-06-22 14:51:52-07:00, trini@kernel.crashing.org [PPC32] Change how we handle DP memory on MPC8xx. We now have a 'remote heap' implemented (see comments in arch/ppc/lib/rheap.c) which manages this memory. From Pantelis Antoniou . Signed-off-by: Tom Rini ChangeSet@1.1760.10.7, 2004-06-22 14:07:48-07:00, akepner@sgi.com [NET]: In loopback, make get_stats() get correct per-cpu stats. Signed-off-by: Arthur Kepner Signed-off-by: David S. Miller ChangeSet@1.1760.10.6, 2004-06-22 13:54:22-07:00, davem@nuts.davemloft.net [IPSEC]: In ESP, do not put scatterlist array on stack. Put it in per-esp data instead. Noticed by Linus. Signed-off-by: David S. Miller ChangeSet@1.1722.122.18, 2004-06-22 17:51:20-03:00, acme@conectiva.com.br [NET] Move sndmsg_page and sndmsg_off to struct sock Yeah, the poor cousins will use this as well :-) ChangeSet@1.1760.10.5, 2004-06-22 12:59:56-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1760.17.4, 2004-06-22 10:20:50-07:00, torvalds@ppc970.osdl.org Merge bk://gkernel.bkbits.net/libata-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1760.17.2, 2004-06-22 10:18:32-07:00, torvalds@ppc970.osdl.org sparse: clean up warning in swapfile.c ChangeSet@1.1760.17.1, 2004-06-22 10:05:31-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1760.11.2, 2004-06-22 13:02:35-04:00, jgarzik@pobox.com [blk carmel] s/carmel/sx8/ in the driver itself ChangeSet@1.1760.15.17, 2004-06-22 09:28:50-07:00, torvalds@ppc970.osdl.org Fix C99'ism that breaks older gcc's. Also clean it all up - use get_cpu()/put_cpu() instead of playing games by hand with preemption. ChangeSet@1.1760.13.5, 2004-06-22 09:25:34-07:00, khali@linux-fr.org [PATCH] I2C: Drop out-of-date code in w83781d and w83627hf Here is a simple patch which drops some out-of-date code in the w83781d and w83627hf i2c chip drivers. These bits are left over from the times when chip drivers were setting default limits at init. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1760.13.4, 2004-06-22 09:20:30-07:00, greg@kroah.com [PATCH] USB: sparse fixups for devio.c ChangeSet@1.1760.15.16, 2004-06-22 08:27:43-07:00, rddunlap@osdl.org [PATCH] sparse: make sys_quotactl() prototype match function Al missed this one in his sparse fixes Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds ChangeSet@1.1760.15.15, 2004-06-22 08:27:32-07:00, rddunlap@osdl.org [PATCH] Fix sparse warning in drivers/block/ll_rw_blk.c From: Mika Kukkonen Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds ChangeSet@1.1760.15.14, 2004-06-22 08:27:21-07:00, rddunlap@osdl.org [PATCH] Fix sparse warning in fs/proc/base.c From: Mika Kukkonen Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds ChangeSet@1.1760.15.13, 2004-06-22 08:27:10-07:00, rddunlap@osdl.org [PATCH] Fix sparse warning in fs/devfs/base.c From: Mika Kukkonen Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds ChangeSet@1.1760.16.2, 2004-06-22 16:23:52+01:00, rmk@flint.arm.linux.org.uk [ARM] Correct MMCI clock rate on Integrator/CP. ChangeSet@1.1760.16.1, 2004-06-22 14:55:39+01:00, rmk@flint.arm.linux.org.uk [ARM] Move cpu_switch_mm() and cpu_get_pgd() to asm/proc-fns.h ChangeSet@1.1722.122.17, 2004-06-22 03:52:32-03:00, acme@conectiva.com.br [NET] move send_head from tcp private area to struct sock The poor cousins also need this, LLC will be the first to use it. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1722.158.9, 2004-06-22 02:12:28-04:00, jgarzik@pobox.com [libata ata_piix] combined mode bug fix; improved ICH6 support ChangeSet@1.1722.158.8, 2004-06-22 00:54:50-04:00, jgarzik@pobox.com [libata] fix build error, minor cleanups ChangeSet@1.1760.15.12, 2004-06-21 21:39:50-07:00, torvalds@ppc970.osdl.org Fix up permissions of some files that were not readable by "other". The normal permissions for the kernel tree should be -rw-r--r--. ChangeSet@1.1722.158.7, 2004-06-22 00:36:09-04:00, jgarzik@pobox.com [libata] move some code around Split ata_eng_timeout into the main part (ata_qc_timeout) and the part called by the SCSI layer (ata_eng_timeout). Zero behavior changes. ChangeSet@1.1722.122.16, 2004-06-22 01:20:08-03:00, acme@conectiva.com.br [NET] generalise tcp_moderate_sndbuf Renaming it to sk_stream_moderate_sndbuf, further patches will move all the tcp memory pressure handling support into net/core/stream.c to make them usable by the poor cousins, starting with LLC. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1722.158.6, 2004-06-21 23:47:16-04:00, bunk@fs.tum.de [PATCH] 2.6.7-mm1: drivers/scsi/hosts.h -> scsi/scsi_host.h On Sun, Jun 20, 2004 at 05:46:32PM -0700, Andrew Morton wrote: >... > All 226 patches: >... > bk-libata.patch >... drivers/scsi/hosts.h is obsolete, use scsi/scsi_host.h. Please apply Adrian ChangeSet@1.1722.122.15, 2004-06-22 00:46:47-03:00, acme@conectiva.com.br [NET] generalise tcp_free_skb, renaming it to sk_stream_free_skb Will be used by the poor cousins Signed-of-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.15.11, 2004-06-21 20:26:23-07:00, viro@www.linux.org.uk [PATCH] sparse: the rest of ieee1394 annotation ChangeSet@1.1760.15.10, 2004-06-21 20:26:12-07:00, viro@www.linux.org.uk [PATCH] sparse: hd.c annotation ChangeSet@1.1760.15.9, 2004-06-21 20:26:01-07:00, viro@www.linux.org.uk [PATCH] sparse: quota annotation ChangeSet@1.1760.15.8, 2004-06-21 20:25:50-07:00, viro@www.linux.org.uk [PATCH] sparse: sock_fprog sanitized sock_fprog instances that had kernel pointer in ->filter (both of them - in ppp_generic and isdn_ppp) replaced with explicit pairs len + kernel pointer. Copying of userland sock_fprog (with its __user ->filter) cleaned up and sanitized. Trivial annotation done in the rest of ->ioctl() in ppp_generic and isdn_ppp. ChangeSet@1.1760.15.7, 2004-06-21 20:25:39-07:00, viro@www.linux.org.uk [PATCH] sparse: raw1394 annotation ChangeSet@1.1760.15.6, 2004-06-21 20:25:28-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/net/wan annotation ChangeSet@1.1760.15.5, 2004-06-21 20:25:16-07:00, viro@www.linux.org.uk [PATCH] sparse: efivars.c initializer fix ChangeSet@1.1760.15.4, 2004-06-21 20:25:05-07:00, viro@www.linux.org.uk [PATCH] sparse: zlib stray extern removal ChangeSet@1.1760.15.3, 2004-06-21 20:24:54-07:00, viro@www.linux.org.uk [PATCH] sparse: ncpfs/ioctl.c annotation ChangeSet@1.1760.15.2, 2004-06-21 20:24:44-07:00, viro@www.linux.org.uk [PATCH] ibmtr missing include ChangeSet@1.1760.15.1, 2004-06-21 19:56:37-07:00, torvalds@ppc970.osdl.org Merge bk://linux-acpi.bkbits.net/linux-acpi-release-2.6.7 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.122.14, 2004-06-21 23:01:24-03:00, acme@conectiva.com.br [NET] generalise tcp_error, renaming it to sk_stream_error Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1731.1.2, 2004-06-21 20:59:09-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.4, 2004-06-21 20:53:04-04:00, len.brown@intel.com [ACPI] re-factor previous mpparse IRQ override fix (Linus Torvalds) Reflect that only the dstirq depends on the dstapic. ChangeSet@1.1760.13.2, 2004-06-21 17:04:23-07:00, greg@kroah.com merge fixups. ChangeSet@1.1722.152.3, 2004-06-21 16:04:04-07:00, hadi@zynx.com [PKT_SCHED]: C99'ify act_police_ops. ChangeSet@1.1760.13.1, 2004-06-21 15:14:21-07:00, greg@kroah.com merge ChangeSet@1.1760.12.14, 2004-06-21 14:39:33-07:00, kaber@trash.net [NETFILTER]: ip_table_raw C99 initialization Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.13, 2004-06-21 14:38:44-07:00, kaber@trash.net [NETFILTER]: Add realm match Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.12, 2004-06-21 14:36:31-07:00, kaber@trash.net [NETFILTER]: Add addrtype match Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.11, 2004-06-21 14:34:20-07:00, kaber@trash.net [NETFILTER]: Add new function 'nf_reset' to reset netfilter related skb-fields Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.10, 2004-06-21 14:33:48-07:00, kaber@trash.net [NETFILTER]: Relax hook check in ipt_CLASSIFY Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.9, 2004-06-21 14:33:13-07:00, kaber@trash.net [NETFILTER]: Fix offset calculation in amanda conntrack helper Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.8, 2004-06-21 14:32:37-07:00, kaber@trash.net [NETFILTER]: Fix expectation eviction order Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.7, 2004-06-21 14:32:04-07:00, kaber@trash.net [NETFILTER]: Don't reroute on nfmark change in mangle table when routing by nfmark is not enabled Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.6, 2004-06-21 14:31:28-07:00, kaber@trash.net [NETFILTER]: 'any' matching in ipt_helper Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.5, 2004-06-21 14:30:52-07:00, kaber@trash.net [NETFILTER]: Fix inverted matching in ipt_helper Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.4, 2004-06-21 14:30:19-07:00, kaber@trash.net [NETFILTER]: skip internal targets in iptables proc listing Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.3, 2004-06-21 14:29:41-07:00, kaber@trash.net [NETFILTER]: Change permissions of /proc/net/ip_conntrack to 0440 Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.2, 2004-06-21 14:28:57-07:00, kaber@trash.net [NETFILTER]: complain about brokeness on SMP for pid, sid and command matching in ipt_owner Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.12.1, 2004-06-21 14:28:23-07:00, kaber@trash.net [NETFILTER]: Fix non-existant config option for IP_NF_ASSERT, fix some broken assertions Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1760.10.3, 2004-06-21 14:07:06-07:00, herbert@gondor.apana.org.au [NET]: In sungem driver, keep track of rx buffer alloc size based upon MTU. ChangeSet@1.1731.1.1, 2004-06-21 15:22:34-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.3, 2004-06-21 15:20:51-04:00, len.brown@intel.com [ACPI] fix double timer interrupt mapping (Hans-Frieder Vogt) caused by errant fix for OSDL 2835 ChangeSet@1.1760.11.1, 2004-06-21 14:52:56-04:00, jgarzik@pobox.com Rename 'carmel' block driver to 'sx8'. Requested by Promise. The hardware isn't widely deployed yet, with almost all users being early evaluators, so this should be OK. ChangeSet@1.1763, 2004-06-21 11:29:18-07:00, trini@kernel.crashing.org [PPC32] Add SysRq-G support to our KGDB stub. From David Woodhouse . ChangeSet@1.1760.10.2, 2004-06-21 09:34:33-07:00, akpm@osdl.org [NET]: Loopback, allocate per-cpu stats statically and fix cpu refcounting. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.10.1, 2004-06-21 09:32:44-07:00, akm@osdl.org [NET]: Fix dev_queue_xmit build with older gcc. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1722.122.13, 2004-06-21 13:14:12-03:00, acme@conectiva.com.br [NET] generalise tcp_set_owner_r and tcp_rfree Will be used by the poor cousins Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1762, 2004-06-21 17:12:14+01:00, dwmw2@shinybook.infradead.org Merge ChangeSet@1.1760.9.1, 2004-06-21 16:44:37+01:00, dwmw2@shinybook.infradead.org Merge ChangeSet@1.1722.154.11, 2004-06-21 16:37:32+01:00, dwmw2@shinybook.infradead.org Update CPM UART driver according to feedback from Dan Malek. Patch from Pantelis Antoniou ChangeSet@1.1760.1.62, 2004-06-21 15:01:21+01:00, dwmw2@shinybook.infradead.org Add support for MPC8560 CPU and WindRiver PowerQUICC III SBC8560 Signed-off-by: Kumar Gala ChangeSet@1.1757.1.6, 2004-06-21 09:50:47+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] 06-ide IDE releases the PCMCIA resource to work around the need to have two conflicting subsystems (IDE and PCMCIA) claim resources. Since PCMCIA no longer marks its resouces busy, this work around must be removed. ChangeSet@1.1760.1.61, 2004-06-20 23:44:05-07:00, axboe@suse.de [PATCH] only clear ->last_merge when appropriate Make sure we only clear q->last_merge hint, if it matches the request currently passed in. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.60, 2004-06-20 20:46:32-07:00, sam@ravnborg.org [PATCH] kbuild: add deb-pkg target To prepare kbuild for more kernel packaging formats move all packaging support to scripts/package. In top-level Makefile introduce generic support for all package formats using target names *-pkg. Included the old rpm target for backward compatibility. A new variable KBUILD_IMAGE is used to specify what kernel image will be part of the final package, and is to be set by the arch specific makefile. KBUILD_IMAGE may be overridden from command line or environment. KBUILD_IMAGE will see wider usage later, mainly when installing kernel images. Introducing KBUILD_IMAGE allowed arch specific details to be deleted from the mkspec and builddeb scripts. While in the process added the deb packet format. Script is From: Wichert Akkerman To create a RPM packet use 'make rpm-pkg'. To create a deb packet use 'make deb-pkg'. Both targets are included in 'make help' Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.59, 2004-06-20 20:46:14-07:00, sam@ravnborg.org [PATCH] Avoid rebuild of IKCFG when using O= When using a separate output directory the in-kernel config wiere rebuild each time the kernel was compiled. Fix this by specifying correct path to Makefile in the prerequisite to the ikconfig.h file. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.58, 2004-06-20 20:46:03-07:00, sam@ravnborg.org [PATCH] wanxl firware build fix allmodconfig and allyesconfig are currently failing because they select wanxl firmware rebuild, and that requires an m68k assembler toolchain. Add a new generic option to the "Generic Driver Options" menu. The option is defaul equals y and prevents us from building firmware unless really needed. Firmware is usually provided in separate filer '_shipped', and there is no need to rebuild them unless strictly required. First user is WanXL - which otherwise required a m68k tool-set to compile. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.57, 2004-06-20 20:45:52-07:00, geert@linux-m68k.org [PATCH] Fix idr.h comment Fix path in header file. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.56, 2004-06-20 20:45:41-07:00, juhl-lkml@dif.dk [PATCH] Fix warning in tdfxfb.c drivers/video/tdfxfb.c:1104: warning: initialization discards qualifiers from pointer target type Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.55, 2004-06-20 20:45:30-07:00, nickpiggin@yahoo.com.au [PATCH] lindent rwsem Lindent rwsem.c and rwsem-spinlock.c and fix a few things by hand. Also added a couple of comments for the memory barriers. Added the __sched annotation that was left out of rwsem-spinlock.c. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.54, 2004-06-20 20:45:19-07:00, akpm@osdl.org [PATCH] jfs warning fix On ppc64, s64 is `long'. In file included from fs/jfs/jfs_xtree.h:25, from fs/jfs/jfs_incore.h:26, from fs/jfs/super.c:29: fs/jfs/jfs_btree.h: In function `BT_STACK_DUMP': fs/jfs/jfs_btree.h:151: warning: long long unsigned int format, s64 arg (arg 2) Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.53, 2004-06-20 20:45:08-07:00, ralf@linux-mips.org [PATCH] Add M48T35 RTC driver Add M48T35 RTC driver for the SGI IP27 aka Origin 200, Origin 2000 and Onyx 2. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.52, 2004-06-20 20:44:57-07:00, ralf@linux-mips.org [PATCH] Cobalt LCD Driver update Mostly reformatting to get the sometimes random formatting style of the LCD driver to something Linux compliant. Use module_init/exit for module initialization and cleanup. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.51, 2004-06-20 20:44:45-07:00, ralf@linux-mips.org [PATCH] DS1286 cleanups Remove #ifdef'ed hooks for the DS1286 driver through the kernel. While cleaning make it work as a module also and add back the core of the driver got lost when drivers/sgi/ was shredded. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.50, 2004-06-20 20:44:34-07:00, ralf@linux-mips.org [PATCH] mips: remove old junk Remove old, unused initialization stuff. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.49, 2004-06-20 20:44:23-07:00, bjoern@j3e.de [PATCH] NLS support for ASCII I created an ASCII NSL module manually based on the ISO-8859-1 NLS module. This might be of use for people who do not want any charset conversion to take place. fs modules like vfat for example then could be forced to display any non-ASCII character in the uni_xlate escaped form. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.48, 2004-06-20 20:44:11-07:00, emoenke@gwdg.de [PATCH] CREDITS update Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.47, 2004-06-20 20:44:00-07:00, akpm@osdl.org [PATCH] move as documentation Move the anticipatory scheduler documentation into Documentation/block. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.122.12, 2004-06-20 23:57:54-03:00, acme@conectiva.com.br [NET] generalise wait_for_tcp_memory Renaming it to sk_stream_wait_memory Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1722.122.11, 2004-06-20 23:47:17-03:00, acme@conectiva.com.br [NET] introduce sk_stream_wait_close, from tcp code Will be used by the poor cousins. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1722.122.10, 2004-06-20 23:33:23-03:00, acme@conectiva.com.br [NET] generalise wait_for_tcp_connect This will be used by the poor cousins, look, for instance, at x25_wait_for_connection_establishment :-) Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.1.46, 2004-06-20 18:58:22-07:00, axboe@suse.de [PATCH] deadline I/O scheduler documentation Document the deadline scheduler and its tunables. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.45, 2004-06-20 18:58:10-07:00, juhl-lkml@dif.dk [PATCH] isp16 check_region() removal Convert check_region to request_region and clean up some parentheses in return statements for drivers/cdrom/isp16.c. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.44, 2004-06-20 18:57:59-07:00, ak@suse.de [PATCH] NUMA API updates This patch three issues in NUMA API - When 1 was passed to set_mempolicy or mbind as maxnodes argument get_nodes could corrupt the stack and cause a crash. Fix that. - Remove the restriction to do interleaving only for order 0. Together with the patch that went in previously to use interleaving policy at boot time this should give back the original behaviour of distributing the big hash tables. - Fix some bad white space in comments Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.43, 2004-06-20 18:57:48-07:00, mason@suse.com [PATCH] fix possible stack corruption during reiserfs_file_write With preallocation turned on, reiserfs_allocate_blocks_for_region wasn't sending a large enough array to hold all the blocks it was asking the block allocator to find. This can result in stack corruption. The fix is to kmalloc an array to hold the blocks, making sure to allocate something large enough. There was also a recent optimization to force the allocator to find a free region large enough to hold the entire preallocation size. This was sometimes causing more blocks to be allocated then had been requested, which would also overflow the array. Something more elegant is required here, until then just disable the optimization. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.42, 2004-06-20 18:57:37-07:00, fabian.frederick@skynet.be [PATCH] sparse annotation for sys_quotactl() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.41, 2004-06-20 18:57:26-07:00, hugh@veritas.com [PATCH] mprotect propagate anon_vma When mprotect shifts the boundary between vmas (merging the reprotected area into the vma before or the vma after), make sure that the expanding vma has anon_vma if the shrinking vma had, to cover anon pages imported. Thanks to Andrea for alerting us to this oversight. Cc: Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.40, 2004-06-20 18:57:15-07:00, jbarnes@engr.sgi.com [PATCH] export sys_ioctl to modules Small patch to export sys_ioctl if CONFIG_COMPAT is set. This allows platforms to implement 32 bit compatibility ioctl handlers in modules. Submitted-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.39, 2004-06-20 18:57:04-07:00, hch@lst.de [PATCH] fix isdn to not assume mem*io return values These are defined like the normal ISO C mem* routines although x86 happens to return void by accident. Fix isdn to not assume a return value. Sent to the isdn list, but as usual I didn't get any reply. The patch is from the Debian kernel package and really old. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.38, 2004-06-20 18:56:53-07:00, kraxel@bytesex.org [PATCH] v4l: radio-zoltrix fix. From: Paul Focke I recently upgraded from 2.4 to kernel 2.6 & noticed that the zoltrix radio driver was not working. Seems like a little typo. I tested this on my system and it's working fine now. I doubt there are any other linux users in the world who still use this card ;-) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.37, 2004-06-20 18:56:42-07:00, kraxel@bytesex.org [PATCH] v4l: cx88 driver update This is a update for the cx88 tv card driver. Changes: * finally make it build with gcc 2.95 ;) * add new tv cards. * plenty of fixes for the TV sound code. * use v4l2 API for communication with tuner + tda9887 * misc other minor stuff. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.36, 2004-06-20 18:56:31-07:00, kraxel@bytesex.org [PATCH] saa7134 driver update This is an update for the saa7134 driver. Changes: * add support for more TV cards, as usual ;) * add support for image cropping. * use v4l2 API to talk to the tuner chips (thus it depends on the tuner/tda9887 patch). * fixes for the audio carrier scan. * make transport stream packet size configurable. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.35, 2004-06-20 18:56:19-07:00, kraxel@bytesex.org [PATCH] v4l: IR input driver update. This patch updates the ir-kbd-gpio and ir-kbd-i2c drivers. Nothing major, just some keytable fixes and support for more hardware. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.34, 2004-06-20 18:56:08-07:00, kraxel@bytesex.org [PATCH] v4l: bttv driver update This is a update of the bttv driver. Changes: * some card-specific fixes + new cards. * separate buffer switching for video frames and vbi data, that should make bttv less sensitive to high irq latencies. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.33, 2004-06-20 18:55:57-07:00, kraxel@bytesex.org [PATCH] v4l: tuner + tda9887 updates This is a big update for the tuner and tda9887 modules which are used for TV card tuning. The tda9887 module is basically completely rewritten and understands all the config bits now instead of having just some fixed config presets. Some of these config bits can be changed by insmod options now. The other big change is that both modules allow to use the V4L2 API for inter-module communication (i.e. when bttv/saa7134/... pass through the tuning ioctls to the modules). That allows to specify the TV norm more precisely (not just PAL but PAL-I, PAL-BG, ...), which is needed in some cases to make TV audio work correctly. Using the old v4l1 API is still possible so this shouldn't break any users of these two modules. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.32, 2004-06-20 18:55:46-07:00, kraxel@bytesex.org [PATCH] v4l: ir-common update Some minor changes for the ir-common module: Update for the RC5 keytable and increase the IR_KEYTAB_SIZE #define. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.31, 2004-06-20 18:55:35-07:00, kraxel@bytesex.org [PATCH] v4l: msp3400 cleanup. This patch has some cleanups for the msp3400 module: Balance is used directly now instead of maintaining the state as left/right volume and calculate the balance from that. The msp3400 did that only for historical reasons and it isn't needed any more ... Credits for that go to Perry Gilfillan. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.30, 2004-06-20 18:55:24-07:00, kraxel@bytesex.org [PATCH] v4l: video-buf fixes. This patch has some minor bugfixes for the video-buf module. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.29, 2004-06-20 18:55:13-07:00, kraxel@bytesex.org [PATCH] v4l: video-buf magic numbers This patch adds some magic IDs and checks for them to the data structs of the video-buf module. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.28, 2004-06-20 18:55:02-07:00, kraxel@bytesex.org [PATCH] v4l: update video-buf for per-frame input switching. This patch updates the video-buf module to support the per-frame input switching added by the v4l2 API patch. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.27, 2004-06-20 18:54:51-07:00, kraxel@bytesex.org [PATCH] v4l: v4l2 API updates This patch has some minor updates to v4l2 API: * A new pixel format (V4L2_PIX_FMT_SBGGR8). * Adds some #defines for tv norms for convenience. * Allow to specify the video source to capture from on a per-frame basis. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.26, 2004-06-20 18:54:40-07:00, axboe@suse.de [PATCH] iommu max segment size This patch is from James, I've changed it slightly only. The problem is that some IOMMU implementations have a maximum limit to the size of the number of contiguously mappable pages (admittedly, this limit is mostly in the resource management algorithms rather than the IOMMUs themselves). This patch adds this concept to the bio layer via the parameter BIO_VMERGE_MAX_SIZE which architectures can define in asm/io.h (if undefined, we assume it to be infinite, which is current behaviour). While adding this, I noticed several places where bio was making incorrect assumptions about virtual mergeability (none of which was a bug: bio was overestimating rather than underestimating). - The worst offender was bio_add_page(), which seemed never to check for virtual mergeability - I also fixed blk_hw_contig_segments() not to check the QUEUE_CLUSTER flag, and not to check the phys segment boundary. In order to track the hw segment size across bios, I had to introduce two extra bio parameters: bi_hw_front_size and bi_hw_back_size which store the sizes of the front and back hw contiguous segments (and which will be equal if there's only one hw segment). When the bio is merged into a request, these fields are updated with the total hw contig size so they can always be used to assess if the merger would violate the BIO_VMERGE_MAX_SIZE parameter. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.25, 2004-06-20 18:54:29-07:00, dcn@sgi.com [PATCH] add wait_event_interruptible_exclusive() macro This patch defines a macro that does exactly what wait_event_interruptible() does except that it adds the current task to the wait queue as an exclusive task (i.e., sets the WQ_FLAG_EXCLUSIVE flag) rather than as a non-exclusive task as wait_event_interruptible() does. This allows one to do a wake_up_nr() to wake up a specific number of tasks. I'm in the process of submitting a patch to linux-ia64 that requires this capability. (Its subject line is "[PATCH 3/4] SGI Altix cross partition functionality".) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.24, 2004-06-20 18:54:18-07:00, mika@osdl.org [PATCH] Uninline machine_specific_memory_setup() Cleanup arch/i386/kernel/setup.c a little bit by: * un-inlining machine_specific_memory_setup() (it's implementations are pretty big to be inlined anyway) * remove setup_memory_region() by moving the code inside setup_arch() I would also recommend BK-renaming all four files (include/asm-i386/*/setup_arch_post.h) to ".c" and moving them into arch/i386/*/, but that obviously is not needed in anyway. But IMHO they are clearly ".c" files, not ".h" files. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.23, 2004-06-20 18:54:07-07:00, mark@alpha.dyndns.org [PATCH] Add ovcamchip driver This patch adds a new driver for the OmniVision OV6xx0 and OV7xx0 series of CMOS image sensors. It is currently used by the w9968cf USB webcam driver, which is already in mainline 2.6. Up until now it had to be compiled outside the kernel tree, which is clearly suboptimal. It is also used by version 2 of the ov511 USB webcam driver, which will be merged in the near future. That will reduce some code duplication, since the existing ov511 has much of this code built-in. This was previously submitted to Linux-USB-Devel, and I have fixed the concerns that came up at that time. Developer's Certificate of Origin 1.0 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. Signed-off-by: Mark McClelland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.22, 2004-06-20 18:53:55-07:00, akpm@osdl.org [PATCH] swapoff: activate pages People like to use swapoff/swapon as a way of restoring their VM to a predictable "preconditional" state. Problem is, swapoff leaves mapped anon/pagecache pages on the inactive list, so they immediately get swapped out again when swapspace becomes available. Let's move these pages onto the active list to the VM has to again decide whether to swap them out. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.21, 2004-06-20 18:53:44-07:00, shaggy@austin.ibm.com [PATCH] jfs build fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.20, 2004-06-20 18:53:33-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] airo.c broke But Al fixed it again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.19, 2004-06-20 18:53:22-07:00, paulkf@microgate.com [PATCH] ppp_synctty.c receive/write_wakeup fix Allow receive and write_wakeup callbacks to be called at hard interrupt context and/or with interrupts disabled (removes softirq warning). This mirrors changes by Paul Mackerras to ppp_async.c for the same purpose. Patch has been previously posted for comments and has been tested with success by multiple persons. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.18, 2004-06-20 18:53:11-07:00, cesarb@nitnet.com.br [PATCH] O_NOATIME support This patch adds support for the O_NOATIME open flag (GNU extension): int O_NOATIME Macro If this bit is set, read will not update the access time of the file. See File Times. This is used by programs that do backups, so that backing a file up does not count as reading it. Only the owner of the file or the superuser may use this bit. It is useful if you want to do something with the file atime (for instance, moving files that have not been accessed in a while to somewhere else, or something like Debian's popularity-contest) but you also want to read all files periodically (for instance, tripwire or debsums). Currently, the program that reads all files periodically has to use utimes, which can race with the atime update: A B open fstat read open read close close utimes And the file still has the old atime, instead of the new one from when B did the read from it. This problem does not happen if A uses O_NOATIME instead of utimes to preserve the atime. This patch adds the O_NOATIME constant for all architectures, but it would also be possible to add it one architecture at a time by defining it to 0 when not defined in asm-*. Based on patch by Marek Michalkiewicz at http://www.uwsg.iu.edu/hypermail/linux/kernel/9811.2/0118.html Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.17, 2004-06-20 18:52:59-07:00, dhowells@redhat.com [PATCH] Permit inode & dentry hash tables to be allocated > MAX_ORDER size Here's a patch to allocate memory for big system hash tables with the bootmem allocator rather than with main page allocator. It is needed for three reasons: (1) So that the size can be bigger than MAX_ORDER. IBM have done some testing on their big PPC64 systems (64GB of RAM) with linux-2.4 and found that they get better performance if the sizes of the inode cache hash, dentry cache hash, buffer head hash and page cache hash are increased beyond MAX_ORDER (order 11). Now the main allocator can't allocate anything larger than MAX_ORDER, but the bootmem allocator can. In 2.6 it appears that only the inode and dentry hashes remain of those four, but there are other hash tables that could use this service. (2) Changing MAX_ORDER appears to have a number of effects beyond just limiting the maximum size that can be allocated in one go. (3) Should someone want a hash table in which each bucket isn't a power of two in size, memory will be wasted as the chunk of memory allocated will be a power of two in size (to hold a power of two number of buckets). On the other hand, using the bootmem allocator means the allocation will only take up sufficient pages to hold it, rather than the next power of two up. Admittedly, this point doesn't apply to the dentry and inode hashes, but it might to another hash table that might want to use this service. I've coelesced the meat of the inode and dentry allocation routines into one such routine in mm/page_alloc.c that the the respective initialisation functions now call before mem_init() is called. This routine gets it's approximation of memory size by counting up the ZONE_NORMAL and ZONE_DMA pages (and ZONE_HIGHMEM if requested) in all the nodes passed to the main allocator by paging_init() (or wherever the arch does it). It does not use max_low_pfn as that doesn't seem to be available on all archs, and it doesn't use num_physpages since that includes highmem pages not available to the kernel for allocating data structures upon - which may not be appropriate when calculating hash table size. On the off chance that the size of each hash bucket may not be exactly a power of two, the routine will only allocate as many pages as is necessary to ensure that the number of buckets is exactly a power of two, rather than allocating the smallest power-of-two sized chunk of memory that will hold the same array of buckets. The maximum size of any single hash table is given by MAX_SYS_HASH_TABLE_ORDER, as is now defined in linux/mmzone.h. Signed-off-by: Paul Mackerras Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.16, 2004-06-20 18:52:48-07:00, daniel.ritz@gmx.ch [PATCH] pcmcia: enable read prefetch on o2micro bridges to fix HDSP enable read prefetching on O2micro bridges. It fixes the problems seen with the RME Hammerfall DSP. Thanks to Eric Still from O2micro for the input. Cc: Russell King Signed-off-by: Daniel Ritz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.15, 2004-06-20 18:52:36-07:00, pazke@donpac.ru [PATCH] use new DMI API for HP Pavilion Example code for the new DMI APU - port HP Pavilion irq workaround to new DMI probing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.14, 2004-06-20 18:52:25-07:00, pazke@donpac.ru [PATCH] export DMI check functions This patch creates and exports 2 functions which can be used by the rest of kernel code to perform DMI data checks: - dmi_check_system() function checks system DMI data against given blacklist table and on each match runs corresponding callback function; - dmi_get_system_info() function returns DMI data value. Useful for people wanting more complex DMI data check than simple string match. Also filling unused match entries with NO_MATCH made optional, but existing NO_MATCH occurences are left intact, so people are free to continue dmi_scan.c patching without massive reject problems. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.13, 2004-06-20 18:52:14-07:00, akpm@osdl.org [PATCH] ppc64: eeh.h warning-fix In file included from include/asm/io.h:365, from drivers/video/kyro/STG4000Reg.h:23, from drivers/video/kyro/STG4000Ramdac.c:16: include/asm/eeh.h:58: warning: `struct device_node' declared inside parameter list include/asm/eeh.h:58: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.1.12, 2004-06-20 18:52:03-07:00, akpm@osdl.org [PATCH] ppc64 CONFIG_ALTIVEC=n build fix With CONFIG_ALTIVEC=n, flush_altivec_to_thread() has no implementation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1760.8.1, 2004-06-20 18:27:13-07:00, dsaxena@omelas.(none) Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk into omelas.(none):/home/dsaxena/src/linux-2.6-for-rmk ChangeSet@1.1760.6.2, 2004-06-20 17:40:34-07:00, akpm@osdl.org [SPARC64]: bug.h needs compiler.h Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.1.10, 2004-06-20 17:36:21-07:00, akepner@sgi.com [NET]: Lockless loopback patch (version 2). ChangeSet@1.1760.1.9, 2004-06-20 17:06:07-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1722.122.9, 2004-06-20 20:54:15-03:00, acme@conectiva.com.br [NET] move tcp_memory_free to sk_stream_memory_free Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.7.1, 2004-06-20 16:38:03-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6-1.1768 into nuts.davemloft.net:/disk1/BK/acme-2.6 ChangeSet@1.1722.122.8, 2004-06-20 19:45:03-03:00, acme@conectiva.com.br [NET] move skb_can_coalesce to skbuff.h This one also removes the duplicate can_coalesce in tcp.c and makes it use skb_can_coalesce. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1722.152.2, 2004-06-20 14:18:46-07:00, hadi@zynx.com [NET]: Fix module refcounting of TC actions. ChangeSet@1.1757.1.5, 2004-06-20 22:01:26+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] 05-nonbusy When allocating memory and IO resources, do not mark them busy. This allows drivers themselves to claim and mark the regions busy, as they are supposed to. ChangeSet@1.1757.1.4, 2004-06-20 21:53:25+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] 04-memres Make find_mem_region() return a struct resource. We preserve pccard_mem_map's sys_start and sys_stop elements for the moment since socket drivers are relying on this information for setting up their windows. ChangeSet@1.1760.6.1, 2004-06-20 12:32:43-07:00, davem@nuts.davemloft.net [SPARC64]: Check _TIF_SYSCALL_SUCCESS before syscall return value. We might have to clear the flag, and if we do not then subsequent syscalls can get confused. Bug easily triggered by suspending emacs in a pty and then resuming, select() returns due to a pending signal but because _TIF_SYSCALL_SUCCESS is erroneously set by a previous syscall -514 ends up slipping into userspace. Oops. ChangeSet@1.1760.5.17, 2004-06-20 10:39:30-07:00, geert@linux-m68k.org [PATCH] m68k: I/O abstraction updates M68k I/O abstraction updates: - Make I/O ports and addresses `unsigned long' - Add casts to make operations warning-compatible with other archs - Add {in,out}[wl]_p() and {in,out}l(), which are needed for some drivers Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.16, 2004-06-20 10:39:19-07:00, geert@linux-m68k.org [PATCH] m68k: atomic op fixups M68k: Add missing atomic operations (from Roman Zippel and me) and replace `__inline__' by `inline' while we're at it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.15, 2004-06-20 10:39:08-07:00, geert@linux-m68k.org [PATCH] m68k: Mac IOP fix Mac IOP: Fix copy-and-paste bug (found by OPERA, reported by Zhenmin Li, confirmed by Brad Boyer) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.14, 2004-06-20 10:38:57-07:00, geert@linux-m68k.org [PATCH] m68k: sparse infrastructure M68k: Make sparse work Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.13, 2004-06-20 10:38:46-07:00, geert@linux-m68k.org [PATCH] m68k: Mac Sonic Ethernet Mac Sonic Ethernet: Kill duplicate `MODULE_LICENSE("GPL");' (already defined in included sonic.c) which causes a compile failure Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.12, 2004-06-20 10:38:35-07:00, geert@linux-m68k.org [PATCH] affs remount fixes AFFS: Fix oops on write after remount (from Roman Zippel): - Allocate/free bitmap as necessary - Remove last uses of SF_READONLY Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.11, 2004-06-20 10:38:24-07:00, geert@linux-m68k.org [PATCH] m68k: use set_page_count() M68k: From 2.6.7-rc1 on, it's no longer allowed to access page->count directly Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.10, 2004-06-20 10:38:13-07:00, geert@linux-m68k.org [PATCH] m68k: bus error handling M68k: Allow to catch a bus error via the exception mechanism (from Roman Zippel) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.9, 2004-06-20 10:38:02-07:00, geert@linux-m68k.org [PATCH] m68k: new gcc optimizations M68k compiler updates from Roman Zippel: - Fix various lvalue warnings from newer gcc - Remove unnecessary volatile declarations - Change some constraints from "a" to "m" to generate slightly better code - Use "o" constraint for bitfield instructions - Use generic bitmap functions for some of the ext2/minix bitmap functions Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.8, 2004-06-20 10:37:51-07:00, geert@linux-m68k.org [PATCH] m68k: handle new gcc's M68k: Fixes for when compiling with modern gcc (from Roman Zippel): - Avoid warning 'use of memory input without lvalue in asm operand 0 is deprecated' of newer gcc - Replace some '%/' with offical '%%' to escape a '%' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.7, 2004-06-20 10:37:41-07:00, geert@linux-m68k.org [PATCH] m68k: IFPSP060 update IFPSP060: Make sure that the destination address of a misaligned cas access is properly mapped in, so the kernel won't oops in the emulation handler (from Roman Zippel). Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1760.5.6, 2004-06-20 09:59:33-07:00, hirofumi@mail.parknet.co.jp [PATCH] FAT: don't use "utf8" charset and NLS_DEFAULT Recently, some distributors have set "utf8" to NLS_DEFAULT, therefore, FAT uses the "iocharset=utf8" as default. But, since "iocharset=utf8" doesn't provide the function (lower <-> upper conversion) which FAT needs, so FAT can't provide suitable behavior. This patch does: - doesn't recognize "utf8" as "iocharset" - doesn't use NLS_DEFAULT as default "iocharset" - instead of NLS_DEFAULT, adds FAT_DEFAULT_CODEPAGE and FAT_DEFAULT_IOCHARSET NOTE: the following looks like buggy, so it's not recommended "codepage=437,iocharset=iso8859-1,utf8" however, some utf8 file name can handle. (in this case, it uses the table of iso8859-1 for lower <-> upper conversion) Sign-off-by: Jesse Barnes Sign-off-by: OGAWA Hirofumi Sign-off-by: Linus Torvalds ChangeSet@1.1760.5.5, 2004-06-20 09:56:58-07:00, torvalds@ppc970.osdl.org Follow 2.4.x semantics for in-kernel signal sending. ChangeSet@1.1760.5.4, 2004-06-20 09:33:28-07:00, arjanv@redhat.com [PATCH] fix amd64 boot breakage This fixes a bug that prevent my amd64 box from booting; numa_default_policy was __init however it's called like this in init/main.c: free_initmem(); unlock_kernel(); system_state = SYSTEM_RUNNING; numa_default_policy(); eg after free_initmem(). This resulted in it being reused/freed and that gives a nasty oops. ChangeSet@1.1722.155.7, 2004-06-20 07:00:13-05:00, stevef@steveft21.ltcsamba Do not kill cifsd thread until last smb session on tcp session is SMBulogged off. Fixes umounting bug (pointed out by Nick Millington) when multiple mounts with different userids are mounted to the same server from the client. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.122.7, 2004-06-20 03:03:06-03:00, acme@toy.kerneljanitors.org [NET] generalise tcp_add_data, skb_split and tcp_copy_to_page Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1760.1.6, 2004-06-19 21:20:36-07:00, akpm@osdl.org [NET]: Fix warning in farsync WAN driver. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760.1.5, 2004-06-19 16:47:14-07:00, yoshfuji@linux-ipv6.org [ECONET]: Fix some warnings. ChangeSet@1.1760.2.12, 2004-06-19 17:45:27-04:00, ralf@linux-mips.org [PATCH] hdlcdrv needs to stop queueing We better stop the queue in the close call. Signed-off-by: Ralf Baechle ChangeSet@1.1760.2.11, 2004-06-19 17:45:19-04:00, ralf@linux-mips.org [PATCH] Cosmetic cleanups to sb1250-mac.c Signed-off-by: Ralf Baechle ChangeSet@1.1760.2.10, 2004-06-19 17:45:10-04:00, ralf@linux-mips.org [PATCH] Reformat Pure microcosmetic. Signed-off-by: Ralf Baechle ChangeSet@1.1760.2.9, 2004-06-19 17:45:01-04:00, ralf@linux-mips.org [PATCH] Use netdev_priv in sgiseeq The combined allocation of of receive and transmit rings and driver data so far made the use of netdev_priv impossible. Split the allocation and use netdev_priv to access the non-ring driver_private data. Signed-off-by: Ralf Baechle ChangeSet@1.1760.2.8, 2004-06-19 17:41:19-04:00, arjanv@redhat.com [PATCH] sk98lin pci id ChangeSet@1.1760.2.7, 2004-06-19 17:36:14-04:00, ryan@michonline.com [PATCH] orinoco.c rate limit lost information frame message Rate limit a (apparently) harmless warning in orinoco.c (My laptop remained connected with active X applications running over ssh while this message was hitting every second, since I patched my driver to include this the problem hasn't recurred.) Signed-Off-By: Ryan Anderson ChangeSet@1.1760.4.3, 2004-06-19 17:12:57-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: cleanup IRQ limitation. Cleanup pcnet32 IRQ handling based on suggestions from Ralf Baechle , and Brian Murphy Tested by myself and Brian Murphy. Please also apply to 2.4.27-pre6. Signed-off-by: Don Fry ChangeSet@1.1760.4.2, 2004-06-19 17:12:48-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: recover after rx hang. This patch fixes a receive hang that occasionally occurs after a Tx FIFO underrun. The receive dma remains in a hung state sometimes. The transmit operations continue to occur, but no receive activity. This was reproduced on several ppc64 systems and the fix has been verified there. The patch has been tested as well on an ia32 system, which did not experience the hang because it did not have fifo underruns, which is a preqrequisite for the hang. The memory barriers decreased the frequency of occurrence. The final change to reset the chip instead of just stopping it eliminated the last hangs. Please also apply against 2.4.7 (with offset of -1), tested ia32. Signed-off by: brazilnut@us.ibm.com ChangeSet@1.1760.4.1, 2004-06-19 17:12:39-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: discard oversize rx packets This patch will discard received frames that are larger than one buffer. This has been tested on ia32 and ppc64 systems. Please also apply to 2.4.7 (with offset of -3), tested ia32. Signed-off by: brazilnut@us.ibm.com ChangeSet@1.1760.2.6, 2004-06-19 17:09:31-04:00, davem@redhat.com [PATCH] hamachi DMA Let's get this thing not using bus_to_virt() anymore, as follows. Signed-off-by: David S. Miller ===== drivers/net/hamachi.c 1.35 vs edited ===== ChangeSet@1.1760.2.5, 2004-06-19 17:08:21-04:00, fenlason@redhat.com [PATCH] sunhme patch Without this patch, insmod-ing the sunhme module crashes on my fc2 box. -- JF ChangeSet@1.1760.2.4, 2004-06-19 17:07:34-04:00, jeb.j.cramer@intel.com [PATCH] e1000 management reset fix * Resetting the adapter blew away management settings. So we save the important bits before performing a reset. ChangeSet@1.1760.2.3, 2004-06-19 17:07:25-04:00, shemminger@osdl.org [PATCH] convert sk fddi driver to ANSI C Sparse does not handle K&R at all, and I think I saw Linus saying that he has no intention of adding it to sparse while ago. So here is a blob of patch to convert drivers/net/skfp/* from K&R to ANSI-C. Compile tested with "make allmodconfig" on x86, as I obviously don't have the HW. Mika Signed-off-by: Stephen Hemminger ChangeSet@1.1760.2.2, 2004-06-19 17:06:09-04:00, akpm@osdl.org [PATCH] H8/300: smc9194 driver From: Yoshinori Sato - H8/300 target support - fixed irq support - high address (>0xffff) i/o fix Signed-off-by: Andrew Morton ChangeSet@1.1760.3.1, 2004-06-19 17:04:50-04:00, herbert@gondor.apana.org.au [PATCH] Re: linux-2.6.7 Equalizer Load-balancer. eql.c. local non-privileged DoS Vitaly V. Bursov wrote: > > there are multiple vulns in drivers/net/eql.c > > if there is no such device, dev_get_by_name returns NULL and everything dies. > Exploiting this is trivial. Thanks for the report. This patch should fix them. Signed-off-by: Herbert Xu Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- ===== drivers/net/eql.c 1.13 vs edited ===== ChangeSet@1.1760.2.1, 2004-06-19 17:00:28-04:00, achirica@telefonica.net [wireless airo] Clean initialization of Mini-PCI cards even from suspend ChangeSet@1.1757.1.3, 2004-06-19 21:26:48+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] 03-memwin Eliminate win->base and win->size elements from window_t. window_t contains struct pccard_mem_map, which contains a copy of these (sys_start, sys_stop) in a slightly different form. ChangeSet@1.1757.1.2, 2004-06-19 21:17:11+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] 02-validatemem Move validate_mem() so we don't recurse. We call this function from the DS_GET_FIRST_TUPLE and DS_VALIDATE_CIS calls, which are the the first two functions which may be called by cardmgr or cardctl which require CIS access. ChangeSet@1.1760.1.4, 2004-06-19 12:48:23-07:00, davem@nuts.davemloft.net [IPV6]: Export necessary xfrm6_tunnel functions. ChangeSet@1.1760.1.3, 2004-06-19 11:55:24-07:00, yoshfuji@linux-ipv6.org [NET]: Fix some userland header bustage. ChangeSet@1.1760.1.2, 2004-06-19 11:36:58-07:00, akpm@osdl.org [NET]: Fix econet build bustage. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1761, 2004-06-19 18:20:47+01:00, dwmw2@dwmw2.baythorne.internal Merge ChangeSet@1.1757.1.1, 2004-06-19 18:12:59+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] Add Cirrus PD6729 PCMCIA bridge support. Patch from Komuro, cleaned up by Russell King. ChangeSet@1.1760, 2004-06-19 07:50:55-07:00, mikulas@artax.karlin.mff.cuni.cz [PATCH] HPFS fixes for 2.6.7 kernel This contains hpfs fixes from my source ported to 2.6.7 kernel: updates: - allocator fragments files less - OS/2 Warp Server filesystem can be mounted read/only - added reschedule points so that it doesn't hog CPU bug fixes: - filesystem error message when syncing or fsyncing deleted file (or when system just writes it on its own) - filesystem error on extremly fragmented files - corrupted disk structures could possibly corrupt memory ChangeSet@1.1759, 2004-06-19 07:50:44-07:00, akpm@osdl.org [PATCH] mptctl.c build fix drivers/message/fusion/mptctl.c:89:24: asm/compat.h: No such file or directory Signed-off-by: Andrew Morton ChangeSet@1.1758, 2004-06-19 07:49:02-07:00, torvalds@ppc970.osdl.org Merge http://lia64.bkbits.net/to-linus-2.5 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.159.10, 2004-06-18 21:52:08-07:00, yanmin.zhang@intel.com [PATCH] ia64: fix free_huge_page() call in hugetlb_prefault() In base kernel 2.6.7, there is bug in function hugetlb_prefault(). The call to free_huge_page() is incorrect and should be replaced with a call to page_cache_release(). Signed-off-by: David Mosberger ChangeSet@1.1722.159.9, 2004-06-18 21:49:12-07:00, eranian@hpl.hp.com [PATCH] ia64: perfmon stack consumption fix This patch moves the pfm_ovfl_arg_t structure from the kernel stack into the pfm_context_t structure. This minimizes kernel stack space consumption. Signed-off-by: Stephane Eranian Signed-off-by: David Mosberger ChangeSet@1.1722.159.8, 2004-06-18 21:45:35-07:00, ashok.raj@intel.com [PATCH] ia64: move move_irq() from iosapic.c to irq.c This patch moves move_irq() from ioaspic.c to irq.c to make this common for ia64 subarches. Signed-off-by: Ashok Raj Signed-off-by: David Mosberger ChangeSet@1.1722.159.7, 2004-06-18 21:42:42-07:00, arun.sharma@intel.com [PATCH] ia64: fix ia32 partial-page map support for overlapping mmaps - Handle the overlapping mmaps in the MAP_FIXED case - Handle unmaps correctly i.e. call __ia32_delete_pp_range() - There are now three clear entry points into the pp manipulation code - ia32_set_pp - ia32_unset_pp - ia32_compare_pp - Rename internal functions to __ia32_*pp_* - Grab mmap_sem just once at the main entry point Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: David Mosberger ChangeSet@1.1722.155.6, 2004-06-18 23:02:41-05:00, stevef@smfhome1.smfdom check better for free files on writepage retry Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.155.5, 2004-06-18 22:01:37-05:00, stevef@smfhome1.smfdom Do not send junk in bcc area of oplock break SMB Lock request, and always let oplock break release through even if requests are ahead of it waiting for responses to complete. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1757, 2004-06-18 18:26:37-07:00, rddunlap@osdl.org [PATCH] sparse: lib/string.c sparse fix A classic.. lib/string.c:165:19: warning: assignment expression in conditional From: Mika Kukkonen Signed-off-by: Randy Dunlap ChangeSet@1.1756, 2004-06-18 18:26:26-07:00, rddunlap@osdl.org [PATCH] sparse: kernel/module.c sparse fix Add __user annotation for !CONFIG_MODULE_UNLOAD case. From: Mika Kukkonen Signed-off-by: Randy Dunlap ChangeSet@1.1755, 2004-06-18 16:46:25-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/sis annotation ChangeSet@1.1754, 2004-06-18 16:37:47-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/aty annotation ChangeSet@1.1753, 2004-06-18 16:35:56-07:00, torvalds@ppc970.osdl.org Merge ppc970.osdl.org:/home/torvalds/v2.6/v2.6.7 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.166.13, 2004-06-18 16:35:04-07:00, viro@www.linux.org.uk [PATCH] sparse: autofs annotation ChangeSet@1.1722.166.12, 2004-06-18 16:34:54-07:00, viro@www.linux.org.uk [PATCH] sparse: synclinkmp annotation ChangeSet@1.1722.166.11, 2004-06-18 16:34:45-07:00, viro@www.linux.org.uk [PATCH] sparse: cyclades annotation ChangeSet@1.1722.166.10, 2004-06-18 16:34:35-07:00, viro@www.linux.org.uk [PATCH] sparse: ipmi annotation ChangeSet@1.1722.166.9, 2004-06-18 16:34:24-07:00, viro@www.linux.org.uk [PATCH] sparse: amd64 bits - added define of __x86_64__ to sparse arguments on amd64 - switched amd64 uaccess.h to __chk_user_ptr() ChangeSet@1.1722.166.8, 2004-06-18 16:34:14-07:00, viro@www.linux.org.uk [PATCH] sparse: applicom annotation ChangeSet@1.1722.166.7, 2004-06-18 16:34:03-07:00, viro@www.linux.org.uk [PATCH] sparse: udf cleanups removed bogus externs from declarations in fs/udf/* ChangeSet@1.1722.166.6, 2004-06-18 16:33:52-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/matrox annotation ChangeSet@1.1722.166.5, 2004-06-18 16:33:41-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/kyro annotation ChangeSet@1.1722.166.4, 2004-06-18 16:33:31-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video partial annotation misc annotation in drivers/video/* (nowhere near complete) ChangeSet@1.1722.166.3, 2004-06-18 16:33:20-07:00, viro@www.linux.org.uk [PATCH] sparse: nfs partial annotation ChangeSet@1.1722.166.2, 2004-06-18 16:33:09-07:00, viro@www.linux.org.uk [PATCH] sparse: mwave annotation ChangeSet@1.1722.166.1, 2004-06-18 16:32:59-07:00, viro@www.linux.org.uk [PATCH] sparse: binfmt_aout annotation ChangeSet@1.1739.1.10, 2004-06-18 14:14:17-07:00, akpm@osdl.org [NET]: Fix eql.c failed dev_get_by_name() return value check. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1739.1.9, 2004-06-18 14:12:29-07:00, yoshfuji@linux-ipv6.org [IPV6]: Fix autoconf description in ip-sysctl.txt. ChangeSet@1.1739.1.8, 2004-06-18 14:11:36-07:00, wli@holomorphy.com [IRDA]: Remove usage of isa_virt_to_bus() Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1739.1.7, 2004-06-18 14:09:17-07:00, dlstevens@us.ibm.com [IPV6]: Handle user asking for any device in mcast calls. ChangeSet@1.1739.1.6, 2004-06-18 13:54:52-07:00, shemminger@osdl.org [PKT_SCHED]: Add loss option to network delay scheduler. This enhances the network simulation scheduler to do simple random loss. The loss parameter is a simple 32 bit value such that 0 means no loss, and 0xffffffff is always drop. I have a new version of the tc command which takes care of conversion from percent to this value. Same patch for 2.4 and 2.6 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1739.1.5, 2004-06-18 13:51:42-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Do not check netif_queue_stopped() in dequeue ops, races with driver. Based upon a patch from Stephen Hemminger. Signed-off-by: David S. Miller ChangeSet@1.1751, 2004-06-18 13:50:35-07:00, torvalds@ppc970.osdl.org sparse: fix up fusion/mptctl.c after merge ChangeSet@1.1750, 2004-06-18 13:46:11-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.165.2, 2004-06-18 13:43:51-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/message/fusion annotations and fixes Sigh... First of all, LSI folks have very quaint idea of existing platforms and word sizes on those. Their definitions of U32 and S32 should really be reserved for posterity (preferably chiseled into the rock they have between the ears), but kernel is the wrong place for that. Fixed. mptctl_do_mpt_command() was always called on userland pointers; kernel/userland argument removed along with dead code, function annotated, callers updated. The rest is trivial annotations in mptctl.c and in its ioctl structures - nothing fancy there. ChangeSet@1.1722.165.1, 2004-06-18 13:43:40-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] crapectomy - last users of kernel_scsi_ioctl() gone Last 3 users of kernel_scsi_ioctl() eliminated; two of them used to read partition table by issuing a READ6 via ioctl (instead of just calling scsi_bios_ptable() as every other ->biosparam() instance does). The last one was doing a very quaint access to fields of scsi_device by issuing SCSI_IOCLT_GET_LUN and then shuffling bits in the result. Down with that insanity... ChangeSet@1.1739.1.4, 2004-06-18 13:40:49-07:00, shemminger@osdl.org [PKT_SCHED]: Delay scheduler should retry if requeue fails. If delay scheduler decides not to send the packet right away, it requeues it. If the requeue fails, it should go and look again rather than waking up prematurely. Same patch should apply to both 2.6 and 2.4 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.112.28, 2004-06-18 13:37:04-07:00, rmk+lkml@arm.linux.org.uk [PATCH] Couple of sysfs patches On Wed, Jun 16, 2004 at 05:51:03PM -0500, Dmitry Torokhov wrote: > What about freeing the resources? Can it be put in platform_device_unregister > or is it release handler task? I'd put it in unregister because when I call > unregister I expect device be half-dead and release as much resources as it > can. Here's the updated patch - to be applied on top of the platform_get_resource() patch sent previously. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1749, 2004-06-18 13:36:39-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ibmasmfs annotations Trivial annotations + couple of missing (void) in prototypes ChangeSet@1.1748, 2004-06-18 13:36:27-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ide-tape annotation ChangeSet@1.1747, 2004-06-18 13:36:16-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/input annotations Trivial annotations in drivers/input ChangeSet@1.1746, 2004-06-18 13:36:05-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/char/watchdog annotation Trivial annotations in drivers/char/watchdog/* ChangeSet@1.1745, 2004-06-18 13:35:54-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ixj annotated drivers/telephony (aka ixj.c) annotated, IXJ_CADENCE split into kernel and userland variants, ioctl structures got __user on pointers. ChangeSet@1.1744, 2004-06-18 13:35:42-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: vm86.c annotated vm86.c annotated; vm86old(2) and vm86(2) switched to explicit int (struct pt_regs regs) format. ChangeSet@1.1743, 2004-06-18 13:35:31-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: rt_sigsuspend/sigaltstack sanitized rt_sigsuspend() and sigaltstack() prototype changed; instead of playing games with casts of argument address to struct pt_regs * and digging through it, we declare them as int (struct pt_regs regs) instead. ChangeSet@1.1742, 2004-06-18 13:35:20-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: i387 math-emu annotation arch/i386/math-emu/* annotated. ChangeSet@1.1739.1.3, 2004-06-18 13:18:34-07:00, shemminger@osdl.org [PKT_SCHED]: Delay scheduler enqueue always succeeds. If underlying fifo enqueue fails, return the status not 0. Same patch should apply to both 2.6 and 2.4 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1739.1.2, 2004-06-18 13:15:58-07:00, shemminger@osdl.org [BRIDGE]: Kill sysfs hotplug avoidance hacks. The whole effort to avoid hotplug was misguided. If it is really a problem (which it doesn't appear to be) then it can more easily be addressed by smarter hotplug scripts in user space. This patch gets rid of the whole subsystem hack for bridge kobjects. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.131.22, 2004-06-18 19:53:46+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove NexusPCI/FTVPCI platform. This platform is no longer maintained, and its maintainer says that the hardware is obsolete and out of circulation. ChangeSet@1.1722.131.21, 2004-06-18 19:45:27+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove TBOX. This platform is no longer maintained, and its maintainer says that the hardware is obsolete and out of circulation. ChangeSet@1.1739.1.1, 2004-06-18 11:43:35-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.155.4, 2004-06-18 12:43:06-05:00, stevef@stevef95.austin.ibm.com Merge bk://cifs.bkbits.net/linux-2.5cifs into stevef95.austin.ibm.com:/home/stevef/linux-2.5cifs ChangeSet@1.1740, 2004-06-18 10:32:19-07:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/usb-2.6 ChangeSet@1.1739, 2004-06-18 10:06:37-07:00, torvalds@ppc970.osdl.org Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.99.83, 2004-06-18 10:04:39-07:00, greg@kroah.com USB: mark pwc driver broken again, as it still is :( ChangeSet@1.1722.131.20, 2004-06-18 17:58:33+01:00, tony@com.rmk.(none) [ARM PATCH] 1931/1: Allow device address translation in dma-mapping, version 3 Patch from Tony Lindgren Allows translation of shared memory addresses for devices using dma-mapping. In some cases the device DMA address is different from the ARM DMA address, for example with some USB OHCI controllers. For more background information, please see the ARM Linux mailing list thread "OHCI controller". ChangeSet@1.1722.131.19, 2004-06-18 17:53:15+01:00, nico@org.rmk.(none) [ARM PATCH] 1932/1: fix comment about cache handling syscall Patch from Nicolas Pitre Let's make it coherent with what the actual code is doing and has always done, even in 2.4. Nobody complained about this so let's just fix the comment. The most natural usage pattern for this is a base address and a size so it's more efficient to have an exclusive end address anyway. ChangeSet@1.1722.99.82, 2004-06-18 09:52:38-07:00, stern@rowland.harvard.edu [PATCH] USB: dummy_hcd shouldn't reject SET-ADDRESS requests This patch for the dummy_hcd driver prevents it from rejecting SET-ADDRESS requests when the address is already set. The USB 2.0 spec states that if a device is in the ADDRESS state, it should accept and start using the new address. Behavior in the CONFIGURED state is undefined, but since dummy_hcd doesn't keep track of the difference between the two states we might as well accept the new address in any case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1738, 2004-06-18 09:50:41-07:00, axboe@suse.de [PATCH] cfq direct io alias problem This is a fix for when we encounter an alias during insert. When that happens we move the request to dispatch, but it may happen that this request is also the ->last_merge hint. So we may attempt to merge with this later, when it's either in progress or already freed. Rearrange the logic a bit so we clear the merge hint there as well. It looks more complex than it is, the only real code change is the addition of a cfq_remove_merge_hints() in cfq_dispatch_sort(). Signed-off-by: Linus Torvalds ChangeSet@1.1737, 2004-06-18 09:50:31-07:00, axboe@suse.de [PATCH] cfq allocation race It's possible under unlucky circumstances for this race to trigger. I described it with a comment in the code. Signed-Off-By: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1736, 2004-06-18 09:50:20-07:00, axboe@suse.de [PATCH] cfq sysfs support This makes the CFQ tunables available in sysfs, like AS and deadline. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1722.131.18, 2004-06-18 17:49:27+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1934/2: Consolidate code to set CKEN on PXA Patch from Ian Campbell I've seen comments several times that various PXA drivers update CKEN in an unsafe manner. This patch consolidates this code into a single function pxa_set_cken() and updates all the in tree drivers to use it. ChangeSet@1.1735, 2004-06-18 09:48:38-07:00, torvalds@ppc970.osdl.org Remove old stale header files that aren't referenced anywhere. Noted by Alexey Dobriyan. ChangeSet@1.1734, 2004-06-18 09:46:06-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.131.17, 2004-06-18 17:43:22+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1930/1: Allocate correct number of pseudo palette entries in pxafb Patch from Ian Campbell The pxafb driver incorrectly allocates 17 u32's for a 16 entry pseudo palette. ChangeSet@1.1722.163.143, 2004-06-18 09:36:50-07:00, davem@nuts.davemloft.net Merge ChangeSet@1.1733, 2004-06-18 09:33:53-07:00, torvalds@ppc970.osdl.org This removes the files orphaned by the earlier PC9800 removal ChangeSet@1.1732, 2004-06-18 09:31:40-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.149.35, 2004-06-18 09:24:59-07:00, torvalds@ppc970.osdl.org Merge duplicate selinux network hooks ChangeSet@1.1722.163.142, 2004-06-18 08:25:41-07:00, chrisw@osdl.org [PATCH] RLIM: remove unused queued_signals global accounting Remove unused queued_signals global accounting. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.141, 2004-06-18 08:25:30-07:00, chrisw@osdl.org [PATCH] RLIM: enforce rlimits on queued signals Add a user_struct pointer to the sigqueue structure. Charge sigqueue allocation and destruction to the user_struct rather than a global pool. This per user rlimit accounting obsoletes the global queued_signals accouting. The patch as charges the sigqueue struct allocation to the queue that it's pending on (the receiver of the signal). So the owner of the queue is charged for whoever writes to it (much like quota for a 777 file). The patch started out charging the task which allocated the sigqueue struct. In most cases, these are always the same user (permission for sending a signal), so those cases are moot. In the cases where it isn't the same user, it's a privileged user sending a signal to another user. It seems wrong to charge the allocation to the privleged user, when the other user could block receipt as long as it feels. The flipside is, someone else can fill your queue (expectation is that someone else is privileged). I think it's right the way it is. The change to revert is very small. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.140, 2004-06-18 08:25:20-07:00, chrisw@osdl.org [PATCH] RLIM: pass task_struct in send_signal() Update send_signal() api to allow passing the task receiving the signal. This is necessary to ensure signals generated out of process context can be charged to the correct user. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.139, 2004-06-18 08:23:45-07:00, torvalds@ppc970.osdl.org Fix kill_pg_info(): return success if _any_ signal succeeded. ChangeSet@1.1722.163.138, 2004-06-18 08:17:04-07:00, kszysiu@iceberg.elsat.net.pl [PATCH] cmpci oops on rmmod + fix The cmpci driver included in Linux 2.6.7 causes an oops on rmmod, I believe cm_remove should be marked __devexit rather than __devinit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.137, 2004-06-18 08:16:53-07:00, ysato@users.sourceforge.jp [PATCH] H8/300: io.h cleanup - optimize byteswap - add noswap io mode - cleanup var type Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.136, 2004-06-18 08:16:42-07:00, ysato@users.sourceforge.jp [PATCH] H8/300: ptrace fix - Kconfig typo fix - PTRACE_PEEKUSER read process info support - exr restore fix - ptrace register offset fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.135, 2004-06-18 08:16:33-07:00, kaos@ocs.com.au [PATCH] contify some scheduler functions Several scheduler macros only read from the task struct, mark them const. It may help the compiler generate better code. Signed-off-by: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.134, 2004-06-18 08:16:21-07:00, greg@kroah.com [PATCH] remove EXPORT_SYMBOL(kallsyms_lookup) Distros have started to ship kernels with this patch, as it seems that some unnamed binary module authors are already abusing this function (as well as some open source modules, like the openib code.) I could not find any valid reason why this symbol should be exported, so here's a patch against 2.6.7 that removes it. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.133, 2004-06-18 08:16:11-07:00, rddunlap@osdl.org [PATCH] remove blank line in show_trace() Delete a blank line for more error reporting on-screen. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.132, 2004-06-18 08:16:00-07:00, kenneth.w.chen@intel.com [PATCH] Hugetlb page bug fix for i386 in PAE mode Hit a bug check when unmap a hugetlb vma in PAE mode on i386 (and x86-64). Bad page state at free_hot_cold_page (in process 'a.out', page c165cc40) flags:0x20000000 mapping:f75e1d00 mapped:0 count:0 Backtrace: Call Trace: [] bad_page+0x79/0x9e [] free_hot_cold_page+0x71/0xfa [] unmap_hugepage_range+0xa3/0xbf [] unmap_vmas+0xac/0x252 [] default_wake_function+0x0/0xc [] unmap_region+0xd8/0x145 [] do_munmap+0xfc/0x14d [] sys_shmdt+0xa5/0x126 [] sys_ipc+0x23c/0x27f [] sys_write+0x38/0x59 [] syscall_call+0x7/0xb It turns out there is a bug in hugetlb_prefault(): with 3 level page table, huge_pte_alloc() might return a pmd that points to a PTE page. It happens if the virtual address for hugetlb mmap is recycled from previously used normal page mmap. free_pgtables() might not scrub the pmd entry on munmap and hugetlb_prefault skips on any pmd presence regardless what type it is. Patch to fix the bug. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.131, 2004-06-18 08:15:49-07:00, minyard@acm.org [PATCH] IPMI base patch to fix channel handling and add polling This patch fixes some problems with handling of channel detection in the driver. Some systems that are IPMI 1.5 do not implement the channel query command. Also, the interface has to be fully up before the command is ready. This patch also adds a polling interface; this is required for situations where interrupts are not running, but the system must still issue IPMI commands, like when taking a crash dump. It also updates the driver version to v32. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.130, 2004-06-18 08:15:37-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - SELinux changes This patch contains SELinux changes which add support for extended Netlink socket classes and the associated permissions nlmsg_read and nlmsg_write. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.129, 2004-06-18 08:15:25-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - add sk to netlink_send hook Modifies the LSM netlink_send() hook so that it takes a struct sock parameter. SELinux will use this parameter to lookup the class of socket, which was assigned during socket security initialization. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.128, 2004-06-18 08:15:14-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - move security_netlink_send() hook This patch moves the security_netlink_send() LSM hook after the user copy, so that LSM modules can safely examine skb payload content. For SELinux, we need to look at the Netlink message type. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.127, 2004-06-18 08:15:04-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - SELinux headers update This patch regenerates the SELinux module headers to reflect new class and access vectors definitions. The size of the diff is misleading; much of it is simply a change in the ordering of the automatically generated definitions. The corresponding generation script has been changed to ensure a stable order in the future. Please apply. Author: Stephen Smalley Cc: David S. Miller Signed-off-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.126, 2004-06-18 08:14:53-07:00, chrisw@osdl.org [PATCH] fix simple_strtoul base 16 handling I know it's simple_strtoul, but is it meant to be that simple? Fix up for both simple_strtoul and simple_strtoull. simple_strtoul(0x401b, NULL, 0) = 0x401b simple_strtoul(0X401b, NULL, 0) = 0x0 simple_strtoul(0x401b, NULL, 16) = 0x0 simple_strtoul(0X401b, NULL, 16) = 0x0 simple_strtoull(0x401b, NULL, 0) = 0x401b simple_strtoull(0X401b, NULL, 0) = 0x0 simple_strtoull(0x401b, NULL, 16) = 0x0 simple_strtoull(0X401b, NULL, 16) = 0x0 Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.125, 2004-06-18 08:14:42-07:00, eger@havoc.gtf.org [PATCH] rivafb: fb accel capabilities Here's the fb accel capabilities patch for rivafb. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.124, 2004-06-18 08:14:31-07:00, geert@linux-m68k.org [PATCH] fix warning in fbmem.c Fix a const/non-const warning. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.123, 2004-06-18 08:14:20-07:00, eger@havoc.gtf.org [PATCH] fix radeonfb panning and make it play nice with copyarea() radeonfb: fix panning corruption on a large virtual screen, Make panning and copyarea() play nicely with each other. Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.122, 2004-06-18 08:14:09-07:00, lethal@Linux-SH.ORG [PATCH] asiliantfb init fix asiliantfb seems to have only been partially merged (the fbmem.c bits in particular seem to have been missed entirely). This adds them back in, though they do seem to be present in the fbdev tree, at least they were the last time I looked. These are the last bit of outstanding changes I have in the LinuxSH tree for asiliantfb, so it would be nice to get this out of the way. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.121, 2004-06-18 08:13:58-07:00, adaplas@hotpop.com [PATCH] More updates to rivafb driver 1. pass info->monspecs.modedb and info->monspecs.modedb_len to fb_find_mode() instead of NULL, 0 since its contents are specific to the attached display. Anyway, if info->monspecs.modedb == NULL, fb_find_mode() will use the default database. 2. Added best fit algo to fb_find_mode(). 3. Use snprintf instead of sprintf. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.120, 2004-06-18 08:13:47-07:00, adaplas@hotpop.com [PATCH] Updates to rivafb driver The patch updates rivafb to the following: 1. Fixed cursor corruption and simplified cursor code. 2. Maximized var->yres_virtual on initial mode setting. Scrolling, therefore, defaults to y-panning which is significantly faster. 3. Restricted var->xres_virtual and var->yres_virtual to 0x7fff (hardware limitation?). Otherwise, var->yres_virtual > 0x7fff + panning will hang the GPU. 4. Added I2C/DDC support. This feature enables independent mode setup to rivafb. 'stty rows n cols n' should now work correctly. This is a configurable option. 5. Various/minor fixes to drawing code. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.119, 2004-06-18 08:13:36-07:00, eger@havoc.gtf.org [PATCH] fbcon: prefer pan when available Improve heuristics to favor panning over copyarea() thanks to pseudocode from Antonino Daplas Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.118, 2004-06-18 08:13:25-07:00, eger@havoc.gtf.org [PATCH] fb accel capabilities Baseline patch to make framebuffer/fbcon interaction more sane by basing the fbcon heuristics on capabilities advertized by underlying framebuffer via the fb_info.flags field. This patch updates fbcon, fb.h, and skeletonfb.c. It does *not* yet update the drivers themselves. They should compile and work, but their hinting is not correct yet, meaning most fb drivers will be slow until I set the flags to the right hinting driver-by-driver Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.117, 2004-06-18 08:13:13-07:00, daniel@osdl.org [PATCH] handle partial DIO write The fsx-linux hole fill failure problem was caused by generic_file_aio_write_nolock() not handling the partial DIO write correctly. Here's a patch lets DIO do the partial write, and the fallback to buffered is done (correctly) for what is left. This fixes the hole filling without retrying the entire i/o. This patch also applies to 2.6.7-rc3 with some offset. I tested this (on ext3) with fsx-linux -l 500000 -r 4096 -t 4096 -w 4096 -Z -N 10000 junk -R -W Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.116, 2004-06-18 08:13:02-07:00, schwidefsky@de.ibm.com [PATCH] s390: lost dirty bits The SetPageUptodate function is called for pages that are already up to date. The arch_set_page_uptodate function of s390 may not clear the dirty bit in that case otherwise a dirty bit which is set between the start of an i/o for a writeback and a following call to SetPageUptodate is lost. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.115, 2004-06-18 08:12:51-07:00, hch@lst.de [PATCH] fix standalone inclusion of asm-i386/dma-mapping.h Without this a usb-storage patch I sent fails on x86 because dma-mapping.h uses struct device and various VM stuff without proper includes. It's fine on ppc at least. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.114, 2004-06-18 08:12:41-07:00, jmorris@redhat.com [PATCH] Fix sock_orphan race. The patch below fixes a race between sock_orphan() and selinux_socket_sock_rcv_skb() which can lead to a null pointer deref oops under heavy load. The sk_callback_lock is used in the patch to synchronize access to the incoming socket's inode security state. This patch has been under test in the Fedora kernel for over a month without incident. Author: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.113, 2004-06-18 08:12:29-07:00, marcelo.tosatti@cyclades.com [PATCH] update Marcelo CREDITS info Update my CREDITS information. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.112, 2004-06-18 08:12:18-07:00, jmorris@redhat.com [PATCH] Add security_file_permission() to AIO paths. Currently, there are no LSM hooks in the AIO codepaths, which means that LSM based access controls are not revalidated upon AIO read and write operations. The patch below adds the security_file_permission() LSM hook prior to the VFS aio_read()/aio_write() calls. Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.111, 2004-06-18 08:12:08-07:00, linux@dominikbrodowski.de [PATCH] add 1 in __const_udelay() The "mull" instruction in __const_udelay() cuts off the lower 32 bits -- so, it is "rounding down". This is both an issue for small ndelay()s for _all_ values for loops_per_jiffy and for certain {n,u}delay()s for many loops_per_jiffy values. Assuming LPJ = 1501115 udelay(87) results in 130597 loops to be spent. However, 1000 * 130597 / 1501115 is 86.999997 us, so we're actually _rounding down_. 1000 * 130598 / 1501115 is 87.000662841, which would be the technically correct thing to do. Of course, for the TSC case this won't matter as the maths take some time, so the actual delay is 1000 * __udelay(x) / lpj + __OVERHEAD(x) Anybody worried about both the additional overhead and the fact that the overhead takes some time to run should add a check if (unlikely(xloops < OVERHEAD)) return; xloops -= OVERHEAD; to the delay() routines in arch/i386/kernel/timers/*.c and determine what the OVERHEAD is. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.110, 2004-06-18 08:11:56-07:00, linux@dominikbrodowski.de [PATCH] round up in __udelay() Round up in __udelay(): 2**32 / 100000 is 4294.97, so it's more intuitive to round up, and it causes more predictable results: n usec delay on a 1500000 BogoMIPS system: n before -mull after 1 1000 ticks 1499 ticks 1500 ticks 10 14000 ticks 14999 ticks 15000 ticks n usec delay on a 100000 BogoMIPS system: n before -mull after 1 0 ticks 99 ticks 100 ticks 10 0 ticks 999 ticks 1000 ticks 100 9000 ticks 9999 ticks 10000 ticks While it can be argued that some time is also spent in the delay functions, it's better to spend _at least_ the specified time sleeping, in my humble opinion. And the overhead of a specific ->delay() implementation should be substracted in the specific ->delay() implementation. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.109, 2004-06-18 08:11:46-07:00, linux@dominikbrodowski.de [PATCH] mull'ify multiplication with HZ in __const_udelay() John Stultz mentioned on lkml ( http://lkml.org/lkml/2004/6/5/15 ) that calls to udelay() don't delay long enough, causing trouble e.g. in the USB subsystem. The following patches address this issue. Move the multiplication of (loops_per_jiffy * xloops) with HZ into the "mull" asm operation. This increases the accuracy of the delay functions largely: n usec delay on a system with loops_per_jiffy = 1500000 : n before after 1 1000 ticks 1499 ticks 10 14000 ticks 14999 ticks n usec delay on a system with loops_per_jiffy = 100000 : n before after 1 0 ticks 99 ticks 10 0 ticks 999 ticks 100 9000 ticks 9999 ticks As noted by Kurt Garloff, it's necessary to adjust for large loops_per_jiffies, as the multiplication of it with HZ fails for 4GHz or larger. So, John Stultz suggested multiplying xloops with 4 first, and multiplying with (HZ/4). Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.108, 2004-06-18 08:11:35-07:00, neilb@cse.unsw.edu.au [PATCH] Fix raid1 read_balancing code. The meaning of mddev->in_sync changed subtly a while ago, and raid1 wasn't changed to match. This results in raid1 read_balancing not working properly. This patch corrects the relevant test. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.107, 2004-06-18 08:11:24-07:00, alex@clusterfs.com [PATCH] ext3: htree readdir fix I've observed that ext3_htree_fill_tree() doesn't ignore empty records (de->inode == 0). test case is very simple: turn htree on, create several hundreds of files, remove them and look at strace ls: [root@victim tests]# ls -a /test/1 . .. [root@victim tests]# strace ls /test/1/ .... getdents64(3, /* 18 entries */, 4096) = 432 getdents64(3, /* 0 entries */, 4096) = 0 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.106, 2004-06-18 08:11:13-07:00, wli@holomorphy.com [PATCH] fix isofs ignoring noexec and mode mount options * Removed period check for executables in fs/isofs/inode.c This fixes Debian BTS #162190 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=162190 From: Jan Gregor To: Debian Bug Tracking System Subject: kernel-source-2.4.18: kernel ignores noexec and mode option in cdrom case Message-ID: <20020924162129.A328@pisidlo> In /etc/fstab i have following line: /dev/cdrom /cdrom iso9660 gid=100,noauto,ro,noexec,mode=0444,user 0 0 I found on one CD that some files have exec bit set. From brief view those files has no extension (filename.ext). My drive is asus-1610a (ATAPI writer) connected throught scsi-emulation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.105, 2004-06-18 08:11:04-07:00, wli@holomorphy.com [PATCH] fix handling of '/' embedded in filenames in isofs * Fix slashes in broken Acorn ISO9660 images in fs/isofs/dir.c (Darren Salt) This fixes Debian BTS #141660. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=141660 From: Darren Salt Message-ID: <4B238BA09A%linux@youmustbejoking.demon.co.uk> To: submit@bugs.debian.org Subject: Handle '/' in filenames in broken ISO9660 images [Also applicable to 2.2.x] There has been for some time a problem with certain CD-ROMs whose images were generated using a particular tool on Acorn RISC OS. The problem is that in certain catalogue entries, the extension separator character '/' (RISC OS uses '.' and '/' the other way round) was not replaced with '.'; thus Linux cannot properly parse this without this patch, thinking that it is a directory separator. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.104, 2004-06-18 08:10:53-07:00, wli@holomorphy.com [PATCH] fix duplicate environment variables passed to init * Fixed argument processing bug in init/main.c (Eric Delaunay) This fixes Debian BTS #58566. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58566 From: Eric Delaunay Message-Id: <200002201918.UAA02327@jazz.pontchartrain.fr> Subject: pb in handling parameters on kernel command line To: submit@bugs.debian.org (debian bug tracking system) Hello, I found some bugs in kernel command line parser. AFAIK, they are not Debian nor sparc specific but I'm not subscribed to linux-kernel mailing list and since I'm involved with boot-floppies (mainly for sparc), I think I'm right to report it here. Feel free to forward it upstream (I checked the latest 2.3.46 sources and it seems these bugs are still there). These bugs are not release critical. The latter just not gives the user a chance to overwrite TERM env var at boot time. It could be just inconvenient for serial console boot, and in this case, our busybox' init is already enforcing TERM=vt102. Nevertheless if it could not be fixed before the release, I could even write a workaround in busybox' init (it's just a matter of rewriting getenv()). At last, it does not affect sysvinit package because serial console tty is controlled by a getty process which is reading terminal settings on its command line (take a look in inittab for T0 entries, if any). Ok, here is my modest contribution to kernel hacking. I don't know much about kernel internals but it seems that argument parsing is a bit broken. One trivial patch for command line like "init=/bin/sh console=prom" where console=prom is replaced by lot of spaces in previous call to setup_arch() on sparc, therefore the line parsed by parse_options() is really "init=/bin/sh " and a lot of null args are pushed into argv_init. The other patch is for command line like "TERM=vt100" where both default & user TERM entries are pushed into the env array. Taking a look into /proc/1/environ, it shows up: HOME=/ TERM=linux TERM=vt100 It appears that ash (maybe other shells too) is giving the latter entry but glibc getenv() is giving the former. It is therefore impossible to get entry from the user in a C program like busybox' init (used in Debian boot-floppies). I guess getenv() is not written to support duplicate entries, therefore the kernel should avoid such construct. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.103, 2004-06-18 08:10:43-07:00, wli@holomorphy.com [PATCH] unregister driver if probing fails in sb_card.c * Unregister driver if probing fails in sound/oss/sb_card.c This fixes Debian BTS #218845. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218845 From: Robin Gerard To: submit@bugs.debian.org Subject: no sound with kernel-image-2.6.0-test9-1-386 Message-ID: <20031103004939.GA2071@mauritius> I downlaoded the kernel-image-2.6.0-test9-1-386_2.6.0-test9-1_i386.deb and I installed it successfully. Everything works fine, except the sound. (I run also the kernel-image-2.4.20 and the sound is ok with this kernel) My sound card is a sb. First I launched modconf but no module was displayed. I did: modprobe sb and I got: sb: Init: Done sb: Init: Starting Probe... kobject_register failed for OSS SndBlstr (-17) Call Trace: [] kobject_register+0x3a/0x40 [] bus_add_driver+0x30/0x64 [] driver_register+0x2d/0x34 [] preempt_schedule+0x2a/0x48 [] pnp_register_driver+0x28/0x58 [] pnp_register_card_driver+0x5e/0x98 [] sb_init+0x63/0xb5 [sb] [] sys_init_module+0xe8/0x1f0 [] syscall_call+0x7/0xb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.102, 2004-06-18 08:10:32-07:00, wli@holomorphy.com [PATCH] lower priority of "too many keys" msg in atkbd.c From: "Jon Thackray" * Lowered priority of "too many keys" message in drivers/input/keyboard/atkbd.c This fixes Debian BTS #239036. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=239036 The keyboard under 2.6.4 seems to be behaving strangely, reporting unknown key codes and too many keys pressed, even when no keys have been pressed. The keyboard is connected via an 8 way KVM switch, but was working quite acceptably under 2.4.25 with no such messages. Trying 2.6.3 is not an option as it doesn't support the hardware properly, as previously reported. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.101, 2004-06-18 08:10:21-07:00, rddunlap@osdl.org [PATCH] istallion printk fix istallion: Remove duplicate "%d" in printk(); Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.100, 2004-06-18 08:10:10-07:00, egmont@uhulinux.hu [PATCH] Shift+PgUp if nr of scrolled lines is < 4 Using the vga console driver, if the number of the lines scrolled out is less than four, then Shift+PageUp doesn't work. The bug is closely related to the 'margin' feature of scrolling, which means that if less than four lines should remain unvisible in the direction we are scrolling to, then we scroll a little bit more just to see those few lines. Kind of two small magnets at the borders of the buffer. This bug was also reported with maybe a less clear description by Stepan Koltsov (cc'ed just for fun) back in 2001 and he got no answer. I found it at http://seclists.org/lists/linux-kernel/2001/Nov/0080.html His patch simply disables margin support and hence everythings becomes okay, but you lose a nice feature. Here's a patch that retains margin support and fixes the bug. Works for me, tested for a week. No guarantee. As I don't fully understand the code (see also my previous mail) I'm not 100% sure that I'm doing the right thing, so I'd prefer if someone would take a closer look at it. At least 2.4 and 2.6 are affected, maybe older ones too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.99, 2004-06-18 08:09:59-07:00, davidel@xmailserver.org [PATCH] epoll: replace the file lookup hash with rbtrees The epoll allocation for the fd lookup hash used to allocate up to 1MB (depending on the "hint" size passed to epoll_create()) with __get_free_pages(0), and this might lead to a "malicious" user to do something like: for (i = 0; i < 1024; i++) epoll_create(BIG-NUM); You can replace "malicious user" with IBM-ltp test suite, and the meaning does not change. The above code might exhaust memory badly, even before the file creation limit is topped. Also, the allocation was independent from the number of fds pushed into the epoll fd hash. Using an rb-tree ther will be not pre-allocation of the hash, and the size of the memory used will be proportional to the number of fds pushed into the epoll fd. The patch also removes 100 lines of code, that is never a bad thing ;) Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.98, 2004-06-18 08:09:48-07:00, rtjohnso@eecs.berkeley.edu [PATCH] drivers/char/ipmi/ipmi_devintf.c: user/kernel pointer typo Judging from context, I think there's a misplaced "&" in this code that can cause stack overflows and other nasty problems. Perhaps it's left over from when msgdata was an array instead of a pointer? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.97, 2004-06-18 08:09:37-07:00, akpm@osdl.org [PATCH] Make update_one_process() static Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.96, 2004-06-18 08:09:26-07:00, vandrove@vc.cvut.cz [PATCH] Decrease stack usage in ncpfs's ioctl It decreases stack consumption in one of ncpfs's paths from 3000 to 2200 bytes (and stack portion in ncpfs ioctl code from 1336 to 452 bytes). - some code used large structure (with embeded 256 bytes for filename) while it never passed filename around. Use something smaller in ncp_conn_logged_in. Decrease 616 => 300. - gcc-3.3 is very bad when it comes to parallel blocks in ioctl. Split some branches from large switch to separate functions. ncp_ioctl now uses 152 bytes of stack (instead of 720) and biggest child 64. Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.95, 2004-06-18 08:09:16-07:00, herbert@gondor.apana.org.au [PATCH] swsusp: remove copy_pagedir It can be replaced by a simple memcpy. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.94, 2004-06-18 08:09:05-07:00, herbert@gondor.apana.org.au [PATCH] remove unnecessary memsets from swsusp and pmdisk Here's the patch that removes the memset calls from both pmdisk and swsusp. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.93, 2004-06-18 08:08:54-07:00, herbert@gondor.apana.org.au [PATCH] omdisk memory leak fix Fix a couple of memory leaks in the pmdisk driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.92, 2004-06-18 08:08:43-07:00, pavel@ucw.cz [PATCH] Fix memory leak in swsusp This fixes 2 memory leaks in swsusp: during relocating pagedir, eaten pages were not properly freed in error path and even regular freeing path was freeing one page too little. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.91, 2004-06-18 08:08:32-07:00, axboe@suse.de [PATCH] blk: move threshold unplugging The 'unplug on queued exceeding unplug threshold' logic only works for file system requests currently, since it's in __make_request(). Move it where it belongs, in elv_add_request(). This way it works for queued block sg requests as well. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.90, 2004-06-18 08:08:21-07:00, axboe@suse.de [PATCH] fix cdrom mt rainier probe Mt rainier probe must be deferred to media load time, since it requires a valid media (the drive may present a different capability based on what media is loaded). This fixes that for ide-cd and sr. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.89, 2004-06-18 08:08:10-07:00, mikem@beardog.cca.cpqcorp.net [PATCH] cciss ioctl32 update This patch provides a conversion routine for 32-bit user space apps that call into a 64-bit kernel on x86_64 architectures. This is required for the HP Array Configuration utility and the HP management agents. Without this patch the apps will not function. The 2 ioctls affected are the cciss pass thru ioctls. Caveat: it spits out 2 warnings during compilation. I've tried everything I can think of to clean them up, but... If anyone has any helpful suggestions I'm all ears. Code by Stephen Cameron Tested by Stephen Cameron & Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.88, 2004-06-18 08:07:59-07:00, andrea@suse.de [PATCH] remap_file_pages() speedup Avoid taking down_write(mmap_sem) unless we really need it. Seems that the only reason we're taking it for writing is to protect vma->vm_flags. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.87, 2004-06-18 08:07:48-07:00, arun.sharma@intel.com [PATCH] sys_getdents64 needs compat wrapper Due to different structure alignment rules in the ABI between ia32 and ia64, certain members of the dirent structure are not guaranteed to be 8 byte aligned on ia64. This requires a compat wrapper around these 32 bit system calls. Other architectures may or may not have the problem, depending on the alignment rules. This was observed by running /emul/ia32-linux/bin/ls on 2.6.6 which produces kernel mode unaligned faults. Original patch by: Arnd Bergmann Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.86, 2004-06-18 08:07:37-07:00, tvignaud@mandrakesoft.com [PATCH] checksatck.pl fixes - "\<" and "\>" can be safely replaced with "<" and ">" - "$var =~ /^string$/" is better written "$var eq 'string'" - $i is better written without the double quotes - it's not safe to use for without "my"ing the iteration variable - "print foreach @array" is better written "print @array" - declare variables - ".*" is useless at the end of a regexp - "$a[@a] = $foo" is a rather obfuscated syntax for "push @a, $foo"... let's not opencoding language basic operators... - ignoring return value from a regexp is very bad: this can results in working on previous value of $1, $2, ... Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.85, 2004-06-18 08:07:26-07:00, ashok.raj@intel.com [PATCH] don't create cpu/online sysfs file This file provides ability for caller of register_cpu() to either create a control file, or not. This can be handy if a particular platform decides that certain CPU's are not removable. Hence would like to not create a control file. Signed-off-by: Dave Hansen Signed-off-by: Ashok Raj Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.84, 2004-06-18 08:07:15-07:00, umka@namesys.com [PATCH] memory allocation checks in cs46xx_dsp_proc_register_scb_desc() Adds memory allocation checks in cs46xx_dsp_proc_register_scb_desc() Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.83, 2004-06-18 08:07:05-07:00, torque@ukrpost.net [PATCH] memory allocation checks in mtdblock_open() Fixes memory allocation check in mtdblock_open() Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.82, 2004-06-18 08:06:54-07:00, torque@ukrpost.net [PATCH] memory allocation checks in eth1394_update() Adds memory allocation checks in eth1394_update(). Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.81, 2004-06-18 08:06:43-07:00, ak@suse.de [PATCH] Use numa policy API for boot time policy Suggested by Manfred Spraul. __get_free_pages had a hack to do node interleaving allocation at boot time. This patch sets an interleave process policy using the NUMA API for init and the idle threads instead. Before entering the user space init the policy is reset to default again. Result is the same. Advantage is less code and removing of a check from a fast path. Removes more code than it adds. I verified that the memory distribution after boot is roughly the same. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.80, 2004-06-18 08:06:32-07:00, wli@holomorphy.com [PATCH] apic: make mach_default compile again While sweeping the APIC code two points were missed. The first is getting the definition of BAD_APICID available to include/asm-i386/mach-default/mach_apic.h by #including the right header, and the second is UP local APIC without UP IO-APIC linking in get_broadcast_physid(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.79, 2004-06-18 08:06:21-07:00, wli@holomorphy.com [PATCH] apic: remove marking of non-present physids in phys_cpu_present_map Marking invalid APIC ID's in phys_cpu_present_map was intended to generate "collisions" between APIC ID's in order to assist the ordinary bounds checking against the broadcast physical APIC ID. However, this is bounds checked everywhere it's necessary, and it's also not even possible to properly bounds-check everywhere. So this patch removes that marking of non-present physical APIC ID's. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.78, 2004-06-18 08:06:09-07:00, wli@holomorphy.com [PATCH] apic: fix kicking of non-present cpus The following patch repairs kicking of non-present cpus by making cpu_present_to_apicid() bounds-check its argument. It also corrects the same issue on NUMA-Q by correctly passing the generated artificial APIC ID instead of the raw value discovered in the MP table. A miscellaneous compilefix for CONFIG_ACPI_BOOT is also included for completeness. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.77, 2004-06-18 08:05:58-07:00, wli@holomorphy.com [PATCH] APIC enumeration fixes The following patch appears sound according to an audit to ensure that all of the codepaths where it was introduced were called after the APIC fixmappings were set up. This patch introduces get_physical_broadcast(), which checks the version ID of the local APIC to determine whether it's a serial APIC or xAPIC, and returns the correct physical broadcast ID. It replaces all uses of APIC_BROADCAST_ID and IO_APIC_MAX_ID with this in order to ensure. It also changes the checks during MP table parsing so the APIC ID is checked in tandem with the version number. I'm holding out for some kind of testing to get an idea of whether this covers the cases or introduces regressions, or whatever. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.76, 2004-06-18 08:05:47-07:00, akpm@osdl.org [PATCH] i386 uninline some bitops Uninline the non-leaf bit search functions. Saves 9 kbytes from my vmlinux. And gratuitously s/__inline__/inline/ Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.75, 2004-06-18 08:05:36-07:00, wli@holomorphy.com [PATCH] x86_64 numa cpumask build fix arch/x86_64/mm/numa.c: In function `numa_initmem_init': arch/x86_64/mm/numa.c:185: error: incompatible types in assignment Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.74, 2004-06-18 08:05:25-07:00, tom.l.nguyen@intel.com [PATCH] msi TARGET_CPUS fix Somehow the change in TARGET_CPUS generated this error in UP environment. Patch below will fix it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.73, 2004-06-18 08:05:14-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-raid1.c: Use list_for_each_entry_safe dm-raid1.c: In rh_exit(), use list_for_each_entry_safe instead of list_for_each_safe. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.72, 2004-06-18 08:05:03-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-raid1.c: Make delayed_bios a bio_list dm-raid1.c: Make struct region::delayed_bios a bio_list instead of a bio*. This will ensure the queued bios are kept in the proper order. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.71, 2004-06-18 08:04:52-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-io: Error handling dm-io: Proper error handling when someone is trying to read from multiple regions. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.70, 2004-06-18 08:04:41-07:00, kevcorry@us.ibm.com [PATCH] dm: Use structure assignments instead of memcpy Use structure assignments instead of memcpy's. [Suggested by akpm during kcopyd review.] Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.69, 2004-06-18 08:04:32-07:00, kevcorry@us.ibm.com [PATCH] dm: Create/destroy kcopyd on demand. Create/destroy kcopyd on demand. This changes kcopyd to initialize its mempool and workqueue only when a client specifically needs to use it. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.68, 2004-06-18 08:04:21-07:00, kevcorry@us.ibm.com [PATCH] dm: Documentation Device-Mapper documentation. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.67, 2004-06-18 08:04:10-07:00, christophe@saout.de [PATCH] Device-mapper: dm-zero flushing fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.66, 2004-06-18 08:03:59-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-zero version Add missing dm-zero version number. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.65, 2004-06-18 08:03:48-07:00, agk@redhat.com [PATCH] Device-mapper: dm-zero Add dm-zero target Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.64, 2004-06-18 08:03:37-07:00, agk@redhat.com [PATCH] Device-mapper: mirroring Add mirror target. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.63, 2004-06-18 08:03:25-07:00, kevcorry@us.ibm.com [PATCH] dm: Fix error cleanup in dm_create_persistent() dm-exception-store.c: Fix error cleanup in dm_create_persistent(). This was originally found by chrisw during code review. From: Dave Olien Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.62, 2004-06-18 08:03:15-07:00, agk@redhat.com [PATCH] Device-mapper: snapshots Add snapshot target Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.61, 2004-06-18 08:03:03-07:00, kevcorry@us.ibm.com [PATCH] kcopyd commentary We're also working on some general documentation which will go in Documentation/device-mapper and will include more detailed information about the core driver and the other sub-modules. We'll try to submit those patches in the near future. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.60, 2004-06-18 08:02:55-07:00, kevcorry@us.ibm.com [PATCH] dm: kcopyd: No need to lock pages No need to lock kcopyd pages. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.59, 2004-06-18 08:02:44-07:00, kevcorry@us.ibm.com [PATCH] dm: kcopyd: remove superfluous INIT_LIST_HEADs Remove superfluous kcopyd INIT_LIST_HEAD. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.58, 2004-06-18 08:02:33-07:00, agk@redhat.com [PATCH] Device-mapper: kcopyd Add kcopyd - a daemon for copying regions of block devices around in an efficient manner. Multiple destinations can be specified for a copy. Designed to perform well both with many small chunks or few large chunks. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.57, 2004-06-18 08:02:21-07:00, agk@redhat.com [PATCH] dm-io: device-mapper i/o library for kcopyd Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.56, 2004-06-18 08:02:10-07:00, bogdan.costescu@iwr.uni-heidelberg.de [PATCH] 3c59x: support for ATI Radeon 9100 IGP The following patch adds support for the 3Com networking core found in the ATI Radeon 9100 IGP southbridge used on boards like Asus P4R800-VM. The main point of this patch is using HAS_MII instead of HAS_NWAY for the definition of the board. All the previous trials since the end of last year used HAS_NWAY which disables the Tx part of the transceiver; using HAS_NWAY was the way all 3Com Cyclone and Tornado chips worked, as they had the transceiver integrated. The ATI solution has an external transceiver and I had to physically see the different chip on the board (the board was provided by ATI) to finally understand that it needs the HAS_MII definition... I'm still waiting for some docs from ATI to clarify if this is the correct way of handling this chip and if there are any differences w.r.t EEPROM handling, but as it appears to work and was also confirmed by other testers, I don't want to keep owners of such boards away from their networks :-) The textual identification was a bit hard to decide; it's called "3c920B-EMB-WNM" in the Windows .INF file that Asus provides for their boards. As this name was already used for PCI ID 9210, I added the paranthesis which specifies where this chip is found. The Scyld driver defines FEATURE_TORNADO to include HAS_NWAY. This board would then probably need to not be defined with FEATURE_TORNADO, but the same as in this patch. I would like to publicly thank Tyson Vickers for both ideas and patience during the last few weeks. He managed to get the driver working by randomly setting driver parameters :-) But then he contacted me and worked with me towards the solution. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.55, 2004-06-18 08:01:58-07:00, thomas@winischhofer.net [PATCH] sisfb update 1.7.10 attached is an update for the sisfb driver to version 1.7.10. This update includes - fixes for pure 64bit and 32/64bit mixed systems (add ioctl conversion; fix variable sizes, etc; REQUIRED for current X.org/XFree86 on 64bit systems, even if pure 64bit), - fixes for 301C video bridge, (scales TV output correctly now) - fixes for 1600x1200 and 1400x1050 LCD panels, - many fixes for 661/741/760 (amongst others, proper LFB support for the 760 and corrections for SiS' new BIOS data layout; would lead to display corruption with old driver) - add support for many modes for LCD which were unsupported previously, - add support for HiVision and YPbPr HDTV - "vga=" statement now honoured properly (sisfb will set the same mode as the kernel did by default) - use LCD native resolution mode if no mode is given - a major clean up of main driver code, - radical removal of duplicate (or nearly duplicate) code, - switched to 2.6 module_param macros, - enhanced communication with the X driver, - added eventual POSTing of SiS300/305 card for non-x86 archs, - added ability to relocate the image on the TV screen using a userland tool, - added Documentation/fb/sisfb.txt (why the heck was this missing?!) - small fix for SiS DRM driver (match 32/64bit fixes mentioned above) (cast the data passed to sis_free as u32) - make driver re-entrant by avoiding static structures and variables. As usual, heavily tested. The mode switching code is even lab-tested by SiS (although 100% written by me). Please apply asap (especially since 64bit systems were not properly supported previously; as mentioned, current X.org/XFree86 needs this update for proper communication with the framebuffer driver on 64bit systems. X crashes on such systems with the old driver). Signed-off-by: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.54, 2004-06-18 08:01:45-07:00, paul@serice.net [PATCH] iso9660: NFS fix Make all inode numbers unique for images less than 128GB in size. Required for knfsd. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.53, 2004-06-18 08:01:34-07:00, paul@serice.net [PATCH] iso9660: fix handling of inodes beyond 4GB This is my fourth attempt to patch the isofs code. It is similar to the last posting except this one implements the NFS get_parent() method which has always been missing. The original problem I set out to addresses is that the current iso9660 file system cannot reach inodes located beyond the 4GB barrier. This is caused by using the inode number as the byte offset of the inode data. Being 32-bits wide, the inode number is unable to reach inode data that does not reside on the first 4GB of the file system. This causes real problems with "growisofs" http://fy.chalmers.se/~appro/linux/DVD+RW/#isofs4gb and my pet project "shunt" http://www.serice.net/shunt/ This patch switches the isofs code from iget() to iget5_locked() which allows extra data to be passed into isofs_read_inode() so that inode data anywhere on the disk can be reached. The inode number scheme was also changed. Continuing to use the byte offset would have resulted in non-unique inodes in many common situations, but because the inode number no longer plays any role in reading the meta-data off the disk, I was free to set the inode number to some unique characteristic of the file. I have chosen to use the block offset which is also 32-bits wide. Lastly, the pre-patch code uses the default export_operations to handle accessing the file system through NFS. The problem with this is that the default NFS operations assume that iget() works which is no longer the case because of the necessity of switching to iget5_locked(). So, I had to implement the NFS operations too. As a bonus, I went ahead and implemented the NFS get_parent() method which has always been missing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.52, 2004-06-18 08:01:23-07:00, tim@physik3.uni-rostock.de [PATCH] BSD accounting format rework BSD accounting format rework: Use all explicit and implicit padding in struct acct to - correctly report 32 bit uid/gid, - correctly report jobs (e.g., daemons) running longer than 497 days, - increase the precision of ac_etime from 2^-13 to 2^-20 (i.e., from ~6 hours to ~1 min. after a year) - store the current AHZ value. - allow cross-platform processing of the accounting file (limited for m68k which has a different size struct acct). - introduce versioning for smooth transition to incompatible formats in the future. Currently the following version numbers are defined: 0: old format (until 2.6.7) with 16 bit uid/gid 1: extended variant (binary compatible to v0 on M68K) 2: extended variant (binary compatible to v0 on everything except M68K) 3: a new binary incompatible format (64 bytes) 4: new binary incompatible format (128 bytes). layout of its first 64 bytes is the same as for v3. 5: marks second half of new binary incompatible format (128 bytes) (layout is not yet defined) All this is accomplished without breaking binary compatibility. 32 bit uid/gid support is compatible with the patch previously floating around and used e.g. by Red Hat. This patch also introduces a config option for a new, binary incompatible "version 3" format that - is uniform across and properly aligned on all platforms - stores pid and ppid - uses AHZ==100 on all platforms (allows to report longer times) Much of the compatibility glue goes away when v1/v2 support is removed from the kernel. Such a patch is at http://www.physik3.uni-rostock.de/tim/kernel/2.7/acct-cleanup-04.patch and might be applied in the 2.7 timeframe. The new v3 format is source compatible with current GNU acct tools (6.3.5). However, current GNU acct tools can be compiled for only one format. As there is no way to pass the kernel configuration to userspace, with my patch it will still only support the old v2 format. Only if v1/v2 support is removed from the kernel, recompiling GNU acct tools will yield v3 support. A preliminary take at the corresponding work on cross-platform userspace tools (GNU acct package) is at http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/ This version of the package is able to read any of the v0/v2/v3 formats, regardless of byte-order (untested), even within the same file. Cross-platform compatibility with m68k (v1 format) is not yet implemented, but native use on m68k should work (untested). pid and ppid are currently only shown by the dump-acct utility. Thanks to Arthur Corliss, Albert Cahalan and Ragnar Kjørstad for their comments, and to Albert Cahalan for the u64->IEEE float conversion code. Signed-off-by: Tim Schmielau Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.51, 2004-06-18 08:01:12-07:00, alan@redhat.com [PATCH] make the 3c59x/3c90x driver somewhat more reliable The existing driver violates basic PCI rules in several places making it unusable for basic things like DHCP in Fedora Core. This patch removes all the situations I can find where it writes to the device while in D3 state and breaks stuff. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.50, 2004-06-18 08:01:01-07:00, bwindle@fint.org [PATCH] fix 3c59x.c to allow 3c905c 100bT-FD Fix the 3c905C 10/100 transceiver initialisation woes. (This was reverted from 2.6.7-rcX, but the bug reporter said the failure turned out to be unrepeatable). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.49, 2004-06-18 08:00:52-07:00, joris@eljakim.nl [PATCH] Validate PM-Timer rate at boot time Add a check to the PM-Timer initialization code. It validates the PM-Timer rate against PIT channel 2 and rejects the PM-Timer if its rate is not withing 5% of the expected number. Rationale: The PMTMR timers of certain (older) mainboards are running at invalid rates, often much faster than the rate expected by the PM-Timer code. This causes the system clock to run much too fast. See also http://bugme.osdl.org/show_bug.cgi?id=2375 Possible workarounds are disabling the PM-Timer in the kernel config or disabling the PM-Timer at boot time through the "clock=tsc" parameter. However, we believe it is more user friendly to automatically validate the PM-Timer rate at boot time before using it as the system time source. Tested by me (with broken timer) and John Stultz (with good timer) and believed to be ok. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.48, 2004-06-18 08:00:41-07:00, willy@debian.org [PATCH] ahc1542 !CONFIG_MCA build fix The old 1542 scsi driver is both ISA and MCA. The MCA portions are disabled when !CONFIG_MCA through the typical wrapper scheme (a la pci.h and !CONFIG_PCI). However... the driver unconditionally includes linux/mca.h which in turn unconditionally includes asm/mca.h. This breaks drivers on platforms with ISA but not MCA, like alpha. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.47, 2004-06-18 08:00:30-07:00, mingo@elte.hu [PATCH] x86: remove io_apic_sync The patch below gets rid of io_apic_sync(). io_apic_sync() was introduced in 2.1.104 and it was originally done for masking and unmasking as well. Later the unmasking use got removed but the masking use lingered around. I dont think it was ever justified to do it and clearly since the lack of io_apic_sync() didnt break some of the other writes we do to the IO-APIC registers, it must be unnecessary in the masking case too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.46, 2004-06-18 08:00:20-07:00, mingo@elte.hu [PATCH] x86: remove APIC_LOCKUP_DEBUG the patch below gets rid of APIC_LOCKUP_DEBUG. It has been in the kernel for more than 3 years and the message was only reported once during that period of time - and even in that case it was a side-effect of a really bad crash. The lockup workaround works, the debugging code can be moved out. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.45, 2004-06-18 08:00:09-07:00, pavel@ucw.cz [PATCH] io_apic.c code consolidation This cleans up io_apic.c a bit -- I do not really like 4 copies of same code. Ingo said: yeah, agreed - i checked & test it, it's ok. I made a small modification (see the patch below) to uninline the __modify_IO_APIC_irq() function - shaving 0.5K off the kernel's size. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.44, 2004-06-18 07:59:58-07:00, nickpiggin@yahoo.com.au [PATCH] Fix read() vs truncate race do_generic_mapping_read() { isize1 = i_size_read(); ... readpage copy_to_user up to isize1; } readpage() { isize2 = i_size_read(); ... read blocks ... zero-fill all blocks past isize2 } If a second thread runs truncate and shrinks i_size, so isize1 and isize2 are different, the read can return up to a page of zero-fill that shouldn't really exist. The trick is to read isize1 after doing the readpage. I realised this is the right way to do it without having to change the readpage API. The patch should not cost any cycles when reading from pagecache. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.43, 2004-06-18 07:59:47-07:00, akpm@osdl.org [PATCH] invalidate_inodes2(): mark pages not uptodate Andrea Arcangeli points out that invalidate_inode_pages2() is supposed to mark mapped-into-pagetable pages as not uptodate so that next time someone faults the page in we will go get a new version from backing store. The callers are the direct-io code and the NFS "something changed on the server" code. In both these cases we do need to go and re-read the page. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.42, 2004-06-18 07:59:36-07:00, herbert@gondor.apana.org.au [PATCH] Check return status of register calls in i82365 i82365 calls driver_register and platform_device_register without checking their return values. This patch fixes that. It also runs platform_device_register() prior to isa_probe() so we don't have to undo ise_probe()'s effects if platform_device_register() ends up failing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.41, 2004-06-18 07:59:25-07:00, tol@stacken.kth.se [PATCH] getgroups16() fix sys_getgroups16 (or rather groups16_to_user()) returns large gids truncated. Needs to be fixed, one way or another. Don't know why the other similar casts are still there. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.40, 2004-06-18 07:59:14-07:00, rene.herman@keyaccess.nl [PATCH] same small resource tweaks, x86_64 version The same small tweaks for x86_64. Just to keep the two in sync. One additional wrinkle: vram_resource was exported to e820.c, which didn't actually use it. Undo that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.39, 2004-06-18 07:59:03-07:00, rene.herman@keyaccess.nl [PATCH] small tweaks to standard resource stuff Various small tweaks. Compiled and booted. 1. add IORESOURCE_BUSY | IORESOURCE_MEM also for the kernel code and data resources. I don't believe this actually matters one bit, but they're hooked into a BUSY/MEM parent ("System RAM") and marking them busy seems to make sense. 2. delete the .start = 1M default for the kernel code resource. This isn't actually a change; it's set to virt_to_phys(_text) in setup_arch() overriding any default anyways. 3. s/vram_resource/video_ram_resource/. Lines up much nicer with video_rom_resource... 4. s/checksum/romchecksum/. setup.c is a fairly large file, and "checksum" pollutes the namespace. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.38, 2004-06-18 07:58:52-07:00, hpa@zytor.com [PATCH] Use first-fit for pty allocation (With Andrew Morton). The current dynamic pty allocation scheme has a few problems: - pty numbers grow to be very large, causing wtmp file bloat. - Seems to break libc5 and some old applications So change it to do first-fit. An IDR tree is used to provide a logarithmic-time search. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.37, 2004-06-18 07:58:40-07:00, tytso@mit.edu [PATCH] Ext3: Retry allocation after transaction commit (v2) Here is a reworked version of my patch to ext3 to retry certain filesystem operations after an ENOSPC error. The ext3_should_retry_alloc() function will not wait on the currently running transaction if there is a currently active handle; hence this should avoid deadlocks in the Lustre use case. The patch is versus BK-recent. I've also included a simple, reliable test case which demonstrates the problem this patch is intended to fix. (Note that BK-recent is not sufficient to address this test case, and waiting on the commiting transaction in ext3_new_block is also not sufficient. Been there, tried that, didn't work. We need to do the full-bore retry from the top level. The ext3_should_retry_alloc() will only wait on the committing transaction if there is an active handle; hence Lustre will probably also need to use ext3_should_retry_alloc() if it wants to reliably avoid this particular problem.) #!/bin/sh # # TEST_DIR=/tmp IMAGE=$TEST_DIR/retry.img MNTPT=$TEST_DIR/retry.mnt TEST_SRC=/usr/projects/e2fsprogs/e2fsprogs/build MKE2FS_OPTS="" IMAGE_SIZE=8192 umount $MNTPT dd if=/dev/zero of=$IMAGE bs=4k count=$IMAGE_SIZE mke2fs -j -F $MKE2FS_OPTS $IMAGE function test_log () { echo $* logger -p local4.notice $* } mkdir -p $MNTPT mount -o loop -t ext3 $IMAGE $MNTPT test_log Retry test: BEGIN for i in `seq 1 3` do test_log "Retry test: Loop $i" echo 2 > /proc/sys/fs/jbd-debug while ! mkdir -p $MNTPT/foo/bar do test_log "Retry test: mkdir failed" sleep 1 done echo 0 > /proc/sys/fs/jbd-debug cp -r $TEST_SRC $MNTPT/foo/bar 2> /dev/null rm -rf $MNTPT/* done umount $MNTPT test_log "Retry test: END" akpm@osdl.org Rework the code to make it a formal JBD API entry point. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.36, 2004-06-18 07:58:28-07:00, rene.herman@keyaccess.nl [PATCH] pc9800: merge std_resources.c back into setup.c std_resources.{c,h} was only split off due to pc9800 wanting to override it. With it gone, it might as well be merged back in. Doesn't change any code. It was compiled and booted. This time this also actually doesn't break compilation of any of the subarches. That's to say, any further. I guess it might have been my .config (my regular PC config, with just the subarch switched through menuconfig) or O=, but only ELAN actually compiled. Voyager and VISWS bombed out at the final link and NUMAQ much sooner (with "physnode_map undeclared" during compilation of numaq.c). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.35, 2004-06-18 07:58:17-07:00, bunk@fs.tum.de [PATCH] more PC9800 removal Removes more PC9800 code. Requires: bk rm drivers/char/upd4990a.c bk rm drivers/net/ne2k_cbus.c bk rm drivers/net/ne2k_cbus.h Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.34, 2004-06-18 07:58:05-07:00, rddunlap@osdl.org [PATCH] Remove PC9800 support PC9800 sub-arch is incomplete, hackish (at least in IDE), maintainers don't reply to emails and haven't touched it in awhile. Can't even config it to try to build it without other patches to the kernel tree. bk-rm-script: #! /bin/sh bk rm -r ./arch/i386/mach-pc9800 bk rm -r ./arch/i386/boot98 bk rm ./drivers/char/lp_old98.c bk rm ./drivers/serial/serial98.c bk rm ./drivers/scsi/scsi_pc98.c bk rm ./drivers/scsi/pc980155.c bk rm ./drivers/scsi/pc980155.h bk rm ./drivers/block/floppy98.c bk rm ./drivers/input/keyboard/98kbd.c bk rm ./drivers/input/serio/98kbd-io.c bk rm ./drivers/input/misc/98spkr.c bk rm ./drivers/input/mouse/98busmouse.c bk rm ./drivers/ide/legacy/pc9800.c bk rm ./drivers/ide/legacy/hd98.c bk rm -r ./include/asm-i386/mach-pc9800 bk rm ./include/asm-i386/pc9800_sca.h bk rm ./include/asm-i386/pc9800.h bk rm ./fs/partitions/nec98.c bk rm ./fs/partitions/nec98.h bk rm ./sound/isa/cs423x/pc98.c bk rm ./sound/isa/cs423x/pc9801_118_magic.h bk rm ./sound/isa/cs423x/sound_pc9800.h Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.33, 2004-06-18 07:57:53-07:00, Robert.Picco@hp.com [PATCH] HPET driver The driver supports the High Precision Event Timer. The driver has adopted a similar API to the Real Time Clock driver. It can support any number of HPET devices and the maximum number of timers per HPET device. For further information look at the documentation in the patch. Thanks to Venki at Intel for testing the driver on X86 hardware with HPET. HPET documentation is available at http://www.intel.com/design/chipsets/datashts/252516.htm Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.32, 2004-06-18 07:57:41-07:00, chrisw@osdl.org [PATCH] RLIM: adjust default mqueue sizes Lower default sizes for POSIX mqueue allocation now that rlimits are in place. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.31, 2004-06-18 07:57:29-07:00, chrisw@osdl.org [PATCH] RLIM: enforce rlimits for POSIX mqueue allocation Add a user_struct to the mq_inode_info structure. Charge the maximum number of bytes that could be allocated to a mqueue to the user who creates the mqueue. This is checked against the per user rlimit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.30, 2004-06-18 07:57:18-07:00, chrisw@osdl.org [PATCH] RLIM: add mq_attr_ok() helper Add helper function mq_attr_ok() to do mq_attr sanity checking, and do some extra overlow checking. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.29, 2004-06-18 07:57:07-07:00, chrisw@osdl.org [PATCH] RLIM: add mq_bytes to user_struct Add mq_bytes field to user_struct, and make sure it's properly initialized. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.28, 2004-06-18 07:56:56-07:00, chrisw@osdl.org [PATCH] RLIM: add rlimit entry for POSIX mqueue allocation Add an rlimit entry to control the maximum number of bytes a user can allocate to a POSIX mqueue. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.27, 2004-06-18 07:56:43-07:00, chrisw@osdl.org [PATCH] RLIM: add simple get_uid() helper Add simple helper function to grab a reference to a user_struct. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.26, 2004-06-18 07:56:32-07:00, chrisw@osdl.org [PATCH] RLIM: add sigpending field to user_struct Add sigpending field to user_struct, and make sure it's properly initialized. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.25, 2004-06-18 07:56:20-07:00, chrisw@osdl.org [PATCH] RLIM: add rlimit entry for controlling queued signals The following patches introduce per user rlimits for both queued signals and POSIX message queues. The changes touch all the arches resource.h files as well as init_task.c to get the rlimit defaults setup. Both require caching the user_struct to avoid problems with setuid(). The signal changes makes some small changes to send_signal() to pass along the task being signalled to get proper accounting for signals initiated in interrupt. Thanks to Marcelo for getting this one going. This patch: Add an rlimit entry to control the maximum number of pending signals a user may have. This is essentially just the resource.h changes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.24, 2004-06-18 07:56:09-07:00, akpm@osdl.org [PATCH] i2c fixups for idr API change Fix up the i2c code which uses the IDR library. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.23, 2004-06-18 07:55:58-07:00, minyard@acm.org [PATCH] IDR fixups There were definately some problems in there. I've made some changes and tested with a lot of bounds. I don't have a machine with enough memory to fill it up (it would take ~16GB on a 64-bit machine), but I use the "above" code to simulate a lot of situations. The problems were: * IDR_FULL was not the right value * idr_get_new_above() was not defined in the headers or documented. * idr_alloc() bug-ed if there was a race and not enough memory was allocated. It should have returned NULL. * id will overflow when you go past the end. * There was a "(id >= (1 << (layers*IDR_BITS)))" comparison, but at the top layer it would overflow the id and be zero. * The allocation should return ENOSPC for an "above" value with nothing above it, but it returned EAGAIN. I have not tested on 64-bits (as I don't have a 64-bit machine). I've included the files, a diff from the previous version, and my test programs. For the test programs, idr_test will just attempt to allocate elements, check them, free them, and check them again. idr_test2 will allocate element with between them. idr_test3 just tests some bounds and tries all values with just a few in the idr. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.22, 2004-06-18 07:55:47-07:00, akpm@osdl.org [PATCH] idr: remove counter bits from id's idr_get_new() currently returns an incrementing counter in the top 8 bits of the counter. Which means that most users have to mask it off again, and we only have a 24-bit range. So remove that counter. Also: - Remove the BITS_PER_INT define due to namespace collision risk. - Make MAX_ID_SHIFT 31, so counters have a 0 to 2G-1 range. - Why is MAX_ID_SHIFT using sizeof(int) and not sizeof(long)? If it's for consistency across 32- and 64-bit machines, why not just make it "31"? - Does this still hold true with the counter removed? /* We can only use half the bits in the top level because there are only four possible bits in the top level (5 bits * 4 levels = 25 bits, but you only use 24 bits in the id). */ If not, what needs to change? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.21, 2004-06-18 07:55:36-07:00, minyard@acm.org [PATCH] Fixes for idr code * On a 32-bit architecture, the idr code will cease to work if you add more than 2^20 entries. You will not be able to find many of the entries. The problem is that the IDR code uses 5-bit chunks of the number and the lower portion used by IDR is 24 bits, so you have one bit that leaks over into the comparisons that should not be there. The solution is to mask off that bit before doing IDR processing. This actually causes the POSIX timer code to crash if you create that many timers. I have included an idr_test.tar.gz file that demonstrates this with and without the fix, in case you need more evidence :). * When the IDR fills up, it returns -1. However, there was no way to check for this condition. This patch adds the ability to check for the idr being full and fixes all the users. It also fixes a problem in fs/super.c where the idr code wasn't checking for -1. * There was a race condition creating POSIX timers. The timer was added to a task struct for another process then the data for the timer was filled out. The other task could use/destroy time timer as soon as it is in the task's queue and the lock is released. This moves settup up the timer data to before the timer is enqueued or (for some data) into the lock. * Change things so that the caller doesn't need to run idr_full() to find out the reason for an idr_get_new() failure. Just return -ENOSPC if the tree was full, or -EAGAIN if the caller needs to re-run idr_pre_get() and try again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.20, 2004-06-18 07:55:25-07:00, mason@suse.com [PATCH] reiserfs data logging support Add data=journal support for reiserfs Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.19, 2004-06-18 07:55:13-07:00, mason@suse.com [PATCH] reiserfs: btree readahead Walking the btree can trigger a number of single block synchronous reads. This patch does btree readahead during operations that are likely to be long and sequential. So far, that only includes directory reads and truncates, but it can make both much faster. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.18, 2004-06-18 07:55:03-07:00, mason@suse.com [PATCH] reiserfs: remove debugging warning from block allocator Remove debugging warning from the reiserfs block allocator code Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.17, 2004-06-18 07:54:52-07:00, mason@suse.com [PATCH] reiserfs: block allocator should not inherit "packing locality 1" reiserfsck --rebuild-tree expects the only key with a packing locality of 1 to be for the root directory (key [1 2]). The new block allocator inherited that packing locality down to subdirectories, which triggers failures in reiserfsck --rebuild-tree reiserfsck in readonly check mode doesn't complain about this, thanks to Jeff Mahoney for finding it. The fix is to never inherit packing locality #1 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.16, 2004-06-18 07:54:43-07:00, mason@suse.com [PATCH] reiserfs: block allocator optimizations From: From: The current reiserfs allocator pretty much allocates things sequentially from the start of the disk, it works very nicely for desktop loads but once you've got more then one proc doing io data files can fragment badly. One obvious solution is something like ext2's bitmap groups, which puts file data into different areas of the disk based on which subdirectory they are in. The problem with bitmap groups is that if you've got a group of subdirectories their contents will be spread out all over the disk, leading to lots of seeks during a sequential read. This allocator patch uses the packing locality to determine which bitmap group to allocate from, but when you create a file it looks in the bitmaps to see how 'full' that packing locality already is. If it hasn't been heavily used yet, the packing locality is inherited from the parent directory putting files in new subdirs close to the parent subdir, otherwise it is the inode number of the parent directory putting new files far away from the parent subdir. The end result is fewer bitmap groups for the same working set. For example, one test data set created by 20 procs running in parallel has 6822 subdirs. And with vanilla reiserfs that would mean 6822 packing localities. This patch turns that into 26 packing localities. This makes sequential reads of big directory trees more efficient, but it also makes the btree more efficient in general. Things end up sorted better because groups of subdirs end up with similar keys in the btree, instead of being spread out all over. The bitmap grouping code tries to use the start of each bitmap group for metadata, and offsets the data slightly. The data and metadata are still close together, but not completely intermixed like they are in the default allocator. The end result is that leaf nodes tend to be close to each other, making metadata readahead more effective. The old block allocator had the ability to enforce a minimum allocation size, but did not use it. It now tries to do a pass looking for larger allocation chunks before falling back to the old behaviour of taking any blocks it can find. The patch changes the defaults to: mount -o alloc=skip_busy:dirid_groups:packing_groups You can get back the old behaviour with mount -o alloc=skip_busy mount -o alloc=dirid_groups will turn on the bitmap groups mount -o alloc=packing_groups turns on the packing locality reduction code mount -o alloc=skip_busy:dirid_groups turns on both dirid_groups and skip_busy Finally the patch adds a mount -o alloc=oid_groups, which puts files into bitmap groups based on a hash of their objectid. This would be used for databases or other situations where you have a limited number of very large files. This command will tell you how many packing localities are actually in use: debugreiserfs -d /dev/xxx | grep '^|.*SD' | sed 's/^.....//' | awk '{print $1}' | sort -u | wc -l Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.15, 2004-06-18 07:54:32-07:00, akpm@osdl.org [PATCH] ppc64: uninline __pte_free_tlb() The pgalloc.h changes broke ppc64: In file included from include/asm-generic/tlb.h:18, from include/asm/tlb.h:24, from arch/ppc64/mm/hash_utils.c:48: include/asm/pgalloc.h: In function `__pte_free_tlb': include/asm/pgalloc.h:110: dereferencing pointer to incomplete type include/asm/pgalloc.h:111: dereferencing pointer to incomplete type Uninlining __pte_free_tlb() fixes that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.14, 2004-06-18 07:54:20-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include 3 This patch cleans up needless includes of asm/pgalloc.h from the arch/i386/ subtree. Compile tested on x86_pc SMP. [I also tried VISWS + SMP without PM doesn't build in smpboot.c, though I don't believe its caused by this patch. With PM, fails to link complaining maxcpus is undefined. Therefore, I presume VISWS + SMP is an invalid configuration.] This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. The outstanding list of files for other architectures can be found at http://www.arm.linux.org.uk/misc/pgalloc.txt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.13, 2004-06-18 07:54:08-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include This patch cleans up needless includes of asm/pgalloc.h from the drivers/ subtree. drivers/char/mem.c has been compile tested; the others have not, since they are for non-x86 and non-ARM architectures. This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.12, 2004-06-18 07:53:57-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include This patch cleans up needless includes of asm/pgalloc.h from the fs/ kernel/ and mm/ subtrees. Compile tested on multiple ARM platforms, and x86, this patch appears safe. This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.11, 2004-06-18 07:53:45-07:00, yoav.zach@intel.com [PATCH] binfmt_misc: improve calculation of interpreter's credentials This patch allows for misc binaries to run with credentials and security token that are calculated according to the binaries, and not according to the interpreter, which is the legacy behavior of binfmt_misc. The way it is done is by calling prepare_binprm, which is where these attributes are calculated, before switching the 'file' field in the bprm from the binary to the interpreter. This feature should be used with care, since the interpreter will have root permissions when running a setuid binary owned by root. Please note - - Only root can register an interpreter with binfmt_misc. The feature is documented and the administrator is advised to handle it with care - The new feature is enabled only with a special flag in the registration string. When this flag is not specified the current behavior of binfmt_misc is kept - This is the only 'right' way for an interpreter to know the correct AT_SECURE value for the interpreted binary From: Chris Wright This patchset looks OK, except for one problem. It installs the fd (which could've been unreadable) without unsharing the ->files. So someone can use this to read unreadable yet executable files. Here's a patch which fixes that up. I added one bit that's commented out because I'm not positive if a final steal_locks() is needed. I did a fair amount of rearranging to simplify the error conditions relative to the fd_install(), and unshare_files(). From: Chris Wright I found that the intel patchset (and mine as well) leaked i_writecount on the original executed file. In addition, I verified that the steal_locks() bit is indeed needed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.10, 2004-06-18 07:53:34-07:00, yoav.zach@intel.com [PATCH] Handle non-readable binfmt_misc executables I work in a group that works on enabling the IA-32 Execution Layer (http://www.intel.com/pressroom/archive/releases/20040113comp.htm) on Linux. In a few words - this is a dynamic translator for IA-32 binaries on IPF platform. Following David Mosberger's advice - we use the binfmt_misc mechanism for the invocation of the translator whenever the user tries to exec an IA-32 binary. The EL is meant to help in the migration path from IA-32 to IPF. From our beta customers we learnt that at first stage - they tend to keep their environment mostly intact, using the legacy IA-32 binaries. Such an environment has, naturally, setuid and non-readable binaries. It will be useless to ask the administrator to change the settings of such an environment - some of them are very complex, and the administrators are reluctant to make any changes in a system that already proved itself to be robust and secure. So, our target with these patches is not to enhance the support for scripts but rather to allow a translator to be integrated into a working environment that is not (and should not be) aware to the fact it's being emulated. As I said before - it is practically hopeless to expect an administrator of such a system to change it so that it will suit the current behavior of binfmt_misc. But, even if we could do that, I'm not sure it would be a good idea - these changes are likely to be less secure than the suggested patches - - In order to execute non-readable binaries the binary will have to be made readable, which is obviously less secure than allowing only a trusted translator to read it - There will be no way for the translator to calculate the accurate AT_SECURE value for the translated process. This might end up with the translated process running in a non-secured mode when it actually needs to be secured. I prepared a patch that solves a couple of problems that interpreters have when invoked via binfmt_misc. currently - 1) such interpreters cannot open non-readable binaries 2) the processes will have their credentials and security attributes calculated according to interpreter permissions and not those of the original binary the proposed patch solves these problems by - 1) opening the binary on behalf of the interpreter and passing its fd instead of the path as argv[1] to the interpreter 2) calling prepare_binprm with the file struct of the binary and not the one of the interpreter The new functionality is enabled by adding a special flag to the registration string. If this flag is not added then old behavior is not changed. A preliminary version of this patch was sent to the list on 9/1/2003 with the title "[PATCH]: non-readable binaries - binfmt_misc 2.6.0-test4". This new version fixes the concerns that were raised by the patch, except of calling unshare_files() before allocating a new fd. this is because this feature did not enter 2.6 yet. Arun Sharma says: We were going through an internal review of this patch: http://marc.theaimsgroup.com/?l=linux-kernel&m=107424598901720&w=2 which is in your tree already. I'm not sure if this line of code got sufficient review. + /* call prepare_binprm before switching to interpreter's file + * so that all security calculation will be done according to + * binary and not interpreter */ + retval = prepare_binprm(bprm); The case that concerns me is: unprivileged interpreter and a privileged binary. One can use binfmt_misc to execute untrusted code (interpreter) with elevated privileges. One could argue that all binfmt_misc interpreters are trusted, because only root can register them. But that's a change from the traditional behavior of binfmt_misc (and binfmt_script). (Update): Arun pointed out that calculating the process credentials according to the binary that needs to be translated is a bit risky, since it requires the administrator to pay extra attention not to register an interpreter which is not intended to run with root credentials. After discussing this issue with him, I would like to propose a modified patch: The old patch did 2 things - 1) open the binary for reading and 2) calculate the credentials according to the binary. I removed the riskier part of changing the credentials calculation, so the revised patch only opens the binary for reading. It also includes few words of warning in the description of the 'open-binary' feature in binfmt_misc.txt, and makes the function entry_status print the flags in use. As for the 'credentials' part of the patch, I will prepare a separate patch for it and send it again to the LKML, describe the problem and ask for people comments. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.9, 2004-06-18 07:53:23-07:00, mporter@kernel.crashing.org [PATCH] Add PPC4xx MAINTAINERS entry, merge CREDITS from 2.4 Add myself as the PPC4xx maintainer. Merge CREDITS entry from 2.4 Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.8, 2004-06-18 07:53:12-07:00, olh@suse.de [PATCH] ppc64: avoid multiline /proc/cmdline content on iSeries /proc/cmdline is filled via an OS400 call iSeries_init(). It scans the returned data from the end, instead of the beginning. This leads to multiple lines in /proc/cmdline Just scan from the beginning and stop at the first newline. This patch changes also the /proc/iSeries/mf/*/cmdline interface to do the same as the initial setup. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.7, 2004-06-18 07:53:00-07:00, mikpe@csd.uu.se [PATCH] ppc32 irq.c cpumask fix 2.6.7-rc3-mm1 changed cpumask_t from ulong to a struct, causing compile-time errors in arch/ppc/kernel/irq.c. Proposed fix below. Tested on a G3. Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.6, 2004-06-18 07:52:49-07:00, kumar.gala@freescale.com [PATCH] ppc32: support for e500 and 85xx Here is both a GNU style and BK patch for adding support for the e500 core and 85xx platform to 2.6. This is pretty much a direct port from 2.4 with a bit of cleanup around the edges. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.5, 2004-06-18 07:52:38-07:00, hugh@veritas.com [PATCH] mm: pretest pte_young and pte_dirty Test for pte_young before going to the costlier atomic test_and_clear, as asm-generic does. Test for pte_dirty before going to the costlier atomic test_and_clear, as asm-generic does (I said before that I would not do so for pte_dirty, but was missing the point: there is nothing atomic about deciding to do nothing). But I've not touched the rather different ppc and ppc64. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.4, 2004-06-18 07:52:27-07:00, hugh@veritas.com [PATCH] mm: flush TLB when clearing young Traditionally we've not flushed TLB after clearing the young/referenced bit, it has seemed just a waste of time. Russell King points out that on some architectures, with the move from 2.4 mm sweeping to 2.6 rmap, this may be a serious omission: very frequently referenced pages never re-marked young, and the worst choices made for unmapping. So, replace ptep_test_and_clear_young by ptep_clear_flush_young throughout rmap.c. Originally I'd imagined making some kind of TLB gather optimization, but don't see what now: whether worth it rather depends on how common cross-cpu flushes are, and whether global or not. ppc and ppc64 have already found this issue, and worked around it by arranging TLB flush from their ptep_test_and_clear_young: with the aid of pgtable rmap pointers. I'm hoping ptep_clear_flush_young will allow ppc and ppc64 to remove that special code, but won't change them myself. It's worth noting that it is Andrea's anon_vma rmap which makes the vma available for ptep_clear_flush_young in page_referenced_one: anonmm and pte_chains would both need an additional find_vma for that. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.131.16, 2004-06-18 13:33:48+01:00, rmk@flint.arm.linux.org.uk [ARM] Add support code for ARM hardware vector floating point This cset adds the code to handle the hardware vector floating point unit found on some ARM926 and later CPUs. The hardware provides an implementation for the common cases, and bounces exceptions for other cases, which have to be handled in software, and signalling SIGFPE as appropriate. ChangeSet@1.1722.164.4, 2004-06-18 15:21:08+09:00, yoshfuji@linux-ipv6.org [XFRM] fix dependency issues for CONFIG_IPV6=m. ChangeSet@1.1731, 2004-06-18 01:56:40-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.2, 2004-06-18 01:40:30-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.6 into intel.com:/home/lenb/src/linux-acpi-test-2.6.7 ChangeSet@1.1722.164.3, 2004-06-18 14:25:15+09:00, yoshfuji@linux-ipv6.org [IPV6] XFRM: support (uncompressed) tunnel mode ipcomp6 using xfrm6_tunnel infrastructure. ChangeSet@1.1722.164.2, 2004-06-18 13:56:36+09:00, yoshfuji@linux-ipv6.org [IPV6] XFRM: add missing xfrm6_policy_check(). ChangeSet@1.1722.164.1, 2004-06-18 13:54:05+09:00, yoshfuji@linux-ipv6.org [IPV6] make several functions static in ip6_tunnel that should be. ChangeSet@1.1608.11.12, 2004-06-18 00:18:19-04:00, len.brown@intel.com [ACPI] handle SCI override to nth IOAPIC http://bugzilla.kernel.org/show_bug.cgi?id=2835 ChangeSet@1.1722.163.3, 2004-06-17 21:16:48-07:00, rth@twiddle.net [PATCH] alpha: fix discontigmem+initrd build From: Ivan Kokshaysky Compilation fails due to incorrect usage of NODE_DATA(). Reported by hpa. ChangeSet@1.1722.162.15, 2004-06-18 14:09:35+10:00, nathans@sgi.com [XFS] Fix up highmem build and error handling on inode shrink register. SGI Modid: xfs-linux:xfs-kern:173764a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.163.2, 2004-06-17 21:04:44-07:00, paulus@samba.org [PATCH] ppc64: Optimize exception/syscall entry/exit This rewrites the PPC64 exception entry/exit routines to make them smaller and faster. In particular we no longer save all of the registers for the common exceptions - system calls, hardware interrupts and decrementer (timer) interrupts - only the volatile registers. The other registers are saved and restored (if used) by the C functions we call. This involved changing the registers we use in early exception processing from r20-r23 to r9-r12, which ended up changing quite a lot of code in head.S. Overall this gives us about a 20% reduction in null syscall time. Some system calls need all the registers (e.g. fork/clone/vfork and [rt_]sigsuspend). For these the syscall dispatch code calls a stub that saves the nonvolatile registers before calling the real handler. This also implements the force_successful_syscall_return() thing for ppc64. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1722.163.1, 2004-06-17 21:04:32-07:00, paulus@samba.org [PATCH] ppc64: Implement CONFIG_PREEMPT This implements CONFIG_PREEMPT for ppc64. Aside from the entry.S changes to check the _TIF_NEED_RESCHED bit when returning from an exception, there are various changes to make the ppc64-specific code preempt-safe, mostly adding preempt_enable/disable or get_cpu/put_cpu calls where needed. I have been using this on my desktop G5 for the last week without problems. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1722.160.2, 2004-06-17 22:54:26-05:00, stevef@smfhome1.smfdom Fix typo in name of CIFS Kconfig option and add rename stats ChangeSet@1.1722.162.14, 2004-06-18 13:38:36+10:00, cattelan@sgi.com [XFS] Fix for NFS+XFS data corruption problem. See http://oss.sgi.com/bugzilla/show_bug.cgi?id=198 for full details. SGI Modid: xfs-linux:xfs-kern:173598a Signed-off-by: nathans@sgi.com ChangeSet@1.1608.11.11, 2004-06-17 23:21:03-04:00, len.brown@intel.com [ACPI] avoid spurious interrupts on VIA http://bugzilla.kernel.org/show_bug.cgi?id=2243 ChangeSet@1.1722.129.22, 2004-06-17 20:05:11-07:00, dsaxena@plexity.net Merge plexity.net:/home/dsaxena/src/linux-2.6-arm-timer into plexity.net:/home/dsaxena/src/linux-2.6-for-rmk ChangeSet@1.1728.2.1, 2004-06-17 23:00:08-04:00, len.brown@intel.com [ACPI] fix passive cooling mode indicator (Luming Yu) http://bugzilla.kernel.org/show_bug.cgi?id=1770 ChangeSet@1.1722.162.13, 2004-06-18 12:05:32+10:00, nathans@sgi.com [XFS] Fix up memory allocators to be more resilient. SGI Modid: xfs-linux:xfs-kern:173571a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.12, 2004-06-18 11:53:10+10:00, nathans@sgi.com [XFS] Fix a race condition in the undo-delayed-write buffer routine. SGI Modid: xfs-linux:xfs-kern:173564a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.11, 2004-06-18 11:47:58+10:00, nathans@sgi.com [XFS] Fix flags argument to xfs_incore call on attr removal. SGI Modid: xfs-linux:xfs-kern:173563a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.10, 2004-06-18 11:44:24+10:00, nathans@sgi.com [XFS] Remove the one remaining, broken use of XFS_WRITEIO_LOG and sanitize direct IO map blocks call. SGI Modid: xfs-linux:xfs-kern:173562a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.9, 2004-06-18 10:59:11+10:00, nathans@sgi.com [XFS] Remove unused MAC macros, never needed on Linux. SGI Modid: xfs-linux:xfs-kern:173561a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.8, 2004-06-18 10:52:51+10:00, nathans@sgi.com [XFS] Sanitise the ACL initialisation macros. SGI Modid: xfs-linux:xfs-kern:173559a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.7, 2004-06-18 10:49:46+10:00, nathans@sgi.com [XFS] Ensure buffers that map to unwritten extents are only submitted when properly setup. SGI Modid: xfs-linux:xfs-kern:173555a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.6, 2004-06-18 10:43:35+10:00, roehrich@sgi.com [XFS] Fix non-dmapi build SGI Modid: xfs-linux:xfs-kern:173222a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.5, 2004-06-18 10:38:53+10:00, roehrich@sgi.com [XFS] Change things to use new version of xfs_dm_init/xfs_dm_exit SGI Modid: xfs-linux:xfs-kern:173206a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.4, 2004-06-18 10:17:44+10:00, nathans@sgi.com [XFS] sparse: fix uses of macros before their definitions, etc. SGI Modid: xfs-linux:xfs-kern:173194a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.3, 2004-06-18 10:09:06+10:00, nathans@sgi.com [XFS] Fix xfs_lowbit64, it mishandled zero in the high bits. Cleanup a couple of other ffs users, since ffs(0) is apparently undefined on some architectures. SGI Modid: xfs-linux:xfs-kern:173034a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.2, 2004-06-18 10:04:34+10:00, nathans@sgi.com [XFS] Remove a couple of redundant NULL parent inode pointer checks. SGI Modid: xfs-linux:xfs-kern:173033a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.162.1, 2004-06-18 10:00:58+10:00, nathans@sgi.com [XFS] No longer hold the BKL for the entire ioctl operation, its not needed here. SGI Modid: xfs-linux:xfs-kern:173032a Signed-off-by: nathans@sgi.com ChangeSet@1.1722.159.6, 2004-06-17 16:25:47-07:00, tony.luck@intel.com [PATCH] ia64: switching between CPEI & CPEP A couple of months ago Hidetoshi Seto from Fujitsu proposed a patch to provide similar switching between interrupt mode and polling mode for corrected platform events (CPE) as we have for processor events (CMC) [with the obvious difference that not all platforms support an interrupt for CPE]. I dusted it off and made a couple of very minor cleanups (which Seto-san checked out last night on his test setup and confirmed still passes). Signed-off-by: Tony Luck Signed-off-by: David Mosberger ChangeSet@1.1722.159.5, 2004-06-17 16:22:26-07:00, pfg@sgi.com [PATCH] ia64: fix SN2 interrupt rerouting Signed-off-by: Patrick Gefre Signed-off-by: David Mosberger ChangeSet@1.1722.159.4, 2004-06-17 15:47:19-07:00, davidm@tiger.hpl.hp.com ia64: Fix build-problem when CONFIG_IA32 is not enabled. Without this fix, you'll get unresolved references to sys_rt_sigaction(). ChangeSet@1.1722.159.3, 2004-06-17 15:45:25-07:00, davidm@tiger.hpl.hp.com ia64: Squish some more hazards & warnings for UP compile. ChangeSet@1.1722.129.21, 2004-06-17 15:41:52-07:00, dsaxena@plexity.net [ARM] Remove ADIFCC machine type The code is completely out of date, I am no longer maintaining it, and nobdy has volunteered to do so; therefore, I am killing it. Signed-off-by: Deepak Saxena ChangeSet@1.1722.159.2, 2004-06-17 15:41:25-07:00, davidm@tiger.hpl.hp.com ia64: Squish compiler-warning in perfmon.c when compiling for UP. ChangeSet@1.1722.99.81, 2004-06-17 15:23:14-07:00, stern@rowland.harvard.edu [PATCH] USB: Fix endian bug in g_file_storage This patch fixes a couple of places in g_file_storage where I forgot to use proper byte-swapping. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.80, 2004-06-17 15:22:55-07:00, stern@rowland.harvard.edu [PATCH] USB Storage: unusual_devs.h update On Thu, 17 Jun 2004, Daniel Nouri wrote: > I get this message when inserting my USB MMC card reader: > > usb 3-1: new full speed USB device using address 4 > usb.agent[5388]: usb-storage: already loaded > usb-storage: This device (04e6,0006,0205 S 01 P 01) has an unneeded Protocol entry in unusual_devs.h > Please send a copy of this message to Thanks for letting us know. This patch will eliminate that log message. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.79, 2004-06-17 15:22:34-07:00, mdharm-usb@one-eyed-alien.net [PATCH] USB Storage: Lexar Jumpshot CF reader This patch is required to fix up the jumpshot driver, and to supress the 'unneeded entry' message for another device which uses the same VID/PID/rev for multiple different versions of the device. Alan Stern cooked this patch up, originally. Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.78, 2004-06-17 15:22:14-07:00, david-b@pacbell.net [PATCH] USB: add support for Buffalo LUA-U2-KTX Add support for Buffalo's LUA-U2-KTX, which is a AX8817X based usb ethernet adapter. I just added the USB id and it worked like a dream. From: Neil Bortnak Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.77, 2004-06-17 15:21:44-07:00, david-b@pacbell.net [PATCH] proper bios handoff in ehci-hcd Stuart Hayes here at Dell has identified this or/and mix-up in the ehci-hcd driver. Because of this, ehci-hcd is not properly released by BIOSes supporting full 2.0 and port behavior can then become erratic. (Code predates general availability of such BIOS firmware. This version of the patch also fixes minor linewrap issues.) From: Gary Lerhaupt Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.76, 2004-06-17 15:21:14-07:00, sean@mess.org [PATCH] USB: PhidgetServo driver fixes Here is a patch for the phidgetservo driver -- it was using memory after kfree(), and using driver_info is much nicer. :) Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.99.75, 2004-06-17 15:20:50-07:00, stern@rowland.harvard.edu [PATCH] USB: Only process ports with change events pending This patch adds a bit-array to the hub driver's private data structure, used for storing the contents of the hub's interrupt status message. That message indicates which ports have events pending (and whether the hub itself has events pending). By only polling the status of the ports listed in the bit-array we can save a fair amount of overhead in hub communication. (The #error test added to hub.h is a little awkward, but it's purely precautionary -- it won't matter until someone decides to support hubs with more than 31 ports!) Also included in the patch, since this seemed the perfect opportunity for it, is Byron's suggestion for handling hub events in the order in which they were received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.129.20, 2004-06-17 14:21:35-07:00, dsaxena@plexity.net [ARM] Consolidate various ARM timer fns. into single timer_tick() call. Signed-off-by: Deepak Saxena ChangeSet@1.1722.149.34, 2004-06-17 13:40:02-07:00, jmorris@redhat.com [IPV6]: Fix OOPS in fragmentation. Incorrect SKB pointer is passed to output() callback in ip6_fragment(). Work done by James Morris and Yoshifuji Hideaki. Signed-off-by: James Morris Signed-off-by: Yoshifuji Hideaki Signed-off-by: David S. Miller ChangeSet@1.1608.11.10, 2004-06-17 16:31:52-04:00, len.brown@intel.com [ACPI] PCI bus numbering workaround for ServerWorks from David Shaohua Li http://bugzilla.kernel.org/show_bug.cgi?id=1662 ChangeSet@1.1722.149.33, 2004-06-17 12:11:42-07:00, davem@nuts.davemloft.net [NET]: In unregister_netdevice(), do synchronize_net() before final dev_put(). This way we make sure that all destination cache updates to remove references to this device are seen by entire system before final destruction of the device. ChangeSet@1.1722.149.32, 2004-06-17 12:09:59-07:00, davem@nuts.davemloft.net Cset exclude: kuznet@ms2.inr.ac.ru|ChangeSet|20040616204246|05149 ChangeSet@1.1722.149.31, 2004-06-17 11:52:18-07:00, shemminger@osdl.org [SPARSE]: Fix another net warning. Get rid of warning from assignment in conditional. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.149.30, 2004-06-17 11:40:00-07:00, shemminger@osdl.org [SPARSE]: Get rid of warning in bridge ethtool ioctl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.149.29, 2004-06-17 11:16:48-07:00, shemminger@osdl.org [SPARSE]: Annotate csum_and_copy_to_user(). ChangeSet@1.1722.149.28, 2004-06-17 11:15:13-07:00, akpm@osdl.org [BRIDGE]: Fix bridge sysfs improprely initialized kobject. The bridge sysfs interface introduced around 2.6.7-rc1 created a bad entry in /sys because it didn't initialise the name member of the kobject. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1722.149.27, 2004-06-17 10:56:25-07:00, shemminger@osdl.org [SPARSE]: Add annotations to sock_filter.h Since sock_fprog is argument in ioctl, the filter pointer needs to be annotated. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.149.26, 2004-06-17 10:51:14-07:00, shemminger@osdl.org [SPARSE]: Get rid of warning in irtty_ioctl(). Don't really need verify_area because result of copy_to_user is checked. Add annotation to get rid of sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: Jean Tourrilhes Signed-off-by: David S. Miller ChangeSet@1.1722.155.3, 2004-06-17 11:09:05-05:00, stevef@stevef95.austin.ibm.com fix typo in cifs kernel config option title Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.154.10, 2004-06-17 13:57:37+01:00, dwmw2@shinybook.infradead.org Workaround for MPC826x PCI erratum #9. ChangeSet@1.1722.154.9, 2004-06-17 08:32:23+01:00, dwmw2@shinybook.infradead.org Change new Motorola copyright notices and email addresses to Freescale. Requested by Kumar Gala ChangeSet@1.1728.1.7, 2004-06-17 02:15:36-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7-mpparse into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.1.6, 2004-06-17 01:42:44-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.1.5, 2004-06-17 01:30:00-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.6 into intel.com:/home/lenb/src/linux-acpi-test-2.6.7 ChangeSet@1.1722.18.6, 2004-06-17 01:26:33-04:00, len.brown@intel.com [ACPI] Fix a lockup which Sid Boyce discovered with IOAPIC disabled. The problem was that drivers/serial/8250_acpi.c found COM1 in the ACPI namespace and called acpi_register_gsi() to set up its IRQ. ACPI tells us that the COM1 IRQ is edge triggered, active high, but acpi_register_gsi() was ignoring the edge_level argument, so it blindly set the COM1 IRQ to be level-triggered. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Andrew Morton ChangeSet@1.1722.18.3, 2004-06-17 01:15:58-04:00, len.brown@intel.com [ACPI] *** Warning: "acpi_register_gsi" [drivers/serial/8250_acpi.ko] undefined! Signed-off-by: Andrew Morton ChangeSet@1.1722.158.5, 2004-06-17 00:24:34-04:00, jgarzik@pobox.com [libata/IDE nvidia] shuffle pci ids * Mark conflicting PCI ids with CONFIG_BLK_DEV_IDE_SATA * Move not-yet-released PCI ids to libata sata_nv driver ChangeSet@1.1722.160.1, 2004-06-16 23:10:50-05:00, stevef@smfhome1.smfdom Fix /proc/fs/cifs/Stats to handle larger return data, and correct Kconfig reference to /proc/fs/cifs/Stats Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.159.1, 2004-06-16 21:05:55-07:00, davidm@tiger.hpl.hp.com Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5 into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5 ChangeSet@1.1722.111.13, 2004-06-16 20:53:53-07:00, davidm@tiger.hpl.hp.com ia64: Nuke two warnings in mca.c that showed in the simulator configuration. ChangeSet@1.1722.111.12, 2004-06-16 20:51:30-07:00, davidm@tiger.hpl.hp.com ia64: Fix ia32 partial-page-list code to compile cleanly in more configs. ChangeSet@1.1722.158.4, 2004-06-16 23:44:40-04:00, jgarzik@pobox.com [libata] put nvidia in Kconfig, in alphabetical order ChangeSet@1.1722.158.3, 2004-06-16 23:42:01-04:00, achew@nvidia.com [libata] Add NVIDIA SATA driver ChangeSet@1.1722.158.2, 2004-06-16 23:29:08-04:00, jgarzik@pobox.com [IDE] Introduce SATA enable/disable config option This config option is introduced to help reduce user confusion, and eliminate conflicts between the IDE driver (which is often built into user kernels) and the new libata SATA driver. ChangeSet@1.1722.1.41, 2004-06-16 19:57:30-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/via-rhine into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.1.40, 2004-06-16 19:56:25-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/via-gbit into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.1.38, 2004-06-16 19:54:04-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/misc-herbert into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.157.2, 2004-06-16 19:51:21-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/ip-copysum into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.111.11, 2004-06-16 16:51:07-07:00, jbarnes@engr.sgi.com [PATCH] ia64: update sn2_defconfig Small patch to update the sn2_defconfig file. I just did a 'make oldconfig' with the current sn2_defconfig and removed 8250 support. Signed-off-by: David Mosberger ChangeSet@1.1722.111.10, 2004-06-16 16:04:19-07:00, kaos@sgi.com [PATCH] ia64: Support SN platform specific error features The SN prom supports fine grained error handling features, the OS needs to tell the prom if the OS expects to use these platform specific features. Signed-off-by: Keith Owens Signed-off-by: David Mosberger ChangeSet@1.1722.154.8, 2004-06-17 00:01:45+01:00, dwmw2@shinybook.infradead.org Add support for i8259 IRQ controller on WindRiver PowerQUICC II ChangeSet@1.1722.154.7, 2004-06-16 23:56:26+01:00, dwmw2@shinybook.infradead.org PCI host bridge support for Motorola MPC826x ChangeSet@1.1722.154.6, 2004-06-16 23:37:43+01:00, dwmw2@shinybook.infradead.org PPC SBC82xx: Move RTC to 0xd0000000 to make room for PCI I/O stuff. ChangeSet@1.1722.154.5, 2004-06-16 23:31:12+01:00, dwmw2@shinybook.infradead.org Remove old MPC82xx (CPM2) uart driver ChangeSet@1.1722.154.4, 2004-06-16 23:29:15+01:00, dwmw2@shinybook.infradead.org UART driver for Motorola CPM/CPM2 I/O core on 8xx/8xxx chips. ChangeSet@1.1722.156.1, 2004-06-16 18:25:29-04:00, alan@redhat.com [PATCH] add new via-velocity gigabit ethernet driver Contributed by VIA, cleaned up by Alan. ChangeSet@1.1722.139.5, 2004-06-16 15:52:13-05:00, stevef@stevef95.austin.ibm.com fix throttle to limit number of requests to 50 on wire to server at one time. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.149.25, 2004-06-16 13:48:12-07:00, davem@nuts.davemloft.net [TCP]: No vegas by default just yet. ChangeSet@1.1722.149.24, 2004-06-16 13:42:46-07:00, kuznet@ms2.inr.ac.ru [NET]: In dst_ifdown(), synchronize_kernel() before dropping dev ref. ChangeSet@1.1722.154.3, 2004-06-16 19:22:55+01:00, dwmw2@shinybook.infradead.org PPC: Add support for ADS8272 board. From Kumar Gala ChangeSet@1.1722.149.23, 2004-06-16 11:18:42-07:00, dada1@cosmosbay.com [NET]: Tidy somaxconn sysctl doc. ChangeSet@1.1722.154.2, 2004-06-16 19:08:12+01:00, dwmw2@shinybook.infradead.org PPC: Move CPM2 common core routines to arch/ppc/syslib/ ChangeSet@1.1722.149.22, 2004-06-16 10:57:05-07:00, dlstevens@us.ibm.com [IPV4]: Fix interface selection in multicast sockops. ChangeSet@1.1722.154.1, 2004-06-16 18:56:31+01:00, dwmw2@shinybook.infradead.org PPC: Make Motorola CPM2 I/O core support more generic. It's used on more than one CPU. ChangeSet@1.1722.149.21, 2004-06-16 10:27:13-07:00, herbert@gondor.apana.org.au [NET]: Clear dev refs in dst->child. This is a resend of an earlier patch to dst_dev_event. I've changed it slightly by moving the input/output assignment into dst_ifdown. To recap, this patch drops lingering IPsec references to a device that is being unregistered. The child processing in the GC is too late since it never runs until the reference on the dst hits zero which could take a long time for things like TCP connections. The reason I've left the input/output assignment outside the loop is because they aren't really necessary for the IPsec dst's, and if it were in the loop then we'll have to do the same child processing in ___dst_free as well. I've tested this with an ESP/IPCOMP tunnel and I can confirm that it does fix the problem. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1722.149.20, 2004-06-16 10:23:42-07:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/net-2.6.8 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1722.146.4, 2004-06-16 11:36:45-05:00, jejb@mulgrave.(none) scsi_debug: num_parts, ptype and (re-)scans From: Douglas Gilbert Changes in version 1.73: - 'num_parts' parameter to specify 0 to 4 partitions - 'ptype' to specify (or change via sysfs) SCSI peripheral device type - support ability to increase the number of targets and/or luns then re-scan a scsi_debug host - remove redundant trailing spaces The new facilties are described at: http://www.torque.net/sg/sdebug26.html A tarball of driver (version 1.73) is also there. Signed-off-by: James Bottomley (conflict resolution) ChangeSet@1.1722.146.3, 2004-06-16 09:32:58-05:00, jejb@mulgrave.(none) SCSI: fix uninitialised variable warning Spotted By: Andrew Morton drivers/scsi/scsi_transport_spi.c: In function `spi_dv_retrain': drivers/scsi/scsi_transport_spi.c:393: warning: `period' might be used uninitialized in this function Signed-off-by: James Bottomley ChangeSet@1.1722.149.18, 2004-06-15 22:17:47-07:00, torvalds@ppc970.osdl.org Linux 2.6.7 TAG: v2.6.7