17 Jun, 2009

4 commits

  • Connections that have seen a connection-level abort should not be reused
    as the far end will just abort them again; instead a new connection
    should be made.

    Connection-level aborts occur due to such things as authentication
    failures.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * akpm: (182 commits)
    fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset
    fbdev: *bfin*: fix __dev{init,exit} markings
    fbdev: *bfin*: drop unnecessary calls to memset
    fbdev: bfin-t350mcqb-fb: drop unused local variables
    fbdev: blackfin has __raw I/O accessors, so use them in fb.h
    fbdev: s1d13xxxfb: add accelerated bitblt functions
    tcx: use standard fields for framebuffer physical address and length
    fbdev: add support for handoff from firmware to hw framebuffers
    intelfb: fix a bug when changing video timing
    fbdev: use framebuffer_release() for freeing fb_info structures
    radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?
    s3c-fb: CPUFREQ frequency scaling support
    s3c-fb: fix resource releasing on error during probing
    carminefb: fix possible access beyond end of carmine_modedb[]
    acornfb: remove fb_mmap function
    mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF
    mb862xxfb: restrict compliation of platform driver to PPC
    Samsung SoC Framebuffer driver: add Alpha Channel support
    atmel-lcdc: fix pixclock upper bound detection
    offb: use framebuffer_alloc() to allocate fb_info struct
    ...

    Manually fix up conflicts due to kmemcheck in mm/slab.c

    Linus Torvalds
     
  • num_online_nodes() is called in a number of places but most often by the
    page allocator when deciding whether the zonelist needs to be filtered
    based on cpusets or the zonelist cache. This is actually a heavy function
    and touches a number of cache lines.

    This patch stores the number of online nodes at boot time and updates the
    value when nodes get onlined and offlined. The value is then used in a
    number of important paths in place of num_online_nodes().

    [rientjes@google.com: do not override definition of node_set_online() with macro]
    Signed-off-by: Christoph Lameter
    Signed-off-by: Mel Gorman
    Cc: KOSAKI Motohiro
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Nick Piggin
    Cc: Dave Hansen
    Cc: Lee Schermerhorn
    Signed-off-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)
    signal: fix __send_signal() false positive kmemcheck warning
    fs: fix do_mount_root() false positive kmemcheck warning
    fs: introduce __getname_gfp()
    trace: annotate bitfields in struct ring_buffer_event
    net: annotate struct sock bitfield
    c2port: annotate bitfield for kmemcheck
    net: annotate inet_timewait_sock bitfields
    ieee1394/csr1212: fix false positive kmemcheck report
    ieee1394: annotate bitfield
    net: annotate bitfields in struct inet_sock
    net: use kmemcheck bitfields API for skbuff
    kmemcheck: introduce bitfield API
    kmemcheck: add opcode self-testing at boot
    x86: unify pte_hidden
    x86: make _PAGE_HIDDEN conditional
    kmemcheck: make kconfig accessible for other architectures
    kmemcheck: enable in the x86 Kconfig
    kmemcheck: add hooks for the page allocator
    kmemcheck: add hooks for page- and sg-dma-mappings
    kmemcheck: don't track page tables
    ...

    Linus Torvalds
     

16 Jun, 2009

3 commits

  • Patch establishes a dummy afiucv-device to make sure af_iucv is
    notified as iucv-bus device about suspend/resume.

    The PM freeze callback severs all iucv pathes of connected af_iucv sockets.
    The PM thaw/restore callback switches the state of all previously connected
    sockets to IUCV_DISCONN.

    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • Patch calls the PM callback functions of iucv-bus devices, which are
    responsible for removal of their established iucv pathes.

    The PM freeze callback for the first iucv-bus device disables all iucv
    interrupts except the connection severed interrupt.
    The PM freeze callback for the last iucv-bus device shuts down iucv.

    The PM thaw callback for the first iucv-bus device re-enables iucv
    if it has been shut down during freeze. If freezing has been interrupted,
    it re-enables iucv interrupts according to the needs of iucv-exploiters.

    The PM restore callback for the first iucv-bus device re-enables iucv.

    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • To guarantee a proper cleanup, patch adds a reboot notifier to
    the iucv base code, which disables iucv interrupts, shuts down
    established iucv pathes, and removes iucv declarations for z/VM.

    Checks have to be added to the iucv-API functions, whether
    iucv-buffers removed at reboot time are still declared.

    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     

