14 Feb, 2008

29 commits

  • RCU style multiple probes support for the Linux Kernel Markers. Common case
    (one probe) is still fast and does not require dynamic allocation or a
    supplementary pointer dereference on the fast path.

    - Move preempt disable from the marker site to the callback.

    Since we now have an internal callback, move the preempt disable/enable to the
    callback instead of the marker site.

    Since the callback change is done asynchronously (passing from a handler that
    supports arguments to a handler that does not setup the arguments is no
    arguments are passed), we can safely update it even if it is outside the
    preempt disable section.

    - Move probe arm to probe connection. Now, a connected probe is automatically
    armed.

    Remove MARK_MAX_FORMAT_LEN, unused.

    This patch modifies the Linux Kernel Markers API : it removes the probe
    "arm/disarm" and changes the probe function prototype : it now expects a
    va_list * instead of a "...".

    If we want to have more than one probe connected to a marker at a given
    time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
    connecting a second probe handler to a marker will fail.

    It allow us, for instance, to do interesting combinations :

    Do standard tracing with LTTng and, eventually, to compute statistics
    with SystemTAP, or to have a special trigger on an event that would call
    a systemtap script which would stop flight recorder tracing.

    Signed-off-by: Mathieu Desnoyers
    Cc: Christoph Hellwig
    Cc: Mike Mason
    Cc: Dipankar Sarma
    Cc: David Smith
    Cc: "Paul E. McKenney"
    Cc: "Frank Ch. Eigler"
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • ipwireless (added by 099dc4fb62653f6019d78db55fba7a18ef02d65b) is clearly
    a net device:

    drivers/built-in.o: In function `ipwireless_ppp_start_xmit':
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `skb_under_panic'
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `kfree_skb'
    drivers/built-in.o: In function `ipwireless_network_packet_received':
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `__alloc_skb'
    /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `skb_over_panic'
    drivers/built-in.o: In function `ppp_shutdown_interface':
    /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `unregister_netdev'
    /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `free_netdev'
    [ ... and many more ... ]

    select strikes again. ipwireless selects PPP which in turn tries to select
    SLHC, both of which are technically "protected" by an if NETDEVICES
    in drivers/net/Kconfig. This leads to .config hilarity, with net suddenly
    ending up in the SCSI menu:

    #
    # SCSI device support
    #
    # CONFIG_SCSI_DMA is not set
    # CONFIG_SCSI_NETLINK is not set
    CONFIG_PPP=y
    # CONFIG_PHONE is not set

    Curiously the SLHC select from PPP doesn't seem to happen, as there's no
    CONFIG_SLHC=y (only CONFIG_PPP=y gets set) -- Kconfig bug? Caught with a
    randconfig.

    Signed-off-by: Paul Mundt
    Acked-by: Jiri Kosina
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • There's a small problem with smack and NFS. A similar report was also
    sent here: http://lkml.org/lkml/2007/10/27/85

    I've also added similar checks in inode_{get/set}security(). Cheating from
    SELinux post_create_socket(), it does the same.

    [akpm@linux-foundation.org: remove uneeded BUG_ON()]
    Signed-off-by: Ahmed S. Darwish
    Acked-by: Casey Schaufler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • In commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 (udf: create common
    function for changing free space counter) by accident I reversed safety
    condition which lead to null pointer dereference in case of media error and
    wrong counting of free space in normal situation

    Signed-off-by: Marcin Slusarz
    Cc: Jan Kara
    Acked-by: Cyrill Gorcunov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • Patch cleaning up UDF directory offset handling missed modifications in dir.c
    (because I've submitted an old version :(). Fix it.

    Signed-off-by: Jan Kara
    Reported-by: Marcin Slusarz
    Tested-by: Marcin Slusarz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • This patch fixes a reference to Documentation/kmod.txt
    which was apparently renamed to Documentation/debugging-modules.txt

    Signed-off-by: Michael Opdenacker
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Opdenacker
     
  • Fix the warning message regarding smbfs to

    "smbfs is deprecated and will be removed from the 2.6.27 kernel. Please migrate to cifs"

    instead of

    "smbfs is deprecated and will be removedfrom the 2.6.27 kernel. Please migrate to cifs"

    Signed-off-by: Sergio Luis
    Screwed-up-by: Andrew Morton
    Cc: Steven French
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergio Luis
     
  • Drop z85230 support library info from kernel-api since it's duplicated in
    the Z85230 book.

    Signed-off-by: Randy Dunlap
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • remove beX_add functions and replace all uses with beX_add_cpu

    Signed-off-by: Marcin Slusarz
    Cc: Mark Fasheh
    Reviewed-by: Dave Chinner
    Cc: Timothy Shimmin
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • On alpha, ia64 and ppc64 only relocations to local data can go into
    read-only sections. The vast majority of module parameters use the global
    generic param_set_*/param_get_* functions, so the 'const' attribute for
    struct kernel_param is not only useless, but it also causes compile
    failures due to 'section type conflict' in those rare cases where
    param_set/get are local functions.

    This fixes http://bugzilla.kernel.org/show_bug.cgi?id=8964

    Signed-off-by: Ivan Kokshaysky
    Cc: Richard Henderson
    Cc: "Luck, Tony"
    Cc: Anton Blanchard
    Cc: Paul Mackerras
    Cc: Adrian Bunk
    Cc: Kamalesh Babulal
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ivan Kokshaysky
     
  • Move networking (core and drivers) docbook to its own networking book.
    Fix a few kernel-doc errors in header and source files.

    Signed-off-by: Randy Dunlap
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Neil Brown
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Use updated file list for docbook files and
    fix kernel-doc warnings in sunrpc:
    Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter 'rpc_client'
    Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter 'flags'
    Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter 'tk_ops'
    Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter 'bufsize'

    Signed-off-by: Randy Dunlap
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Neil Brown
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Move pipes and splice docbook to filesystems book.
    kernel-api book is huge (10x most other books) & slow to process.

    Signed-off-by: Randy Dunlap
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix several kernel-doc notation errors in fs/pipe.c.

    Signed-off-by: Randy Dunlap
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix section warning for parport_ECP_supported(); it's called from a routine
    exported to modules, so it can't be removed with __devinit section pruning.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Kernel style is mentioned twice, and the git apply trick is a bit redundant
    given the checkpatch.pl recommendation (which also checks for bad
    whitespace).

    Signed-off-by: J. Bruce Fields
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • proc_doulongvec_minmax() calls copy_to_user()/copy_from_user(), so we can't
    hold hugetlb_lock over the call. Use a dummy variable to store the sysctl
    result, like in hugetlb_sysctl_handler(), then grab the lock to update
    nr_overcommit_huge_pages.

    Signed-off-by: Nishanth Aravamudan
    Reported-by: Miles Lane
    Cc: Adam Litke
    Cc: David Gibson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nishanth Aravamudan
     
  • When submitting the driver for inclusion to 2.6.25 I've missed the change to
    serial_core.h. This patch fixes this.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Bogendoerfer
     
  • All users are gone, remove definitions and comments referring
    to them.

    Signed-off-by: Harvey Harrison
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • fastcall always expands to empty, remove it.

    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • This comment caused some consternation during fastcall removal. Make it
    truthful.

    Signed-off-by: Paul E. McKenney
    Cc: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     
  • FASTCALL() is always expanded to empty, remove it.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • Commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 ("hrtimer: fixup the
    HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since
    only Russell bothered to merge the fix, and Greg to ACK his arch, I'm
    sending this for merger.

    I have confirmation that the Alpha bit results in a booting kernel.
    That leaves: blackfin, frv, sh and sparc untested.

    The deadlock in question was found by Russell:

    IRQ handle
    -> timer_tick() - xtime seqlock held for write
    -> update_process_times()
    -> run_local_timers()
    -> hrtimer_run_queues()
    -> hrtimer_get_softirq_time() - tries to get a read lock

    Now, Thomas assures me the fix is trivial, only do_timer() needs to be
    done under the xtime_lock, and update_process_times() can savely be
    removed from under it.

    Signed-off-by: Peter Zijlstra
    Acked-by: Greg Ungerer
    CC: Richard Henderson
    CC: Bryan Wu
    CC: David Howells
    CC: Paul Mundt
    CC: William Irwin
    Acked-by: Ingo Molnar
    Acked-by: Ivan Kokshaysky
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • The raw_pci_read() interface (as the raw_pci_ops->read() before it)
    unconditionally fills in a 32-bit integer return value regardless of the
    size of the operation requested.

    So claiming to take a "void *" is wrong, as is passing in a pointer to
    just a byte variable.

    Noticed by pageexec when enabling -fstack-protector (which needs other
    patches too to actually work, but that's a separate issue).

    Acked-by: Len Brown
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Fix up parse error in FRV linker script, presumably introduced through changes
    to the INIT_TEXT and EXIT_TEXT macros.

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

    David Howells
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
    sched: rt-group: refure unrunnable tasks
    sched: rt-group: clean up the ifdeffery
    sched: rt-group: make rt groups scheduling configurable
    sched: rt-group: interface
    sched: rt-group: deal with PI
    sched: fix incorrect irq lock usage in normalize_rt_tasks()
    sched: fair-group: separate tg->shares from task_group_lock
    hrtimer: more hrtimer_init_sleeper() fallout.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
    x86: pit_clockevent can be static
    x86: EFI runtime code mapping enhancement
    x86: EFI: fix use of unitialized variable and the cache logic
    x86: CPA: fix gbpages support in try_preserve_large_page
    xen: unpin initial Xen pagetable once we're finished with it
    x86/early_ioremap: don't assume we're using swapper_pg_dir
    x86: fixup machine_ops reboot_{32|64}.c unification fallout
    x86: fix sigcontext.h user export

    Linus Torvalds
     
  • writel(sock + ...) that should've been writel(sock->addr + ...)

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • test_and_set_bit() on address of uint32_t is a Bad Idea(tm)...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

13 Feb, 2008

11 commits

  • Signed-off-by: Al Viro
    Acked-by: Carlos Corbacho
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • arch/x86/kernel/i8253.c:98:27: warning: symbol 'pit_clockevent' was not declared. Should it be static?

    Signed-off-by: Harvey Harrison
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Harvey Harrison
     
  • This patch enhances EFI runtime code memory mapping as following:

    - Move __supported_pte_mask & _PAGE_NX checking before invoking
    runtime_code_page_mkexec(). This makes it possible for compiler to
    eliminate runtime_code_page_mkexec() on machine without NX support.

    - Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the
    duplicated implementation.

    This patch has been tested on Intel x86_64 platform with EFI64/32
    firmware.

    Signed-off-by: Huang Ying
    Signed-off-by: Ingo Molnar

    Huang, Ying
     
  • Andi Kleen pointed out that the cache attribute logic is reverse in
    efi_enter_virtual_mode(). This problem alone is harmless as we do not
    (yet) do cache attribute conflict resolution. (This bug was not present
    in the original EFI submission - I introduced it while fixing up rejects.)

    While reviewing this code I noticed a second, worse problem: the use of
    uninitialized md->virt_addr.

    Fix both problems.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • [ mingo@elte.hu: while gbpages cannot be enabled on mainline currently,
    keep the code uptodate and this fix is easy enough. ]

    Use correct page sizes and masks for GB pages in try_preserve_large_page()

    This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES
    enabled.

    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Andi Kleen
     
  • Unpin the Xen-provided pagetable once we've finished with it, so it
    doesn't cause stray references which cause later swapper_pg_dir
    pagetable updates to fail.

    Signed-off-by: Jeremy Fitzhardinge
    Tested-by: Jody Belka
    Signed-off-by: Ingo Molnar

    Jeremy Fitzhardinge
     
  • At the early stages of boot, before the kernel pagetable has been
    fully initialized, a Xen kernel will still be running off the
    Xen-provided pagetables rather than swapper_pg_dir[]. Therefore,
    readback cr3 to determine the base of the pagetable rather than
    assuming swapper_pg_dir[].

    Signed-off-by: Jeremy Fitzhardinge
    Tested-by: Jody Belka
    Signed-off-by: Ingo Molnar

    Jeremy Fitzhardinge
     
  • When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...),
    the machine_ops code was broken, leading to xen pvops kernels failing
    to properly halt/poweroff/reboot etc. This fixes that up.

    Signed-off-by: Jody Belka
    Cc: Miguel Boton
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Jody Belka
     
  • Jakub Jelinek reported that some user-space code that relies on
    kernel headers has built dependency on the sigcontext->eip/rip
    register names - which have been unified in commit:

    commit 742fa54a62be6a263df14a553bf832724471dfbe
    Author: H. Peter Anvin
    Date: Wed Jan 30 13:30:56 2008 +0100

    x86: use generic register names in struct sigcontext

    so give the old layout to user-space. This is not particularly
    pretty, but it's an ABI so there's no danger of the two definitions
    getting out of sync.

    Reported-by: Jakub Jelinek
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Refuse to accept or create RT tasks in groups that can't run them.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Clean up some of the excessive ifdeffery introduces in the last patch.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra