15 Jan, 2012

1 commit

  • * 'for-next' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Split trivial #if defined(__KERNEL__) && X conditionals
    UAPI: Don't have a #elif clause in a __KERNEL__ guard in linux/soundcard.h
    UAPI: Fix AHZ multiple inclusion when __KERNEL__ is removed
    UAPI: Make linux/patchkey.h easier to parse
    UAPI: Fix nested __KERNEL__ guards in video/edid.h
    UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter
    UAPI: Guard linux/cuda.h
    UAPI: Guard linux/pmu.h
    UAPI: Guard linux/isdn_divertif.h
    UAPI: Guard linux/sound.h
    UAPI: Rearrange definition of HZ in asm-generic/param.h
    UAPI: Make FRV use asm-generic/param.h
    UAPI: Make M32R use asm-generic/param.h
    UAPI: Make MN10300 use asm-generic/param.h
    UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace
    UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h
    UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines

    Linus Torvalds
     

12 Jan, 2012

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)
    x86/PCI: Expand the x86_msi_ops to have a restore MSIs.
    PCI: Increase resource array mask bit size in pcim_iomap_regions()
    PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES
    PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)
    PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB
    x86/PCI: amd: factor out MMCONFIG discovery
    PCI: Enable ATS at the device state restore
    PCI: msi: fix imbalanced refcount of msi irq sysfs objects
    PCI: kconfig: English typo in pci/pcie/Kconfig
    PCI/PM/Runtime: make PCI traces quieter
    PCI: remove pci_create_bus()
    xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources
    x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()
    x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()
    x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan
    sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources
    sparc/PCI: convert to pci_create_root_bus()
    sh/PCI: convert to pci_scan_root_bus() for correct root bus resources
    powerpc/PCI: convert to pci_create_root_bus()
    powerpc/PCI: split PHB part out of pcibios_map_io_space()
    ...

    Fix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due
    to the same patches being applied in other branches.

    Linus Torvalds
     

11 Jan, 2012

2 commits

  • lib: use generic pci_iomap on all architectures

    Many architectures don't want to pull in iomap.c,
    so they ended up duplicating pci_iomap from that file.
    That function isn't trivial, and we are going to modify it
    https://lkml.org/lkml/2011/11/14/183
    so the duplication hurts.

    This reduces the scope of the problem significantly,
    by moving pci_iomap to a separate file and
    referencing that from all architectures.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    alpha: drop pci_iomap/pci_iounmap from pci-noop.c
    mn10300: switch to GENERIC_PCI_IOMAP
    mn10300: add missing __iomap markers
    frv: switch to GENERIC_PCI_IOMAP
    tile: switch to GENERIC_PCI_IOMAP
    tile: don't panic on iomap
    sparc: switch to GENERIC_PCI_IOMAP
    sh: switch to GENERIC_PCI_IOMAP
    powerpc: switch to GENERIC_PCI_IOMAP
    parisc: switch to GENERIC_PCI_IOMAP
    mips: switch to GENERIC_PCI_IOMAP
    microblaze: switch to GENERIC_PCI_IOMAP
    arm: switch to GENERIC_PCI_IOMAP
    alpha: switch to GENERIC_PCI_IOMAP
    lib: add GENERIC_PCI_IOMAP
    lib: move GENERIC_IOMAP to lib/Kconfig

    Fix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig

    Linus Torvalds
     
  • Unlike other architectures, sparc currently has no SA_NODEFER definition
    but only the older SA_NOMASK. Since SA_NOMASK is the historical name for
    SA_NODEFER, add SA_NODEFER and copy what other architectures do by making
    SA_NOMASK a synonym for SA_NODEFER.

    Signed-off-by: Matt Fleming
    Acked-by: Oleg Nesterov
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Fleming
     

10 Jan, 2012

1 commit


09 Jan, 2012

2 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds
     

07 Jan, 2012

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits)
    net: pack skb_shared_info more efficiently
    net_sched: red: split red_parms into parms and vars
    net_sched: sfq: extend limits
    cnic: Improve error recovery on bnx2x devices
    cnic: Re-init dev->stats_addr after chip reset
    net_sched: Bug in netem reordering
    bna: fix sparse warnings/errors
    bna: make ethtool_ops and strings const
    xgmac: cleanups
    net: make ethtool_ops const
    vmxnet3" make ethtool ops const
    xen-netback: make ops structs const
    virtio_net: Pass gfp flags when allocating rx buffers.
    ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call
    netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call
    igb: reset PHY after recovering from PHY power down
    igb: add basic runtime PM support
    igb: Add support for byte queue limits.
    e1000: cleanup CE4100 MDIO registers access
    e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove
    ...

    Linus Torvalds
     
  • This patch converts SPARC's architecture-specific
    'pcibios_set_master()' routine to a non-inlined function. This will
    allow follow on patches to create a generic 'pcibios_set_master()'
    function using the '__weak' attribute which can be used by all
    architectures as a default which, if necessary, can then be over-
    ridden by architecture-specific code.

    Converting 'pci_bios_set_master()' to a non-inlined function will
    allow SPARC's 'pcibios_set_master()' implementation to remain
    architecture-specific after the generic version is introduced and
    thus, not change current behavior.

    No functional change.

    Signed-off-by: Myron Stowe
    Signed-off-by: Jesse Barnes

    Myron Stowe
     