15 Jun, 2009

8 commits

  • Conflicts:
    MAINTAINERS

    Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • 2009/2/24 Ingo Molnar :
    > ok, this is the last warning i have from today's overnight -tip
    > testruns - a 32-bit system warning in sock_init_data():
    >
    > [ 2.610389] NET: Registered protocol family 16
    > [ 2.616138] initcall netlink_proto_init+0x0/0x170 returned 0 after 7812 usecs
    > [ 2.620010] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f642c184)
    > [ 2.624002] 010000000200000000000000604990c000000000000000000000000000000000
    > [ 2.634076] i i i i i i u u i i i i i i i i i i i i i i i i i i i i i i i i
    > [ 2.641038] ^
    > [ 2.643376]
    > [ 2.644004] Pid: 1, comm: swapper Not tainted (2.6.29-rc6-tip-01751-g4d1c22c-dirty #885)
    > [ 2.648003] EIP: 0060:[] EFLAGS: 00010282 CPU: 0
    > [ 2.652008] EIP is at sock_init_data+0xa1/0x190
    > [ 2.656003] EAX: 0001a800 EBX: f6836c00 ECX: 00463000 EDX: c0e46fe0
    > [ 2.660003] ESI: f642c180 EDI: c0b83088 EBP: f6863ed8 ESP: c0c412ec
    > [ 2.664003] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    > [ 2.668003] CR0: 8005003b CR2: f682c400 CR3: 00b91000 CR4: 000006f0
    > [ 2.672003] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    > [ 2.676003] DR6: ffff4ff0 DR7: 00000400
    > [ 2.680002] [] __netlink_create+0x35/0xa0
    > [ 2.684002] [] netlink_kernel_create+0x4c/0x140
    > [ 2.688002] [] rtnetlink_net_init+0x1e/0x40
    > [ 2.696002] [] register_pernet_operations+0x11/0x30
    > [ 2.700002] [] register_pernet_subsys+0x1c/0x30
    > [ 2.704002] [] rtnetlink_init+0x4c/0x100
    > [ 2.708002] [] netlink_proto_init+0x159/0x170
    > [ 2.712002] [] do_one_initcall+0x24/0x150
    > [ 2.716002] [] do_initcalls+0x27/0x40
    > [ 2.723201] [] do_basic_setup+0x1c/0x20
    > [ 2.728002] [] kernel_init+0x5a/0xa0
    > [ 2.732002] [] kernel_thread_helper+0x7/0x10
    > [ 2.736002] [] 0xffffffff

    We fix this false positive by annotating the bitfield in struct
    sock.

    Reported-by: Ingo Molnar
    Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • The use of bitfields here would lead to false positive warnings with
    kmemcheck. Silence them.

    (Additionally, one erroneous comment related to the bitfield was also
    fixed.)

    Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • Conflicts:
    Documentation/feature-removal-schedule.txt
    drivers/scsi/fcoe/fcoe.c
    net/core/drop_monitor.c
    net/core/net-traces.c

    David S. Miller
     
  • Let's use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS
    (like in PSCHED_TICKS_PER_SEC already) to avoid misleading.

    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • While doing trie_rebalance(): resize(), inflate(), halve() RCU free
    tnodes before updating their parents. It depends on RCU delaying the
    real destruction, but if RCU readers start after call_rcu() and before
    parent update they could access freed memory.

    It is currently prevented with preempt_disable() on the update side,
    but it's not safe, except maybe classic RCU, plus it conflicts with
    memory allocations with GFP_KERNEL flag used from these functions.

    This patch explicitly delays freeing of tnodes by adding them to the
    list, which is flushed after the update is finished.

    Reported-by: Yan Zheng
    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits)
    trivial: remove the trivial patch monkey's name from SubmittingPatches
    trivial: Fix a typo in comment of addrconf_dad_start()
    trivial: usb: fix missing space typo in doc
    trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug
    trivial: Remove the hyphen from git commands
    trivial: fix ETIMEOUT -> ETIMEDOUT typos
    trivial: Kconfig: .ko is normally not included in module names
    trivial: SubmittingPatches: fix typo
    trivial: Documentation/dell_rbu.txt: fix typos
    trivial: Fix Pavel's address in MAINTAINERS
    trivial: ftrace:fix description of trace directory
    trivial: unnecessary (void*) cast removal in sound/oss/msnd.c
    trivial: input/misc: Fix typo in Kconfig
    trivial: fix grammo in bus_for_each_dev() kerneldoc
    trivial: rbtree.txt: fix rb_entry() parameters in sample code
    trivial: spelling fix in ppc code comments
    trivial: fix typo in bio_alloc kernel doc
    trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt
    trivial: Miscellaneous documentation typo fixes
    trivial: fix typo milisecond/millisecond for documentation and source comments.
    ...

    Linus Torvalds
     

