ChangeSet@1.1882, 2004-07-25 11:12:16-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: simplify and tighten sparse typechecking This takes advantage of the simplified typeof semantics of sparse address spaces, (should be enough for alpha, i386, ppc, ppc64, sparc, sparc64, x86_64 - most of them didn't actually need anything to be done) and couple of missing annotations that got caught by that. ChangeSet@1.1880, 2004-07-24 22:41:08-07:00, davem@nuts.davemloft.net [SCTP]: Fix mis-merge. ChangeSet@1.1879, 2004-07-24 22:31:11-07:00, anton@samba.org [NET]: Use NET_IP_ALIGN in acenic. Use NET_IP_ALIGN in acenic driver. Also remove the 16 byte padding, caches can be anywhere from 16 to 256 bytes and the skb should be cacheline aligned already. Signed-off-by: Anton Blanchard Signed-off-by: David S. Miller ChangeSet@1.1878, 2004-07-24 22:26:27-07:00, herbert@gondor.apana.org.au [AH6]: Replace skb by iph in clear_mutable_options. This patch replaces the skb argument in ipv6_clear_mutable_options() by an ipv6hdr. Doing so allows us to point skb->nh elsewhere when calling this function. I've also thrown in some obvious clean-ups for that function. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1877, 2004-07-24 22:24:48-07:00, herbert@gondor.apana.org.au [AH4]: Save daddr iff options are present. This is a little optimisation for AH4. When I moved the tunnel code out, I put the daddr copying code on the main path which is unnecessary since daddr is only mutable if IP options are present. This patch moves the saving and restoring of daddr under the check for the existence of IP options. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1876, 2004-07-24 22:19:43-07:00, davem@nuts.davemloft.net Cset exclude: shemminger@osdl.org|ChangeSet|20040722205059|21273 ChangeSet@1.1875, 2004-07-24 22:17:10-07:00, davem@nuts.davemloft.net Merge conflicts with Yoshfuji's SNMP stats changes. ChangeSet@1.1874, 2004-07-24 22:01:14-07:00, kaber@trash.net [IPV4/IPV6]: Add myself to MAINTAINERS. ChangeSet@1.1865.1.4, 2004-07-24 21:51:58-07:00, torvalds@ppc970.osdl.org ppc64: fix more 0/NULL confusion ChangeSet@1.1865.1.3, 2004-07-24 09:39:20-07:00, anton@samba.org [PATCH] ppc64: exception path optimisations - We were statically predicting syscalls would be 32bit which meant every 64bit syscall was guaranteed to be mispredicted. Just let the hardware predict this one. - We shouldnt use blrl for indirect function calls, it is unlikely to be predicted correctly and corrupts the link prediction stack. We should use bctrl instead. - Statically predict a branch in the system call path, favouring calls from userspace. - Remove static prediction in pagefault path, hardware prediction should do a better job here. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.1865.1.2, 2004-07-24 09:38:05-07:00, anton@samba.org [PATCH] Fix ppc64 max_pfn issue - again It turns out in the non NUMA case, max_low_pfn doesnt get initialised until init_bootmem so we need to move initialisation of max_pfn below it. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.1865.1.1, 2004-07-23 22:18:59-07:00, anton@samba.org [PATCH] Fix ppc64 max_pfn issue I noticed excessive time in the pid hash functions on a ppc64 box. It turns out the pid hash is being sized way too small, eg on a 16GB box: PID hash table entries: 16 (order 4: 256 bytes) The reason is that the pid hash init function uses max_pfn before it was setup on ppc64. With the following patch things are good again: PID hash table entries: 4096 (order 12: 65536 bytes) Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.1846.1.6, 2004-07-23 16:41:31-07:00, sri@us.ibm.com [SCTP] Mark chunks as ineligible for fast retransmit after they are retransmitted. Also mark any chunks that could not be fit in the PMTU sized packet as ineligible for fast retransmit. Signed-off-by: Sridhar Samudrala ChangeSet@1.1872, 2004-07-23 14:14:25-07:00, shemminger@osdl.org [NET]: eql sparse cleanup. Minor 0 vs NULL cleanup Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1871, 2004-07-23 14:12:36-07:00, shemminger@osdl.org [IPVS]: Convert to module_param. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1870, 2004-07-23 13:46:55-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Alpha not studly enough for SCH_CLK_CPU. The cycle counter it provides overflows very quickly, on the order of 10 minutes, so it is not suitable for this purpose. Signed-off-by: David S. Miller ChangeSet@1.1869, 2004-07-23 13:45:21-07:00, kaber@trash.net [PKT_SCHED]: Make clock source configurable Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1868, 2004-07-23 13:26:52-07:00, herbert@gondor.apana.org.au [AH6]: Disallow mutable bits after AH header. As we discussed before, mutable headers should not be allowed after the AH header. In fact, this appears to be the intention of RFC 2402. It is further clarified in section 3.1.1 of http://www.ietf.org/internet-drafts/draft-ietf-ipsec-rfc2402bis-07.txt This allows us to simplify the code in ah6.c. As a result, this also fixes the following issues: * Dependence on skb->h in ah6_output(). * Bogus clearing of auth_data of 2nd AH header in ipv6_clear_mutable_options(). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1867, 2004-07-23 13:23:48-07:00, herbert@gondor.apana.org.au [IPSEC]: Missing unlock in policy timer. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1865, 2004-07-23 10:26:36-07:00, davidm@napali.hpl.hp.com [PATCH] NX: allow architectures to select legacy mode dynamically On some platforms, you'll want to support READ_IMPLIES_EXEC differently depending on personality (e.g, native binary vs. x86 binary). This supports that (and makes the code more readable while at it) by replacing the old architecture-specific fixed LEGACY_BINARIES macro define with a architecture-specific "elf_read_implies_exec_binary()" helper function. For now, x86 is the only user, and sets the "read implies exec" bit for legacy apps. ia64 and x86-64 are likely to want to do their own thing. Acked by Ingo. Signed-off-by: Linus Torvalds ChangeSet@1.1846.1.5, 2004-07-22 23:22:01-07:00, sri@us.ibm.com [SCTP] Fix missing '+' in the computation of sack chunk size in sctp_sm_pull_sack(). Signed-off-by: Jorge Hernandez Signed-off-by: Sridhar Samudrala ChangeSet@1.1846.1.4, 2004-07-22 23:18:24-07:00, sri@us.ibm.com [SCTP] Use idr_get_new_above() with a starting id of 1 to avoid returning an associd of 0. Signed-off-by: Sridhar Samudrala ChangeSet@1.1846.1.3, 2004-07-22 23:15:55-07:00, sri@us.ibm.com [SCTP] Fix issues with handling stale cookie error over multihoming associations. Signed-off-by: Jorge Hernandez Signed-off-by: Sridhar Samudrala ChangeSet@1.1846.1.2, 2004-07-22 23:13:05-07:00, sri@us.ibm.com [SCTP] Fix data not being delivered to user in SHUTDOWN_SENT state. Also cleaned up sctp_sf_eat_data_6_2() and sctp_sf_eat_data_fast_4_4() as they have a lot of common code. Signed-off-by: Jorge Hernandez Signed-off-by: Sridhar Samudrala ChangeSet@1.1846.1.1, 2004-07-22 23:09:04-07:00, sri@us.ibm.com [SCTP] Set/Get default SCTP_PEER_ADDR_PARAMS for endpoint when associd and peer address are 0. Signed-off-by: Anand R. Setlur Signed-off-by: Sridhar Samudrala ChangeSet@1.1864, 2004-07-22 18:38:29-07:00, torvalds@ppc970.osdl.org Make "install_page()" able to handle truncated pages. This makes it much easier on the callers, no need to worry about races with vmtruncate() and friends, since "install_page()" will just cleanly handle that case and tell the caller about it. ChangeSet@1.1863, 2004-07-22 17:26:50-07:00, apw@shadowen.org [PATCH] is_highmem() and WANT_PAGE_VIRTUAL Add is_highmem_idx() and is_normal_idx() to determine whether a zone index is a highmem or normal zone. Use this for memmap_init_zone(). Signed-off-by: Andy Whitcroft Signed-off-by: Linus Torvalds ChangeSet@1.1858.1.2, 2004-07-22 17:20:03-07:00, kaber@trash.net [PKT_SCHED]: Use get_cycles() for PSCHED_CPU clock source Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1862, 2004-07-22 17:14:12-07:00, Roman.Fietze@telemotive.de [PATCH] clean up n_tty alloc_buf() Don't bother zeroing the allocated memory inside alloc_buf() in the n_tty line discipline. alloc_buf() is static inline and is only referenced by n_tty_open() which always clears the memory (once more). No bug, just a minor cleanup ChangeSet@1.1861, 2004-07-22 17:14:00-07:00, linux@dominikbrodowski.de [PATCH] Asus M2N notebook hides SMBus device Asus also "hides" the LPC bridge on M2N notebooks. Add it to the asus_hides_smbus PCI quirk. Fixes bug #2976 @ http://bugme.osdl.org/show_bug.cgi?id=2976 Signed-off-by: Dominik Brodowski Signed-off-by: Linus Torvalds ChangeSet@1.1858.1.1, 2004-07-22 17:13:11-07:00, kaber@trash.net [PKT_SCHED]: Remove dead timer code. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1860, 2004-07-22 17:01:38-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] Missing mnt_namespace update in copy_namespace() copy_namespace() forgets to switch the new 'mnt_namespace' field in the vfsmounts of the new namespace. ChangeSet@1.1858, 2004-07-22 14:01:38-07:00, davem@nuts.davemloft.net [TCP]: Do not overflow 16-bit window field in tcp_select_window(). Signed-off-by: David S. Miller ChangeSet@1.1857, 2004-07-22 13:50:59-07:00, shemminger@osdl.org [PKT_SCHED]: Fix pkt_cls.h incompatabilities The recent changes to (6 Jul 04) pkt_cls.h are evil, you can't build a version of 'tc' to work unless you know the kernel config! It has several API problems: - API data structures change on kernel config options - new fields should be added at the end of a structure to allow binary compatibility. This patch tries to clean this up. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1856, 2004-07-22 12:16:19-07:00, herbert@gondor.apana.org.au [INET]: Create enum of ECN bits This patch is a preparation for an update of the ECN encap/decap code with respect to RFC3168. It creates an enum of the four code-points defined by RFC3168 and uses them throughout the inet_ecn.h file. The only non-trivial bit is in IP_ECN_set_ce/IP6_ECN_set_ce where the patch uses INET_ECN_CE instead of 1. This is OK as those functions assume that the ECT bit is already set. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1855, 2004-07-22 12:14:36-07:00, herbert@gondor.apana.org.au [IPSEC]: Fix IPCOMP6 ICMP type check. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1854, 2004-07-21 17:18:28-07:00, davem@nuts.davemloft.net [ATM]: Update Marko Kiiskila's email address. ChangeSet@1.1853, 2004-07-21 16:47:01-07:00, davem@nuts.davemloft.net [IPV4]: Make raw sockets behave like udp wrt. MSG_TRUNC. ChangeSet@1.1852, 2004-07-21 16:08:53-07:00, chas@relax.cmd.nrl.navy.mil [ATM]: use try_module_get appropriately (from Stephen Hemminger ) ChangeSet@1.1851, 2004-07-21 15:55:16-07:00, davem@nuts.davemloft.net Merge bk://bk.skbuff.net:20608/linux-2.6-dgramconnect/ into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1848.1.7, 2004-07-21 14:51:31-07:00, herbert@gondor.apana.org.au [CRYPTO]: Fix stack overrun in crypt(). The stack allocation in crypt() is bogus as whether tmp_src/tmp_dst is used is determined by factors unrelated to nbytes and src->length/dst->length. Since the condition for whether tmp_src/tmp_dst are used is very complex, let's allocate them always instead of guessing. This fixes a number of weird crashes including those AES crashes that people have been seeing with the 2.4 backport + ipt_conntrack. Signed-off-by: Herbert Xu Signed-off-by: James Morris Signed-off-by: David S. Miller ChangeSet@1.1848.2.7, 2004-07-21 14:27:07-07:00, wli@holomorphy.com [SPARC32]: Mark William Lee Irwin III as maintainer. ChangeSet@1.1848.1.6, 2004-07-21 13:51:01-07:00, Samuel.Thibault@ens-lyon.fr [UDP]: Return true length if user specifies MSG_TRUNC. ChangeSet@1.1848.2.6, 2004-07-21 13:44:37-07:00, tcallawa@redhat.com [SPARC]: Add pci_dma_mapping_error to pci.h Signed-off-by: Tom Callaway Signed-off-by: David S. Miller ChangeSet@1.1848.2.5, 2004-07-21 13:42:08-07:00, tcallawa@redhat.com [SPARC]: Fix copy_user.S with gcc 3.3 Signed-off-by: Tom Callaway Signed-off-by: David S. Miller ChangeSet@1.1848.1.5, 2004-07-21 13:41:01-07:00, shemminger@osdl.org [IPV6]: Missing sparse annotation in addrconf. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1848.1.4, 2004-07-21 13:34:49-07:00, shemminger@osdl.org [PKT_SCHED]: Need delayed packet limit in sch_netem. The netem scheduler needs to limit its delayed packet queue to prevent a application burst from chewing up too much memory. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1848.1.3, 2004-07-21 13:33:42-07:00, shemminger@osdl.org [PKT_SCHED]: Missing qdisc destroy in sch_netem. The underlying qdisc was not being properly destroyed, shows up as assertion failure on device removal. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1848.1.2, 2004-07-21 13:31:05-07:00, shemminger@osdl.org [PKT_SCHED]: Make sch_netem classful. Simple enhancement to netem packet scheduler that makes it classful so that the underlying pfifo default discipline can be substituted with something else (tbf, red, ...) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1848.2.4, 2004-07-21 13:27:12-07:00, dave@thedillows.org [SPARC64]: Handle SBUS dma allocations larger than 1MB. Signed-off-by: David Dillow Signed-off-by: David S. Miller ChangeSet@1.1848.2.3, 2004-07-21 13:12:56-07:00, davem@nuts.davemloft.net [SPARC64]: Fix allnoconfig build, based upon a patch from Roland Dreier. - Make SUNOS_EMUL depend upon BINFMT_AOUT32 - Make SOLARIS_EMUL depend upon SPARC32_COMPAT - Add CONFIG_COMPAT guards, where necessary. Signed-off-by: David S. Miller ChangeSet@1.1848.2.2, 2004-07-20 15:57:37-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1848.2.1, 2004-07-20 15:55:45-07:00, davem@nuts.davemloft.net [SPARC64]: Export __copy_in_user to modules. ChangeSet@1.1848.1.1, 2004-07-20 14:55:45-07:00, davem@nuts.davemloft.net Merge bk://bk.skbuff.net:20608/linux-2.6-snmp-20040708 into nuts.davemloft.net:/disk1/BK/snmp-2.6 ChangeSet@1.1850, 2004-07-19 23:25:15+09:00, yoshfuji@linux-ipv6.org [IPV6] remove rather pointless comment. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1849, 2004-07-19 23:16:36+09:00, yoshfuji@linux-ipv6.org [IPV4] Look up route with appropriate protocol when we connect(). Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1848, 2004-07-18 09:08:19-07:00, mingo@elte.hu [PATCH] NX: clean up legacy binary support This cleans up legacy x86 binary support by introducing a new personality bit: READ_IMPLIES_EXEC, and implements Linus' suggestion to add the PROT_EXEC bit on the two affected syscall entry places, sys_mprotect() and sys_mmap(). If this bit is set then PROT_READ will also add the PROT_EXEC bit - as expected by legacy x86 binaries. The ELF loader will automatically set this bit when it encounters a legacy binary. This approach avoids the problems the previous ->def_flags solution caused. In particular this patch fixes the PROT_NONE problem in a cleaner way (http://lkml.org/lkml/2004/7/12/227), and it should fix the ia64 PROT_EXEC problem reported by David Mosberger. Also, mprotect(PROT_READ) done by legacy binaries will do the right thing as well. the details: - the personality bit is added to the personality mask upon exec(), within the ELF loader, but is not cleared (see the exceptions below). This means that if an environment that already has the bit exec()s a new-style binary it will still get the old behavior. - one exception are setuid/setgid binaries: these will reset the bit - thus local attackers cannot manually set the bit and circumvent NX protection. Legacy setuid binaries will still get the bit through the ELF loader. This gives us maximum flexibility in shaping compatibility environments. - selinux also clears the bit when switching SIDs via exec(). - x86 is the only arch making use of READ_IMPLIES_EXEC currently. Other arches will have the pre-NX-patch protection setup they always had. I have booted an old distro [RH 7.2] and two new PT_GNU_STACK distros [SuSE 9.2 and FC2] on an NX-capable CPU - they work just fine and all the mapping details are right. I've checked the PROT_NONE test-utility as well and it works as expected. I have checked various setuid scenarios as well involving legacy and new-style binaries. an improved setarch utility can be used to set the personality bit manually: http://redhat.com/~mingo/nx-patches/setarch-1.4-3.tar.gz the new '-X' flag does it, e.g.: ./setarch -X linux /bin/cat /proc/self/maps will trigger the old protection layout even on a new distro. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds ChangeSet@1.1847, 2004-07-18 09:06:48-07:00, eger@havoc.gtf.org [PATCH] pmac_zilog: serial minors taken failure path fix I've tracked down the core issue giving me the oops wrt pmac_zilog. When you have two serial drivers, (e.g. 8250 and PMAC_ZILOG) they both say "I want to reserve X ports starting with major TTY_MAJOR and minor 64". By the time pmac_zilog gets there, the ports it requests are already reserved. Unfortunately, init_pmz() doesn't check for pmz_register() failure, and so it merrily goes on to register the half-initialized pmac_zilog driver with the power management subsystem. This path provides a proper failure path. Also: Restore ppc configs now that I know people use AT Keyboards on CHRP and PReP machines, and the zilog driver is no longer Oops'ing. Signed-off-by: David Eger Signed-off-by: Linus Torvalds ChangeSet@1.1846, 2004-07-17 21:52:45-07:00, torvalds@ppc970.osdl.org Linux 2.6.8-rc2 Ready for the kernel summit in Ottawa... TAG: v2.6.8-rc2