04 Jan, 2012

1 commit


31 Dec, 2011

1 commit


30 Dec, 2011

1 commit

  • Use _AC() in definition of PAGE_SIZE so the same definition
    can be used in C and assembler.
    Also use PAGE_SIZE in definition of THREAD_SIZE.

    This commit kill the following comment:

    "I have my suspicions... -DaveM"

    I did not find any clue what this referred to anyway.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

28 Dec, 2011

3 commits

  • There is no-one that really require atomic64_t support on sparc32.
    But several drivers fails to build without proper atomic64 support.
    And for an allyesconfig build for sparc32 this is annoying.

    Include the generic atomic64_t support for sparc32.
    This has a text footprint cost:

    $size vmlinux (before atomic64_t support)
    text data bss dec hex filename
    3578860 134260 108781 3821901 3a514d vmlinux

    $size vmlinux (after atomic64_t support)
    text data bss dec hex filename
    3579892 130684 108781 3819357 3a475d vmlinux

    text increase (3579892 - 3578860) = 1032 bytes

    data decreases - but I fail to explain why!
    I have rebuild twice to check my numbers.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • arch/sparc/include/asm/atomic_32.h is not exported to userspace.
    So there is no need to protect code using __KERNEL__.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • atomic24 support was used to semaphores in the past - but is no longer used.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

12 Dec, 2011

1 commit


09 Dec, 2011

1 commit

  • 24aa07882b (memblock, x86: Replace memblock_x86_reserve/free_range()
    with generic ones) removed arch/x86/include/asm/memblock.h and dropped
    its inclusion from include/linux/memblock.h which breaks other
    architectures which depended on the generic memblock.h pulling in the
    arch specific one.

    However, the proper fix isn't adding back the asm inclusion. memblock
    doesn't have any arch dependent part and doesn't need arch specific
    header file and asm/memblock.h files are either practically empty or
    contain mostly unrelated arch specific stuff.

    * In microblaze, sh, powerpc, sparc and openrisc, asm/memblock.h is
    either empty or just contains unused MEMBLOCK_DBG() macro. Remove
    them.

    * In arm and unicore32, asm/memblock.h contains arch specific stuff.
    Include it directly from its users. It might be a good idea to
    rename the header file to avoid confusion.

    Signed-off-by: Tejun Heo
    Reported-by: "H. Peter Anvin"
    Cc: Yinghai Lu
    Cc: Russell King
    Cc: Michal Simek
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Guan Xuetao

    Tejun Heo
     

04 Dec, 2011

1 commit


22 Nov, 2011

2 commits


18 Nov, 2011

2 commits


10 Nov, 2011

1 commit

  • The 802.1X EAPOL handshake hostapd does requires
    knowing whether the frame was ack'ed by the peer.
    Currently, we fudge this pretty badly by not even
    transmitting the frame as a normal data frame but
    injecting it with radiotap and getting the status
    out of radiotap monitor as well. This is rather
    complex, confuses users (mon.wlan0 presence) and
    doesn't work with all hardware.

    To get rid of that hack, introduce a real wifi TX
    status option for data frame transmissions.

    This works similar to the existing TX timestamping
    in that it reflects the SKB back to the socket's
    error queue with a SCM_WIFI_STATUS cmsg that has
    an int indicating ACK status (0/1).

    Since it is possible that at some point we will
    want to have TX timestamping and wifi status in a
    single errqueue SKB (there's little point in not
    doing that), redefine SO_EE_ORIGIN_TIMESTAMPING
    to SO_EE_ORIGIN_TXSTATUS which can collect more
    than just the timestamp; keep the old constant
    as an alias of course. Currently the internal APIs
    don't make that possible, but it wouldn't be hard
    to split them up in a way that makes it possible.

    Thanks to Neil Horman for helping me figure out
    the functions that add the control messages.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

09 Nov, 2011

1 commit


01 Nov, 2011

2 commits


28 Oct, 2011

