15 Feb, 2008

2 commits

  • A CLOCK_REALTIME timer, which has an absolute expiry time less than
    the clock realtime offset calls with a negative delta into the clock
    events code and triggers the WARN_ON() there.

    This is a false positive and needs to be prevented. Check the result
    of timer->expires - timer->base->offset right away and return -ETIME
    right away.

    Thanks to Frans Pop, who reported the problem and tested the fixes.

    Signed-off-by: Thomas Gleixner
    Tested-by: Frans Pop

    Thomas Gleixner
     
  • Various user space callers ask for relative timeouts. While we fixed
    that overflow issue in hrtimer_start(), the sites which convert
    relative user space values to absolute timeouts themself were uncovered.

    Instead of putting overflow checks into each place add a function
    which does the sanity checking and convert all affected callers to use
    it.

    Thanks to Frans Pop, who reported the problem and tested the fixes.

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Tested-by: Frans Pop

    Thomas Gleixner
     

14 Feb, 2008

31 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] gdth: update deprecated pci_find_device
    [SCSI] gdth: scan for scsi devices
    [SCSI] sym53c416: fix module parameters
    [SCSI] lpfc 8.2.5 : Update lpfc driver version to 8.2.5
    [SCSI] lpfc 8.2.5 : Fix buffer leaks
    [SCSI] lpfc 8.2.5 : Miscellaneous discovery Fixes
    [SCSI] lpfc 8.2.5 : Add MSI-X single message support
    [SCSI] lpfc 8.2.5 : Miscellaneous Fixes
    [SCSI] lpfc 8.2.5 : Correct ndlp referencing issues
    [SCSI] update SG_ALL to avoid causing chaining
    [SCSI] aic94xx: fix ABORT_TASK define conflict
    [SCSI] fas216: Use scsi_eh API for REQUEST_SENSE invocation
    [SCSI] ses: fix memory leaks
    [SCSI] aacraid: informational sysfs value corrections
    [SCSI] mpt fusion: Request I/O resources only when required
    [SCSI] aacraid: ignore adapter reset check polarity
    [SCSI] aacraid: add optional MSI support
    [SCSI] mpt fusion: Avoid racing when mptsas and mptcl module are loaded in parallel
    [SCSI] MegaRAID driver management char device moved to misc
    [SCSI] advansys: fix overrun_buf aligned bug

    Linus Torvalds
     
  • This adds some new magic in the MODPOST phase for CONFIG_MARKERS. Analogous
    to the Module.symvers file, the build will now write a Module.markers file
    when CONFIG_MARKERS=y is set. This file lists the name, defining module, and
    format string of each marker, separated by \t characters. This simple text
    file can be used by offline build procedures for instrumentation code,
    analogous to how System.map and Module.symvers can be useful to have for
    kernels other than the one you are running right now.

    The strings are made easy to extract by having the __trace_mark macro define
    the name and format together in a single array called __mstrtab_* in the
    __markers_strings section. This is straightforward and reliable as long as
    the marker structs are always defined by this macro. It is an unreasonable
    amount of hairy work to extract the string pointers from the __markers section
    structs, which entails handling a relocation type for every machine under the
    sun.

    Mathieu :
    - Ran through checkpatch.pl

    Signed-off-by: Roland McGrath
    Signed-off-by: Mathieu Desnoyers
    Cc: David Smith
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • 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

7 commits

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

    Al Viro
     
  • Fix compilation warning in gdth.c, which was using the deprecated
    pci_find_device.

    drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495)

    Changing it to use pci_get_device, instead.

    Signed-off-by: Sergio Luis
    Signed-off-by: James Bottomley

    Sergio Luis
     
  • The patch: "gdth: switch to modern scsi host registration"

    missed one simple fact when moving a way from scsi_module.c.
    That is to call scsi_scan_host() on the probed host.
    With this the gdth driver from 2.6.24 is again able to
    see drives and boot.

    Signed-off-by: Boaz Harrosh
    Tested-by: Joerg Dorchain
    Tested-by: Stefan Priebe
    Tested-by: Jon Chelton
    Cc: Stable Tree
    Signed-off-by: James Bottomley

    Boaz Harrosh
     
  • 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