14 Jun, 2009

5 commits

  • Since the re-write of the RFKILL subsystem it is no longer good to just
    select RFKILL, but it is important to add a proper depends on rule.

    Based on a report by Alexander Beregalov

    Signed-off-by: Marcel Holtmann

    Marcel Holtmann
     
  • IPv4:
    - make PIM register vifs netns local
    - set the netns when a PIM register vif is created
    - make PIM available in all network namespaces (if CONFIG_IP_PIMSM_V2)
    by adding the protocol handler when multicast routing is initialized

    IPv6:
    - make PIM register vifs netns local
    - make PIM available in all network namespaces (if CONFIG_IPV6_PIMSM_V2)
    by adding the protocol handler when multicast routing is initialized

    Signed-off-by: Tom Goff
    Signed-off-by: David S. Miller

    Tom Goff
     
  • Removed the statements about ARP cache size as this config option does
    not affect it. The cache size is controlled by neigh_table gc thresholds.

    Remove also expiremental and obsolete markings as the API originally
    intended for arp caching is useful for implementing ARP-like protocols
    (e.g. NHRP) in user space and has been there for a long enough time.

    Signed-off-by: Timo Teras
    Signed-off-by: David S. Miller

    Timo Teräs
     
  • For the sake of power saver lovers, use a deferrable timer to fire
    rt_check_expire()

    As some big routers cache equilibrium depends on garbage collection
    done in time, we take into account elapsed time between two
    rt_check_expire() invocations to adjust the amount of slots we have to
    check.

    Based on an initial idea and patch from Tero Kristo

    Signed-off-by: Eric Dumazet
    Signed-off-by: Tero Kristo
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • David S. Miller
     

13 Jun, 2009