1 commit

  • This was found by inspection while tracking a similar
    bug in compat_statfs64, that has been fixed in mainline
    since decemeber.

    - This fixes a bug where not all of the f_spare fields
    were cleared on mips and s390.
    - Add the f_flags field to struct compat_statfs
    - Copy f_flags to userspace in case someone cares.
    - Use __clear_user to copy the f_spare field to userspace
    to ensure that all of the elements of f_spare are cleared.
    On some architectures f_spare is has 5 ints and on some
    architectures f_spare only has 4 ints. Which makes
    the previous technique of clearing each int individually
    broken.

    I don't expect anyone actually uses the old statfs system
    call anymore but if they do let them benefit from having
    the compat and the native version working the same.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Christoph Hellwig

    Eric W. Biederman
     

08 Oct, 2011

1 commit

  • The LEON MMU Model (SRMMU) does not implement MMu Table probing
    in hardware, instead it is implemented in software. However the
    software implementation does not return the PTE as it should which
    always results in INVALID entires and the PROM mappings are not
    inherited as they should during startup. The following patch
    removes the masking of the PTE.

    Signed-off-by: Daniel Hellstrom
    Signed-off-by: David S. Miller

    Daniel Hellstrom
     

17 Sep, 2011

1 commit


21 Aug, 2011

1 commit

  • If we can't push the pending register windows onto the user's stack,
    we disallow signal delivery even if the signal would be delivered on a
    valid seperate signal stack.

    Add a register window save area in the signal frame, and store any
    unsavable windows there.

    On sigreturn, if any windows are still queued up in the signal frame,
    try to push them back onto the stack and if that fails we kill the
    process immediately.

    This allows the debug/tst-longjmp_chk2 glibc test case to pass.

    Signed-off-by: David S. Miller

    David S. Miller
     

16 Aug, 2011

2 commits

  • The sparc32 version of arch_write_unlock() is just a plain assignment.
    Unfortunately this allows the compiler to schedule side-effects in a
    protected region to occur after the HW-level unlock, which is broken.
    E.g., the following trivial test case gets miscompiled:

    #include
    rwlock_t lock;
    int counter;
    void foo(void) { write_lock(&lock); ++counter; write_unlock(&lock); }

    Fixed by adding a compiler memory barrier to arch_write_unlock(). The
    sparc64 version combines the barrier and assignment into a single asm(),
    and implements the operation as a static inline, so that's what I did too.

    Compile-tested with sparc32_defconfig + CONFIG_SMP=y.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: David S. Miller

    Mikael Pettersson
     
  • The sparc64 spinlock_64.h contains a number of operations defined
    first as static inline functions, and then as macros with the same
    names and parameters as the functions. Maybe this was needed at
    some point in the past, but now nothing seems to depend on these
    macros (checked with a recursive grep looking for ifdefs on these
    names). Other archs don't define these identity-macros.

    So this patch deletes these unnecessary macros.

    Compile-tested with sparc64_defconfig.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: David S. Miller

    Mikael Pettersson
     

06 Aug, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc: Size mondo queues more sanely.
    sparc: Access kernel TSB using physical addressing when possible.
    sparc: Fix __atomic_add_unless() return value.
    sparc: use kbuild-generic support for true asm-generic header files
    sparc: Use popc when possible for ffs/__ffs/ffz.
    sparc: Set reboot-cmd using reboot data hypervisor call if available.
    sparc: Add some missing hypervisor API groups.
    sparc: Use hweight64() in popc emulation.
    sparc: Use popc if possible for hweight routines.
    sparc: Minor tweaks to Niagara page copy/clear.
    sparc: Sanitize cpu feature detection and reporting.

    Linus Torvalds
     

05 Aug, 2011

1 commit


04 Aug, 2011

1 commit


03 Aug, 2011

4 commits


30 Jul, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: remove printks about disabled bridge windows
    PCI: fold pci_calc_resource_flags() into decode_bar()
    PCI: treat mem BAR type "11" (reserved) as 32-bit, not 64-bit, BAR
    PCI: correct pcie_set_readrq write size
    PCI: pciehp: change wait time for valid configuration access
    x86/PCI: Preserve existing pci=bfsort whitelist for Dell systems
    PCI: ARI is a PCIe v2 feature
    x86/PCI: quirks: Use pci_dev->revision
    PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.
    PCI hotplug: cpqphp: use pci_dev->vendor
    PCI hotplug: cpqphp: use pci_dev->subsystem_{vendor|device}
    x86/PCI: config space accessor functions should not ignore the segment argument
    PCI: Assign values to 'pci_obff_signal_type' enumeration constants
    x86/PCI: reduce severity of host bridge window conflict warnings
    PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI
    PCI: PCIe AER: add aer_recover_queue
    x86/PCI: select direct access mode for mmconfig option
    PCI hotplug: Rename is_ejectable which also exists in dock.c

    Linus Torvalds