ChangeSet@1.1836, 2004-05-31 22:36:02-07:00, joern@wohnheim.fh-wedel.de [PATCH] Improve `make checkstack' On i386, stack usually grows with "sub $0x8,%esp" and shrinks with "add $0x8,%esp" respectively. In some cases, though, stack grows with "add $0xffffff80,%esp" and shrinks with "sub $0xffffff80,%esp". Obviously, we don't want to miss those cases. Since in either case add and sub seem to be balanced and contain the same parameter, we don't need a second regex. We simply accept hex numbers of up to 8 digits and treat them as negative numbers when the sub appears to be a little too high. ...or so I thought. But another day of testing proved me wrong again. Some functions do stuff like "sub $0x10,%esp", ..., "add $0x20,%esp". In other words, add and sub are *NOT* balanced. Manual inspection showed that 0x20 is a more realistic number, so I accept either variant, just in case. We pay for this with a bunch of duplicates in our output, but that beats missing some stack hogs. In the long run, this script has to be replaced by gcc options, really. Looking at the result and guessing back is such a stupid idea. Signed-off-by: Jörn Engel ChangeSet@1.1822.2.6, 2004-05-31 23:01:40-04:00, willy@debian.org [PATCH] Better tulip handling on PA-RISC This patch improves some of the handling of PA-RISC tulip cards. - Introduce HAS_SWAPPED_SEEPROM and NEEDS_FAKE_MEDIA_TABLE - Only trigger this code on GSC machines. The pure PCI machines don't have these cards. - Allow the chip_name to be overridden in tulip_init_one(). - Fix some indentation. - Handle the output from tulip_read_eeprom() better. ChangeSet@1.1822.2.5, 2004-05-31 23:01:28-04:00, khc@pm.waw.pl [PATCH] Re: [Fwd: [PATCH] Stop queue on close in hdlcdrv] > From: Ralf Baechle > Subject: [PATCH] Stop queue on close in hdlcdrv > To: Jeff Garzik > Date: Tue, 4 May 2004 13:59:15 +0200 > > The stop method of a driver should ensure queueing is stopped ... > > diff -u -r1.19 hdlcdrv.c > --- suckage/drivers/net/hamradio/hdlcdrv.c 12 Apr 2004 20:23:32 -0000 the above means the following is needed for my drivers - please apply to 2.6: ChangeSet@1.1822.2.4, 2004-05-31 23:01:17-04:00, hch@lst.de [PATCH] farsync needs i386 gets it implicitly from somewhere but some architectures don't. Also move down so we have asm after linux headers. ChangeSet@1.1822.2.3, 2004-05-31 23:01:07-04:00, akpm@osdl.org [PATCH] s2io section fix s2io_rem_nic() is marked __exit and is being referred to from .data. Signed-off-by: Andrew Morton ChangeSet@1.1822.2.2, 2004-05-31 23:00:56-04:00, akpm@osdl.org [PATCH] fix net/ixgb/ixgb_main.c warning From: "Luiz Fernando N. Capitulino" drivers/net/ixgb/ixgb_main.c: In function `ixgb_intr': drivers/net/ixgb/ixgb_main.c:1593: warning: unused variable `hw' (catch by J. Cherry). This happens because `hw' is only used when CONFIG_IXGB_NAPI is not set. As `hw' is used only to have the code readable, we can use it for !CONFIG_IXGB_NAPI too. Signed-off-by: Andrew Morton ChangeSet@1.1833, 2004-05-31 19:08:20-07:00, davem@nuts.davemloft.net [SPARC]: First stage of sparc32 sparse work. ChangeSet@1.1827.1.1, 2004-05-31 18:03:02-07:00, davem@kernel.bkbits.net Merge http://linux-mh.bkbits.net/bluetooth-2.6 into kernel.bkbits.net:/home/davem/bluetooth-2.6 ChangeSet@1.1822.1.5, 2004-05-31 17:09:43-07:00, davem@nuts.davemloft.net [SPARC]: Set sparse arch defines explicitly. ChangeSet@1.1829, 2004-05-31 16:56:32-07:00, akpm@osdl.org [PATCH] ppc32: reorg DMA API, add coherent alloc in irq From: Eugene Surovegin Put back DECLARE_PCI_UNMAP_??? and friends accidentaly removed during DMA API reorganization. Signed-off-by: Eugene Surovegin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1822.1.4, 2004-05-31 16:25:51-07:00, davem@nuts.davemloft.net [SPARC64]: Lots of sparse work for arch/sparc64. ChangeSet@1.1827, 2004-05-31 15:18:46-07:00, torvalds@ppc970.osdl.org sparse: make x86 and ppc64 set the architecture-specific #define's explcitly. sparse doesn't set any arch defines itself. ChangeSet@1.1826, 2004-05-31 15:11:45-07:00, petero2@telia.com [PATCH] Avoid excessive stack usage in NFS Assigning '*wdata' with a dynamic initializer creates a temporary structure copy on the stack, and then the final data is initialized with a "memcpy()". As a result, these NFS functions use more than 800 bytes of stack-space. Changing the code to just do a memset followed by explicit initialization of the non-zero member variables takes the stack usage down to 36 bytes. Here is a patch that does exactly that. ChangeSet@1.1822.1.3, 2004-05-31 14:44:34-07:00, davem@nuts.davemloft.net [SPARC64]: __volatile --> __volatile__ ChangeSet@1.1822.1.2, 2004-05-31 14:41:04-07:00, davem@nuts.davemloft.net [SPARC64]: Annotate 64-bit constants with 'UL' ChangeSet@1.1608.4.13, 2004-05-31 23:34:49+02:00, marcel@holtmann.org [Bluetooth] Add quirk for broken RTX Telecom based dongles Some RTX Telecom based USB dongles offer SCO support, but their implementation is broken. This patch disables the use of the ISOC interface for these devices. ChangeSet@1.1608.4.12, 2004-05-31 23:02:50+02:00, marcel@holtmann.org [Bluetooth] Add dynamic channel allocation for RFCOMM server sockets If no channel is specified for a RFCOMM server socket, it will search for the next free one and automaticly bind to it. Proposed by Stephen Crane ChangeSet@1.1608.4.11, 2004-05-31 22:52:34+02:00, marcel@holtmann.org [Bluetooth] Add dynamic PSM allocation for L2CAP server sockets If no PSM is specified for a L2CAP server socket, it will search for the next free one and automaticly bind to it. Proposed by Stephen Crane ChangeSet@1.1608.4.10, 2004-05-31 22:44:36+02:00, marcel@holtmann.org [Bluetooth] Allocate protocol number for HIDP support This patch allocates the next free protocol number for the upcoming HIDP support. ChangeSet@1.1608.4.9, 2004-05-31 22:34:23+02:00, marcel@holtmann.org [Bluetooth] Update Kconfig help entries This patch updates the address of the BlueZ project and changes some wording of the help entries. ChangeSet@1.1608.4.8, 2004-05-31 22:16:59+02:00, marcel@holtmann.org [Bluetooth] Remove CVS tags and cleanup the code Since we are using Bitkeeper the CVS tags are useless. This patch removes them and makes some whitespace cleanups. ChangeSet@1.1822.1.1, 2004-05-31 13:06:15-07:00, davem@nuts.davemloft.net [SPARC64]: Fix NR_IRQS check in hardirq.h ChangeSet@1.1825, 2004-05-31 12:35:54-07:00, torvalds@ppc970.osdl.org ppc64: more user address fixups. Removed one (harmless) direct user pointer access. ChangeSet@1.1824, 2004-05-31 12:21:49-07:00, torvalds@ppc970.osdl.org ppc64: add more user annotations to ptrace.c ChangeSet@1.1823, 2004-05-31 12:17:16-07:00, torvalds@ppc970.osdl.org ppc64: fix more user pointers in signal handling ChangeSet@1.1608.4.7, 2004-05-31 21:04:38+02:00, marcel@holtmann.org [Bluetooth] Move function exports out of syms.c With Linux 2.6 there is no need to keep the function exports in a central file and thus the use of syms.c makes no real sense. Remove it and add the EXPORT_SYMBOL calls to the functions they belong to. ChangeSet@1.1822, 2004-05-31 11:19:40-07:00, torvalds@ppc970.osdl.org sparse: make x86 user pointer checks stricter. Also use "__force" when forcing the user address to "unsigned long" for the address limit check. ChangeSet@1.1821, 2004-05-31 10:41:08-07:00, torvalds@ppc970.osdl.org ppc64: missing __user annotations noticed by stricter checks. ChangeSet@1.1820, 2004-05-31 10:39:30-07:00, torvalds@ppc970.osdl.org ppc64: check more of the user access functions for proper arguments. ChangeSet@1.1819, 2004-05-31 10:38:48-07:00, torvalds@ppc970.osdl.org sparse: add "__force" type attribute for forcing a cast. ChangeSet@1.1818, 2004-05-31 09:59:55-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: asus_acpi dereference of userland pointers Direct sscanf() on userland buffer in procfs ->write_proc(). Fixed. ChangeSet@1.1816.2.2, 2004-05-31 11:47:23+01:00, rmk@flint.arm.linux.org.uk [ARM] Correct permissions on several ARMv6 files. ChangeSet@1.1816.2.1, 2004-05-31 11:41:16+01:00, rmk@flint.arm.linux.org.uk [ARM] Eliminate meminfo 'end' element Some machines decided to initialise this element. It's not necessary since find_memend_and_nodes() initialises this itself. However, 'end' is not required if we initialise high_memory in this function rather than waiting until mem_init() is called. ChangeSet@1.1816.1.1, 2004-05-31 11:15:46+01:00, rmk@flint.arm.linux.org.uk [PCMCIA] Fix up SOC PCMCIA socket timing calculations The timing calculations used by the PXA platforms did not always take account of the timings handed to us by PCMCIA, and where it did, it assumed IO timings for memory windows. We fix this, and provide a generic function which calculates the required timings (in nanoseconds) for IO, memory and attribute windows. The SOC drivers only have to convert this information to whatever format the hardware requires to achieve at least these timing parameters. ChangeSet@1.1817, 2004-05-31 00:38:17-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: reiserfs annotation Everything straigthforward and takes care of almost all sparse warnings in fs/reiserfs/*. ChangeSet@1.1816, 2004-05-30 23:17:04-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] trivial annotation for arch/i386/kernel/* Several places in arch/i386/kernel were still un-annotated - they didn't trip copy_.._user(), so they stayed alive. Caught and killed. That's not all - there's a big cluster of them in vm86.c, but I haven't looked into that code yet. ChangeSet@1.1815, 2004-05-30 22:00:08-07:00, torvalds@ppc970.osdl.org ppc64: mark the "regshere" marker with proper type information. ChangeSet@1.1814, 2004-05-30 21:35:38-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: the rest of it A bunch of "return in void function" dealt with, removed bogus extern from definition of __load_new_mm_context(), sanitized fscking ugly CROSS_64K() helper (even if sparse doesn't segfault on that anymore, it's _still_ fscking ugly). ChangeSet@1.1813, 2004-05-30 21:34:09-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: utimes() ... and that's where I'd found do_utimes() crap before I went grepping ;-) ChangeSet@1.1812, 2004-05-30 21:33:58-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: trivial parts of __user annotation Trivial stuff in arch/alpha annotated; in two cases of osf_proplist_syscall() dereferencing userland pointers replaced with get_user ChangeSet@1.1811, 2004-05-30 21:33:47-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: #if abuses #if where #ifdef should've been ChangeSet@1.1810, 2004-05-30 21:33:36-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: long constants Long constants marked as such ChangeSet@1.1809, 2004-05-30 21:33:26-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse alpha: beginning of __user annotation Copying primitives annotated. ChangeSet@1.1808, 2004-05-30 21:33:10-07:00, torvalds@ppc970.osdl.org ppc64: more explicitly typed constants ChangeSet@1.1803.5.20, 2004-05-30 20:09:42-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: SIOCGIFCONF handling - the rest of it Fixed the type of SIOCGIFCONF callback; inet instance was already correctly annotated, decnet one was _not_. Moreover, decnet callback needed fixing - dereferencing userland address. ChangeSet@1.1803.5.19, 2004-05-30 20:09:31-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: tty_driver ->write_proc() Made ->write_proc in tty_driver suitable for procfs write callback ChangeSet@1.1803.5.18, 2004-05-30 20:09:21-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: n_tty annotation n_tty annotated, ldisc_struct ->read() and ->write() got __user on their buf argument. ChangeSet@1.1803.5.17, 2004-05-30 20:09:10-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: vt and friends vt, vt_ioctl, consolemap and selection annotated, struct unimapdesc and struct consolefontdesc got __user on their pointer members. ChangeSet@1.1803.5.16, 2004-05-30 20:08:59-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: tty_ioctl annotation tty_ioctl.c annotation ChangeSet@1.1803.5.15, 2004-05-30 20:08:48-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: tty_io annotation tty_io.c annotated ChangeSet@1.1803.5.14, 2004-05-30 20:08:37-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: fs/compat.c::copy_iocb() cleanup That "u64" in there is actually struct iocb __user *. Changed prototype, killed casts in body and caller... ChangeSet@1.1803.5.13, 2004-05-30 20:08:26-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 - rest return void in floppy.h and "conditionally long" constants in page.h. Would be useful to teach as(1) about C notation for long... ChangeSet@1.1803.5.12, 2004-05-30 20:08:15-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 - long constants Long constants marked as such. ChangeSet@1.1803.5.11, 2004-05-30 20:08:04-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 - #if abuse fixes #if where #ifdef should've been. Fixed. ChangeSet@1.1803.5.10, 2004-05-30 20:07:53-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 - more trivial annotations ChangeSet@1.1803.5.9, 2004-05-30 20:07:42-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 annotations - trivial part Annotation of amd64 code - just adding __user where needed... ChangeSet@1.1803.5.8, 2004-05-30 20:07:30-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: amd64 annotation - beginning Annotated basic primitives (copy_.._user, get_user, ...). Functions got __user in prototypes, macros (in uaccess.h) got a conditional check - see CHECK_UPTR() below. If you have more elegant way to deal with the macros - please, tell. ChangeSet@1.1803.5.7, 2004-05-30 20:07:19-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: net/* non-ANSI argument lists ChangeSet@1.1803.5.6, 2004-05-30 20:07:08-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: more net/* annotation Annotation of net/* ...copy... that deals with userland pointers + several bits that fell out of previous patch (trivial annotations) ChangeSet@1.1803.5.5, 2004-05-30 20:06:56-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: trivial part of net/* annotation ChangeSet@1.1803.5.4, 2004-05-30 20:06:44-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: missed piece of sock_get_timestamp() annotation ChangeSet@1.1803.5.3, 2004-05-30 20:06:33-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: dev_ioctl() callers dev_ioctl() has a __user pointer argument; however, its declaration lacks that and callers are also wrong. Declaration fixed, callers updated. ChangeSet@1.1803.5.2, 2004-05-30 20:06:21-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: missed setsockopt wrappers Here's the tail of setsockopt I've missed - for old protocol families we have wrappers around those methods. ChangeSet@1.1803.5.1, 2004-05-30 20:01:28-07:00, ak@suse.de [PATCH] Fix compilation on x86-64 I managed to break compilation with my last patch with a last minute edit. ChangeSet@1.1803.3.1, 2004-05-30 19:12:54-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Missing rta_len init in sch_delay. ChangeSet@1.1803.2.2, 2004-05-30 17:43:22-07:00, davem@nuts.davemloft.net [SPARC]: Do tty_flip_buffer_push outside of port lock. ChangeSet@1.1803.2.1, 2004-05-30 17:39:32-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1803.1.6, 2004-05-30 12:50:19-07:00, torvalds@ppc970.osdl.org ppc64: use "ASM_CONST()" to give proper C type to constants that can also be used in assembly language context. This one fixes the common CPU_FTR_COHERENT_ICACHE warning in asm/cacheflush.h. ChangeSet@1.1803.1.5, 2004-05-30 11:55:25-07:00, ak@suse.de [PATCH] Really fix empty node 0 on x86-64 x86-64 shares some numa code with i386, and that didn't handle holes in the node map properly. Fix this. ChangeSet@1.1803.1.4, 2004-05-30 11:55:13-07:00, ak@suse.de [PATCH] x86-64 update Add accumulated bug fixes for x86-64 and some minor cleanups. - Add ptep_set_access_flags from i386 - Change memory text mapping to 10MB from 40MB to make alias window smaller - Disable change_page_attr for kernel mapoing for now (wrong, but the other code also doesn't work) - Add .bss.page_aligned and align interrupt/exception stacks (idea from Matt Mackall) - Protect sysenter MSR setup against missing registers. - Set mce tolerance level to 1 (panic instead of deadlock) - Fix cross 4GB bug in find_first_bit (Michael Matz) - Add missing memory clobbers in bitops.h (Suresh B. Siddha) - Check kernel size at boot up - Set boot cpu online at boot to fix early printk - Fix EFER bit definitions (Dave Jones) - Fix comments in 32bit syscall table. - Quieten all 32bit syscalls that are unimplemented in 32bit. - Various MCE fixes suggested by Eric Morton, David Boles et.al. More to come. - Quieten some printks - Fix cpu online check in msr driver - Lower polling interval for machine checks to 5 minutes to avoid overrunning the registers. - Make memcpy_{from,to}io more compatible with i386 (Roland Dreier) ChangeSet@1.1803.1.3, 2004-05-30 11:47:20-07:00, torvalds@ppc970.osdl.org ppc64: fix untyped large constants so that they don't cause sparse to warn about implicit typing. ChangeSet@1.1803.1.2, 2004-05-30 11:10:51-07:00, torvalds@ppc970.osdl.org Add __user annotations to sock_get_timestamp() ChangeSet@1.1803.1.1, 2004-05-30 10:32:16-07:00, pepe@attika.ath.cx [PATCH] make vram boot option actually work The following patch makes the vram boot option actually be recognized and its value assigned to the vram variable. Signed-off-by: Linus Torvalds ChangeSet@1.1804, 2004-05-30 14:40:37+01:00, rmk@flint.arm.linux.org.uk [ARM] Add two more missing __user annotations for sparse. ChangeSet@1.1803, 2004-05-29 23:24:11-07:00, torvalds@ppc970.osdl.org Linux 2.6.7-rc2 TAG: v2.6.7-rc2