11 commits

  • Signed-off-by: Joe Perches
    Signed-off-by: Patrick McHardy

    Joe Perches
     
  • This patch improves ctnetlink event reliability if one broadcast
    listener has set the NETLINK_BROADCAST_ERROR socket option.

    The logic is the following: if an event delivery fails, we keep
    the undelivered events in the missed event cache. Once the next
    packet arrives, we add the new events (if any) to the missed
    events in the cache and we try a new delivery, and so on. Thus,
    if ctnetlink fails to deliver an event, we try to deliver them
    once we see a new packet. Therefore, we may lose state
    transitions but the userspace process gets in sync at some point.

    At worst case, if no events were delivered to userspace, we make
    sure that destroy events are successfully delivered. Basically,
    if ctnetlink fails to deliver the destroy event, we remove the
    conntrack entry from the hashes and we insert them in the dying
    list, which contains inactive entries. Then, the conntrack timer
    is added with an extra grace timeout of random32() % 15 seconds
    to trigger the event again (this grace timeout is tunable via
    /proc). The use of a limited random timeout value allows
    distributing the "destroy" resends, thus, avoiding accumulating
    lots "destroy" events at the same time. Event delivery may
    re-order but we can identify them by means of the tuple plus
    the conntrack ID.

    The maximum number of conntrack entries (active or inactive) is
    still handled by nf_conntrack_max. Thus, we may start dropping
    packets at some point if we accumulate a lot of inactive conntrack
    entries that did not successfully report the destroy event to
    userspace.

    During my stress tests consisting of setting a very small buffer
    of 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket
    flag, and generating lots of very small connections, I noticed
    very few destroy entries on the fly waiting to be resend.

    A simple way to test this patch consist of creating a lot of
    entries, set a very small Netlink buffer in conntrackd (+ a patch
    which is not in the git tree to set the BROADCAST_ERROR flag)
    and invoke `conntrack -F'.

    For expectations, no changes are introduced in this patch.
    Currently, event delivery is only done for new expectations (no
    events from expectation expiration, removal and confirmation).
    In that case, they need a per-expectation event cache to implement
    the same idea that is exposed in this patch.

    This patch can be useful to provide reliable flow-accouting. We
    still have to add a new conntrack extension to store the creation
    and destroy time.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Patrick McHardy

    Pablo Neira Ayuso
     
  • This patch moves the helper destruction to a function that lives
    in nf_conntrack_helper.c. This new function is used in the patch
    to add ctnetlink reliable event delivery.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Patrick McHardy

    Pablo Neira Ayuso
     
  • This patch reworks the per-cpu event caching to use the conntrack
    extension infrastructure.

    The main drawback is that we consume more memory per conntrack
    if event delivery is enabled. This patch is required by the
    reliable event delivery that follows to this patch.

    BTW, this patch allows you to enable/disable event delivery via
    /proc/sys/net/netfilter/nf_conntrack_events in runtime, although
    you can still disable event caching as compilation option.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Patrick McHardy

    Pablo Neira Ayuso
     
  • Use mod_timer_pending() instead of atomic sequence of del_timer()/
    add_timer(). mod_timer_pending() does not rearm an inactive timer,
    so we don't need the conntrack lock anymore to make sure we don't
    accidentally rearm a timer of a conntrack which is in the process
    of being destroyed.

    With this change, we don't need to take the global lock anymore at all,
    counter updates can be performed under the per-conntrack lock.

    Signed-off-by: Patrick McHardy

    Patrick McHardy
     
  • Fix regression introduced by 17625274 "netfilter: sysctl support of
    logger choice":

    BUG: sleeping function called from invalid context at /mnt/s390test/linux-2.6-tip/arch/s390/include/asm/uaccess.h:234
    in_atomic(): 1, irqs_disabled(): 0, pid: 3245, name: sysctl
    CPU: 1 Not tainted 2.6.30-rc8-tipjun10-02053-g39ae214 #1
    Process sysctl (pid: 3245, task: 000000007f675da0, ksp: 000000007eb17cf0)
    0000000000000000 000000007eb17be8 0000000000000002 0000000000000000
    000000007eb17c88 000000007eb17c00 000000007eb17c00 0000000000048156
    00000000003e2de8 000000007f676118 000000007eb17f10 0000000000000000
    0000000000000000 000000007eb17be8 000000000000000d 000000007eb17c58
    00000000003e2050 000000000001635c 000000007eb17be8 000000007eb17c30
    Call Trace:
    (ݨ show_trace+0x13a/0x148)
    ݨ __might_sleep+0x13a/0x164
    ݨ proc_dostring+0x134/0x22c
    ݨ nf_log_proc_dostring+0xfc/0x188
    ݨ proc_sys_call_handler+0xf6/0x118
    ݨ proc_sys_read+0x26/0x34
    ݨ vfs_read+0xac/0x158
    ݨ SyS_read+0x56/0x88
    ݨ sysc_noemu+0x10/0x16

    Use the nf_log_mutex instead of RCU to fix this.

    Reported-and-tested-by: Maran Pakkirisamy
    Signed-off-by: Patrick McHardy

    Patrick McHardy
     
  • Convert magic values 1 and -1 to NETDEV_TX_BUSY and NETDEV_TX_LOCKED respectively.

    0 (NETDEV_TX_OK) is not changed to keep the noise down, except in very few cases
    where its in direct proximity to one of the other values.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Fix up ATM drivers that return an errno value to qdisc_restart(), causing
    qdisc_restart() to print a warning an requeue/retransmit the skb.

    - lec: condition can only be remedied by userspace, until that retransmissions

    Compile tested only.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Signed-off-by: Masatake YAMATO
    Signed-off-by: Jiri Kosina

    Masatake YAMATO
     
  • .ko is normally not included in Kconfig help, make it consistent.

    Signed-off-by: Pavel Machek
    Signed-off-by: Jiri Kosina

    Pavel Machek
     
  • Signed-off-by: Martin Olsson
    Signed-off-by: Jiri Kosina

    Martin Olsson
     

12 Jun, 2009

8 commits


11 Jun, 2009

1 commit