12 Dec, 2009

40 commits

  • The simplest method was to add an extra asm-offsets.h
    file in arch/$ARCH/include/asm that references the generated file.

    We can now migrate the architectures one-by-one to reference
    the generated file direct - and when done we can delete the
    temporary arch/$ARCH/include/asm/asm-offsets.h file.

    Signed-off-by: Sam Ravnborg
    Cc: Al Viro
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Signed-off-by: Sam Ravnborg
    Cc: Al Viro
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • We move more and more stuff to include/generated - so lets ignore the
    content for users of plain diff.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • The namespace used in arch/$ARCH/include is different from
    what is used in include/ except for the include/asm directory.

    This patch gives the arch/$ARCH/include/asm directory priority
    over include/asm.

    When we add asm-offsets.h to arch/$ARCH/include/asm/ this
    patch makes sure we pick up the arch specific version
    and not the one we have in include/asm.

    The situation with an asm-offsets.h file located in
    both include/asm _and_ arch/$ARCH/include/asm will happen
    when we move more files over to include/generated.

    This happens because in some cases it is not practical
    to rename all users so we simply add a file
    in arch/$ARCH/include/asm that includes the generated version.

    This is the solution we use for asm-offsets.h as an example.

    Signed-off-by: Sam Ravnborg
    Cc: Stephen Rothwell
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • As has been discussed previously (and Sam has been CC'ed), the fix
    is still incorrect. It replaces "echo -ne" with "/bin/echo -ne",
    but neither of the two are guaranteed to support the necessary
    arguments and necessary (hexadecimal) escape sequences. What should
    be used here is printf(1). The trivial patch below (on top of these
    kbuild changes) fixes this issue.

    Signed-Off-By: Michael Tokarev
    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Michael Tokarev
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)
    net: Handle NETREG_UNINITIALIZED devices correctly
    can: add the driver for Analog Devices Blackfin on-chip CAN controllers
    xfrm: Fix truncation length of authentication algorithms installed via PF_KEY
    net: use compat helper functions in compat_sys_recvmmsg
    net: fix compat_sys_recvmmsg parameter type
    cxgb3: Fixing EEH handlers
    cnic: Zero out status block and Event Queue indices.
    cnic: Send delete command when shutting down iSCSI ring.
    net: smc91x: Fix up type mismatch in smc_drv_resume().
    smc91x: fix unused flags warnings on UP systems
    MAINTAINERS: Transfering maintainership of cdc-ether
    net: Add missing TST_CFG_WRITE bits around sky2_pci_write
    net: Fix Yukon-2 Optima TCP offload setup
    net: niu uses crc32, so select CRC32
    wireless: update old static regulatory domain rules
    mac80211: Revert 'Use correct sign for mesh active path refresh'
    mac80211: Fixed bug in mesh portal paths
    net/mac80211: Correct size given to memset
    b43: Remove reset after fatal DMA error
    rtl8187: add radio led and fix warnings on suspend
    ...

    Linus Torvalds
     
  • * 'compat-ioctl-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground:
    usbdevfs: move compat_ioctl handling to devio.c
    lp: move compat_ioctl handling into lp.c
    compat_ioctl: pass compat pointer directly to handlers
    compat_ioctl: simplify lookup table
    compat_ioctl: simplify calling of handlers
    compat_ioctl: inline all conversion handlers
    compat_ioctl: Remove BKL
    compat_ioctl: remove all VT ioctl handling

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: add sys_recvmmsg to unistd.h
    asm-generic: add sys_accept4 to unistd.h
    asm-generic/gpio.h: add some forward decls of the device struct
    asm-generic: Fix typo in asm-generic/unistd.h.
    lib/checksum: fix one more thinko
    lib/checksum.c: make do_csum optional
    lib/checksum.c: use 32-bit arithmetic consistently

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    itimer: Fix the itimer trace print format
    hrtimer: move timer stats helper functions to hrtimer.c
    hrtimer: Tune hrtimer_interrupt hang logic

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Avoid out of bounds array reference in save_trace()
    futex: Take mmap_sem for get_user_pages in fault_in_user_writeable
    lockstat: Add usage info to Documentation/lockstat.txt
    lockstat: Fix min, max times in /proc/lock_stats

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86/amd-iommu: Fix PCI hotplug with passthrough mode
    x86/amd-iommu: Fix passthrough mode
    x86: mmio-mod.c: Use pr_fmt
    x86: kmmio.c: Add and use pr_fmt(fmt)
    x86: i8254.c: Add pr_fmt(fmt)
    x86: setup_percpu.c: Use pr_<level> and add pr_fmt(fmt)
    x86: es7000_32.c: Use pr_<level> and add pr_fmt(fmt)
    x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs()
    x86: Factor duplicated code out of __show_regs() into show_regs_common()
    arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix
    x86, mce: fix confusion between bank attributes and mce attributes
    x86/mce: Set up timer unconditionally
    x86: Fix bogus warning in apic_noop.apic_write()
    x86: Fix typo in arch/x86/mm/kmmio.c
    x86: ASUS P4S800 reboot=bios quirk

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tracing: Remove comparing of NULL to va_list in trace_array_vprintk()
    tracing: Fix function graph trace_pipe to properly display failed entries
    tracing: Add full state to trace_seq
    tracing: Buffer the output of seq_file in case of filled buffer
    tracing: Only call pipe_close if pipe_close is defined
    tracing: Add pipe_close interface

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)
    x86, perf events: Check if we have APIC enabled
    perf_event: Fix variable initialization in other codepaths
    perf kmem: Fix unused argument build warning
    perf symbols: perf_header__read_build_ids() offset'n'size should be u64
    perf symbols: dsos__read_build_ids() should read both user and kernel buildids
    perf tools: Align long options which have no short forms
    perf kmem: Show usage if no option is specified
    sched: Mark sched_clock() as notrace
    perf sched: Add max delay time snapshot
    perf tools: Correct size given to memset
    perf_event: Fix perf_swevent_hrtimer() variable initialization
    perf sched: Fix for getting task's execution time
    tracing/kprobes: Fix field creation's bad error handling
    perf_event: Cleanup for cpu_clock_perf_event_update()
    perf_event: Allocate children's perf_event_ctxp at the right time
    perf_event: Clean up __perf_event_init_context()
    hw-breakpoints: Modify breakpoints without unregistering them
    perf probe: Update perf-probe document
    perf probe: Support --del option
    trace-kprobe: Support delete probe syntax
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
    HTC Dream: mmc compilation fixes
    video: Allow selecting MSM framebuffer in Kconfig
    Add arm msm maintainer entry
    msm: Add memory map for HTC Dream
    msm: add minimal board file for HTC Dream device
    msm: make debugging UART (for DEBUG_LL) configurable

    Linus Torvalds
     
  • Conflicts:
    include/net/tcp.h

    David S. Miller
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface
    [CPUFREQ] make internal cpufreq_add_dev_* static
    [CPUFREQ] use an enum for speedstep processor identification
    [CPUFREQ] Document units for transition latency
    [CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings
    [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/
    [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used
    [CPUFREQ] cpumask: don't put a cpumask on the stack in x86...cpufreq/powernow-k8.c

    Linus Torvalds
     
  • The debug batman option needs to depend on the correct
    config option.

    Signed-off-by: Greg Kroah-Hartman
    [ "No means no!" - Linus ]
    Signed-off-by: Linus Torvalds

    Greg Kroah-Hartman
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits)
    tty: split the lock up a bit further
    tty: Move the leader test in disassociate
    tty: Push the bkl down a bit in the hangup code
    tty: Push the lock down further into the ldisc code
    tty: push the BKL down into the handlers a bit
    tty: moxa: split open lock
    tty: moxa: Kill the use of lock_kernel
    tty: moxa: Fix modem op locking
    tty: moxa: Kill off the throttle method
    tty: moxa: Locking clean up
    tty: moxa: rework the locking a bit
    tty: moxa: Use more tty_port ops
    tty: isicom: fix deadlock on shutdown
    tty: mxser: Use the new locking rules to fix setserial properly
    tty: mxser: use the tty_port_open method
    tty: isicom: sort out the board init logic
    tty: isicom: switch to the new tty_port_open helper
    tty: tty_port: Add a kref object to the tty port
    tty: istallion: tty port open/close methods
    tty: stallion: Convert to the tty_port_open/close methods
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits)
    ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()
    ext3: Fix data / filesystem corruption when write fails to copy data
    ext4: Support for 64-bit quota format
    ext3: Support for vfsv1 quota format
    quota: Implement quota format with 64-bit space and inode limits
    quota: Move definition of QFMT_OCFS2 to linux/quota.h
    ext2: fix comment in ext2_find_entry about return values
    ext3: Unify log messages in ext3
    ext2: clear uptodate flag on super block I/O error
    ext2: Unify log messages in ext2
    ext3: make "norecovery" an alias for "noload"
    ext3: Don't update the superblock in ext3_statfs()
    ext3: journal all modifications in ext3_xattr_set_handle
    ext2: Explicitly assign values to on-disk enum of filetypes
    quota: Fix WARN_ON in lookup_one_len
    const: struct quota_format_ops
    ubifs: remove manual O_SYNC handling
    afs: remove manual O_SYNC handling
    kill wait_on_page_writeback_range
    vfs: Implement proper O_SYNC semantics
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: Fix error return for fallocate() on XFS
    xfs: cleanup dmapi macros in the umount path
    xfs: remove incorrect sparse annotation for xfs_iget_cache_miss
    xfs: kill the STATIC_INLINE macro
    xfs: uninline xfs_get_extsz_hint
    xfs: rename xfs_attr_fetch to xfs_attr_get_int
    xfs: simplify xfs_buf_get / xfs_buf_read interfaces
    xfs: remove IO_ISAIO
    xfs: Wrapped journal record corruption on read at recovery
    xfs: cleanup data end I/O handlers
    xfs: use WRITE_SYNC_PLUG for synchronous writeout
    xfs: reset the i_iolock lock class in the reclaim path
    xfs: I/O completion handlers must use NOFS allocations
    xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks
    xfs: simplify inode teardown

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (235 commits)
    Staging: IIO: add selection of IIO_SW_RING to LIS3L02DQ as needed
    Staging: IIO: Add tsl2560-2 support to tsl2563 driver.
    Staging: IIO: Remove tsl2561 driver. Support merged with tsl2563.
    Staging: wlags49_h2: fix up signal levels
    + drivers-staging-wlags49_h2-remove-cvs-metadata.patch added to -mm tree
    Staging: samsung-laptop: add TODO file
    Staging: samsung-laptop: remove old kernel code
    Staging: add Samsung Laptop driver
    staging: batman-adv meshing protocol
    Staging: rtl8192u: depends on USB
    Staging: rtl8192u: remove dead code
    Staging: rtl8192u: remove bad whitespaces
    Staging: rtl8192u: make it compile
    Staging: Added Realtek rtl8192u driver to staging
    Staging: dream: add gpio and pmem support
    Staging: dream: add TODO file
    Staging: android: delete android drivers
    Staging: et131x: clean up the avail fields in the rx registers
    Staging: et131x: Clean up number fields
    Staging: et131x: kill RX_DMA_MAX_PKT_TIME
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (27 commits)
    Driver core: fix race in dev_driver_string
    Driver Core: Early platform driver buffer
    sysfs: sysfs_setattr remove unnecessary permission check.
    sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir
    sysfs: Propagate renames to the vfs on demand
    sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish
    sysfs: In sysfs_chmod_file lazily propagate the mode change.
    sysfs: Implement sysfs_getattr & sysfs_permission
    sysfs: Nicely indent sysfs_symlink_inode_operations
    sysfs: Update s_iattr on link and unlink.
    sysfs: Fix locking and factor out sysfs_sd_setattr
    sysfs: Simplify iattr time assignments
    sysfs: Simplify sysfs_chmod_file semantics
    sysfs: Use dentry_ops instead of directly playing with the dcache
    sysfs: Rename sysfs_d_iput to sysfs_dentry_iput
    sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex
    debugfs: fix create mutex racy fops and private data
    Driver core: Don't remove kobjects in device_shutdown.
    firmware_class: make request_firmware_nowait more useful
    Driver-Core: devtmpfs - set root directory mode to 0755
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (122 commits)
    USB: mos7840: add device IDs for B&B electronics devices
    USB: ftdi_sio: add USB device ID's for B&B Electronics line
    USB: musb: musb_host: fix sparse warning
    USB: musb: musb_gadget: fix sparse warning
    USB: musb: omap2430: fix sparse warning
    USB: core: message: fix sparse warning
    USB: core: hub: fix sparse warning
    USB: core: fix sparse warning for static function
    USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS
    USB: Check bandwidth when switching alt settings.
    USB: Refactor code to find alternate interface settings.
    USB: xhci: Fix command completion after a drop endpoint.
    USB: xhci: Make reverting an alt setting "unfailable".
    USB: usbtmc: Use usb_clear_halt() instead of custom code.
    USB: xhci: Add correct email and files to MAINTAINERS entry.
    USB: ehci-omap.c: introduce missing kfree
    USB: xhci-mem.c: introduce missing kfree
    USB: add remove_id sysfs attr for usb drivers
    USB: g_multi kconfig: fix depends and help text
    USB: option: add pid for ZTE
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: ohci: handle receive packets with a data length of zero

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    kgdb: Always process the whole breakpoint list on activate or deactivate
    kgdb: continue and warn on signal passing from gdb
    kgdb,x86: do not set kgdb_single_step on x86
    kgdb: allow for cpu switch when single stepping
    kgdb,i386: Fix corner case access to ss with NMI watch dog exception
    kgdb: Replace strstr() by strchr() for single-character needles
    kgdbts: Read buffer overflow
    kgdb: Read buffer overflow
    kgdb,x86: remove redundant test

    Linus Torvalds
     
  • The tty count sanity check may need the BKL, that isn't clear. However it
    is clear that the count use of the lock is internal and independant of the
    bigger use of the lock.

    Furthermore the file list locking is also separately locked already

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • There are two call points, both want to check that tty->signal->leader is
    set. Move the test into disassociate_ctty() as that will make locking
    changes easier in a bit

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • We know that the redirect field is handled via its own locking in all
    places

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Start trying to untangle the remaining BKL mess

    Updated to fix missing unlock_kernel noted by Dan Carpenter

    Signed-off-by: Alan "I must be out of my tree" Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • moxa_openlock is used for several situations where we want to handle the
    case of an ioctl that crosses many ports (not just the open tty), and also
    cases where an open races a deinit (eg a pci unplug) and we hangup a port
    before we can cope with that.

    The non open race cases can use the moxa_lock spinlock. This simplifies sorting
    out the remaining mess.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • It isn't needed here any more

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • This is overkill and mostly not needed

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • The tty flag can be tested so the shadow flag isn't needed

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • - The open lock is needed to fix up the case of a board reset occuring during
    tty open but too early for a sane hangup response.
    - The lock can however got for other cases
    - Use the port mutex for get/setserial
    - Fix up the confused lack of locking on the THROTTLE and other bits in the
    private flags. Just use set/test/clear bit and it covers the cases we need

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Introduce a lock for moxafunc() to protect the cases where were get collisions
    between two function requests at the same time.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Rework a few bits of this into tty_port format

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Alexander Strakh reported

    KERNEL_VERSION: 2.6.31
    DESCRIBE:
    Driver drivers/char/isicom.c might sleep in atomic context, because it
    calls
    tty_port_xmit_buf under spin_lock.

    ./drivers/char/isicom.c:
    1307 static void isicom_hangup(struct tty_struct *tty)
    1308 {
    ...
    1315 spin_lock_irqsave(&port->card->card_lock, flags);
    1316 isicom_shutdown_port(port);
    ...

    Path to might_sleep macro from isicom_hangup:
    1. isicom_hangup calls spin_lock_irqsave (drivers/char/isicom.c:1315) and
    then
    calls isicom_shutdown_port.
    2. isiscom_shutdown_port calls tty_port_free_xmit_buf at
    drivers/char/isicom.c:906
    3. tty_port_free_xmit_buf calls mutex_lock at drivers/char/tty_port:48

    Found by Linux Driver Verification Project.

    Reported-by: Alexander Strakh
    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Propogate the init/shutdown mutex through the setserial logic. Use the proper
    locks for the various bits still using the BKL. Kill the BKL in this driver.

    Updated to fix the bug noted by Dan Carpenter

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • At first this looks a fairly trivial conversion but we can't quite push
    everything into the right format yet. The open side is easy but care is needed
    over the setserial methods. Fix up the locking now that we've adopted the
    port->mutex locking rule for the initialization.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox