22 Aug, 2012

1 commit

  • So we've had a fair few reports of fbcon handover breakage between
    efi/vesafb and i915 surface recently, so I dedicated a couple of
    days to finding the problem.

    Essentially the last thing we saw was the conflicting framebuffer
    message and that was all.

    So after much tracing with direct netconsole writes (printks
    under console_lock not so useful), I think I found the race.

    Thread A (driver load) Thread B (timer thread)
    unbind_con_driver -> |
    bind_con_driver -> |
    vc->vc_sw->con_deinit -> |
    fbcon_deinit -> |
    console_lock() |
    | |
    | fbcon_flashcursor timer fires
    | console_lock()
    del_timer_sync
    (BOOM)

    Of course because all of this is under the console lock,
    we never see anything, also since we also just unbound the active
    console guess what we never see anything.

    Hopefully this fixes the problem for anyone seeing vesafb->kms
    driver handoff.

    Signed-off-by: David Airlie
    Acked-by: Alan Cox
    Cc: stable@vger.kernel.org
    Tested-by: Josh Boyer
    Signed-off-by: Linus Torvalds

    Dave Airlie
     

21 Aug, 2012

19 commits

  • Pull PCI fixes from Bjorn Helgaas:
    "Here are two patches from Rafael Wysocki.

    One fixes an EHCI-related hibernation crash on ASUS boxes. We fixed a
    similar suspend issue in v3.6-rc1, and this applies the same fix to
    the hibernate path.

    The other fixes D3/D3cold/D4 messages related to the D3cold support we
    merged in v3.6-rc1."

    (Removed redundant top non-fast-forward merge commit from pulled branch)

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: EHCI: Fix crash during hibernation on ASUS computers
    PCI / PM: Fix D3/D3cold/D4 messages printed by acpi_pci_set_power_state()

    Linus Torvalds
     
  • Pull config cleanup for ia64 from Tony Luck:
    "Clean out references to dead CONFIG_MISC_DEVICES option"

    * tag 'please-pull-ia64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] defconfig: Remove CONFIG_MISC_DEVICES

    Linus Torvalds
     
  • Pull more USB patches from Greg Kroah-Hartman:
    "Here are 10 more USB patches for 3.6-rc3. They all fix reported
    problems (build problems for one of them, and easily repeatable oopses
    for the others.)

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'usb-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    gpu/mfd/usb: Fix USB randconfig problems
    USB: CDC ACM: Fix NULL pointer dereference
    USB: emi62: remove __devinit* from the struct usb_device_id table
    USB: winbond: remove __devinit* from the struct usb_device_id table
    USB: vt6656: remove __devinit* from the struct usb_device_id table
    USB: rtl8187: remove __devinit* from the struct usb_device_id table
    USB: p54usb: remove __devinit* from the struct usb_device_id table
    USB: spca506: remove __devinit* from the struct usb_device_id table
    USB: jl2005bcd: remove __devinit* from the struct usb_device_id table
    USB: smsusb: remove __devinit* from the struct usb_device_id table

    Linus Torvalds
     
  • Pull one more driver core fix from Greg Kroah-Hartman:
    "Here is one fix for the dmesg line corruption problem that the
    previous set of patches caused.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    dyndbg: fix for SOH in logging messages

    Linus Torvalds
     
  • Pull x86 platform driver update from Matthew Garrett:
    "Some small updates for a few drivers, and some hardware enablement for
    new Ideapads and the gmux hardware in the latest Macs.

    This code won't run on older devices and has been well tested on new
    ones, so low risk of regressions."

    * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
    ideapad: add Lenovo IdeaPad Z570 support (part 3)
    ideapad: add Lenovo IdeaPad Z570 support (part 2)
    ideapad: add Lenovo IdeaPad Z570 support (part 1)
    classmate-laptop: always call input_sync() after input_report_switch()
    thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR
    dell-laptop: Fixed typo in touchpad LED quirk
    vga_switcheroo: Don't require handler init callback
    vga_switcheroo: Remove assumptions about registration/unregistration ordering
    apple-gmux: Add display mux support
    apple-gmux: Fix kconfig dependencies
    asus-wmi: record wlan status while controlled by userapp
    apple_gmux: Fix ACPI video unregister
    apple_gmux: Add support for newer hardware
    gmux: Add generic write32 function

    Linus Torvalds
     
  • Pull a hwmon fix from Guenter Roeck:
    "One patch with section conflict fixes."

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    sections: Fix section conflicts in drivers/hwmon

    Linus Torvalds
     
  • Pull spi fixes from Mark Brown:
    "Grant is still away so another pull request with some fairly minor
    fixes, the most notable of which are several fixes for some common
    error patterns with the reference counting spi_master_get/put do."

    * tag 'spi-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
    spi/coldfire-qspi: Drop extra calls to spi_master_get in suspend/resume functions
    spi: spi-coldfire-qspi: Drop extra spi_master_put in device remove function
    spi/pl022: fix spi-pl022 pm enable at probe
    spi/bcm63xx: Ensure that memory is freed only after it is no longer used
    spi: omap2-mcspi: Fix the error handling in probe
    spi/s3c64xx: Add missing static storage class specifiers

    Linus Torvalds
     
  • commit 7c5763b845 (drivers:misc: Remove MISC_DEVICES config option) removed
    CONFIG_MISC_DEVICES option, so remove the occurrences from the config files
    as well.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Tony Luck

    Fabio Estevam
     
  • Pull regulator fixes from Mark Brown:
    "A bunch of fixes which are a combination of minor fixes that have been
    shaken down due to greater testing exposure, the biggest block of
    which are for the Palmas driver which hadn't had all the changes
    required for mainline properly tested when it was merged."

    * tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: twl-regulator: fix up VINTANA1/VINTANA2
    regulator: core: request only valid gpio pins for regulator enable
    regulator: twl: Remove references to the twl4030 regulator
    regulator: gpio-regulator: Split setting of voltages and currents
    regulator: ab3100: add missing voltage table
    regulator: anatop: Fix wrong mask used in anatop_get_voltage_sel
    regulator: tps6586x: correct vin pin for sm0/sm1/sm2
    regulator: palmas: Fix palmas_probe error handling
    regulator: palmas: Call palmas_ldo_[read|write] in palmas_ldo_init
    regulator: palmas: Fix regmap offsets for PALMAS_REG_SMPS10 vsel_reg
    regulator: palmas: Fix calculating selector in palmas_map_voltage_ldo

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:
    "Two fixes are necessary. One patch fixes a boot crash on MacBook Air
    with interrupt remapping enabled and the other patch fixes a
    regression (which causes a boot crash on AMD IOMMUv2 systems too) in
    the init code of the AMD IOMMU driver."

    * tag 'iommu-fixes-v3.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: Fix wrong check for ARRAY_SIZE()
    irq_remap: disable IRQ remapping if any IOAPIC lacks an IOMMU

    Linus Torvalds
     
  • Fix config warning:

    warning: ( ... && DRM_USB) selects USB which has unmet direct dependencies
    (USB_SUPPORT && USB_ARCH_HAS_HCD)

    and build error:
    ERROR: "usb_speed_string" [drivers/usb/core/usbcore.ko] undefined!

    by adding the missing dependency on USB_ARCH_HAS_HCD to DRM_UDL and DRM_USB.

    This exposes:
    drivers/video/Kconfig:36:error: recursive dependency detected!
    drivers/video/Kconfig:36: symbol FB is selected by DRM_KMS_HELPER
    drivers/gpu/drm/Kconfig:28: symbol DRM_KMS_HELPER is selected by DRM_UDL
    drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD
    drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
    drivers/usb/Kconfig:16: symbol USB_ARCH_HAS_OHCI depends on I2C
    drivers/i2c/Kconfig:5: symbol I2C is selected by FB_DDC
    drivers/video/Kconfig:86: symbol FB_DDC is selected by FB_CYBER2000_DDC
    drivers/video/Kconfig:385: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
    drivers/video/Kconfig:373: symbol FB_CYBER2000 depends on FB

    which is due to drivers/usb/Kconfig:
    config USB_ARCH_HAS_OHCI
    ...
    default y if ARCH_PNX4008 && I2C

    Fix by dropping I2C from the above dependency; logic is that this is not a
    platform dependency but a configuration dependency: the _architecture_ still
    supports USB even is I2C is not selected.

    This exposes:
    drivers/video/Kconfig:36:error: recursive dependency detected!
    drivers/video/Kconfig:36: symbol FB is selected by DRM_KMS_HELPER
    drivers/gpu/drm/Kconfig:28: symbol DRM_KMS_HELPER is selected by DRM_UDL
    drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD
    drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
    drivers/usb/Kconfig:17: symbol USB_ARCH_HAS_OHCI depends on MFD_TC6393XB
    drivers/mfd/Kconfig:396: symbol MFD_TC6393XB depends on GPIOLIB
    drivers/gpio/Kconfig:35: symbol GPIOLIB is selected by FB_VIA
    drivers/video/Kconfig:1560: symbol FB_VIA depends on FB

    which can be fixed by having MFD_TC6393XB select GPIOLIB instead of depending on
    it.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • Pull x86 fixes from Ingo Molnar.

    A x32 socket ABI fix with a -stable backport tag among other fixes.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x32: Use compat shims for {g,s}etsockopt
    Revert "x86-64/efi: Use EFI to deal with platform wall clock"
    x86, apic: fix broken legacy interrupts in the logical apic mode
    x86, build: Globally set -fno-pic
    x86, avx: don't use avx instructions with "noxsave" boot param

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar.

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Fix migration thread runtime bogosity
    sched,rt: fix isolated CPUs leaving root_task_group indefinitely throttled
    sched,cgroup: Fix up task_groups list
    sched: fix divide by zero at {thread_group,task}_times
    sched, cgroup: Reduce rq->lock hold times for large cgroup hierarchies

    Linus Torvalds
     
  • Pull x86 perf fixes from Ingo Molnar.

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: disable PEBS on a guest entry.
    perf/x86: Add Intel Westmere-EX uncore support
    perf/x86: Fixes for Nehalem-EX uncore driver
    perf, x86: Fix uncore_types_exit section mismatch

    Linus Torvalds
     
  • Pull a mutex fix from Ingo Molnar.

    Fix the fastpath_lock failure contention flag for xchg-based mutexes.

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    mutex: Place lock in contended state after fastpath_lock failure

    Linus Torvalds
     
  • compat_sys_{read,write}v() need the same "pass a copy of file->f_pos" thing
    as sys_{read,write}{,v}().

    Signed-off-by: Al Viro
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • The patch adds support for Lenovo IdeaPad Z570 laptop. It makes all special
    keys working, adds possibility to control fan like Windows does, controls
    Touchpad Disabled LED, toggles touchpad state via keyboard controller and
    corrects touchpad behavior on resume from suspend. It is new, modified
    version of patch. Now it does not depend on psmouse and does not need patching
    of input subsystem.

    Signed-off-by: Maxim Mikityanskiy

    This is the part 3 for fan control

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Maxim Mikityanskiy
     
  • The patch adds support for Lenovo IdeaPad Z570 laptop. It makes all special
    keys working, adds possibility to control fan like Windows does, controls
    Touchpad Disabled LED, toggles touchpad state via keyboard controller and
    corrects touchpad behavior on resume from suspend. It is new, modified
    version of patch. Now it does not depend on psmouse and does not need patching
    of input subsystem.

    Signed-off-by: Maxim Mikityanskiy

    This is part 2 for touchpad toggle

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Maxim Mikityanskiy
     
  • The patch adds support for Lenovo IdeaPad Z570 laptop. It makes all special
    keys working, adds possibility to control fan like Windows does, controls
    Touchpad Disabled LED, toggles touchpad state via keyboard controller and
    corrects touchpad behavior on resume from suspend. It is new, modified
    version of patch. Now it does not depend on psmouse and does not need patching
    of input subsystem.

    Signed-off-by: Maxim Mikityanskiy

    This is part 1 for special button handling.

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Maxim Mikityanskiy
     

19 Aug, 2012

16 commits

  • Merge alpha architecture update from Michael Cree:
    "The Alpha Maintainer, Matt Turner, is currently unavailable, so I have
    collected up patches that have been posted to the linux-alpha mailing
    list over the last couple of months, and are forwarding them to you in
    the hope that you are prepared to accept them via me.

    The patches by Al Viro and myself I have been running against kernels
    for two months now so have had quite a bit of testing. All except one
    patch were intended for the 3.5 kernel but because of Matt's
    unavailability never got forwarded to you."

    * emailed patches from Michael Cree : (9 commits)
    alpha: Fix fall-out from disintegrating asm/system.h
    Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts
    alpha: fix fpu.h usage in userspace
    alpha/mm/fault.c: Port OOM changes to do_page_fault
    alpha: take kernel_execve() out of entry.S
    alpha: take a bunch of syscalls into osf_sys.c
    alpha: Use new generic strncpy_from_user() and strnlen_user()
    alpha: Wire up cross memory attach syscalls
    alpha: Don't export SOCK_NONBLOCK to user space.

    Linus Torvalds
     
  • Commit ec2212088c42 ("Disintegrate asm/system.h for Alpha") removed
    asm/system.h however arch/alpha/oprofile/common.c requires definitions
    that were shifted from asm/system.h to asm/special_insns.h. Include
    that.

    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Michael Cree
     
  • The following build error occurred during an alpha build:

    net/core/sock.c:274:36: error: initializer element is not constant

    Dave Anglin says:
    > Here is the line in sock.i:
    >
    > struct static_key memalloc_socks = ((struct static_key) { .enabled =
    > ((atomic_t) { (0) }) });

    The above line contains two compound literals. It also uses a designated
    initializer to initialize the field enabled. A compound literal is not a
    constant expression.

    The location of the above statement isn't fully clear, but if a compound
    literal occurs outside the body of a function, the initializer list must
    consist of constant expressions.

    Cc:
    Signed-off-by: Mel Gorman
    Signed-off-by: Fengguang Wu
    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • After commit ec2212088c42 ("Disintegrate asm/system.h for Alpha"), the
    fpu.h header which we install for userland started depending on
    special_insns.h which is not installed.

    However, fpu.h only uses that for __KERNEL__ code, so protect the
    inclusion the same way to avoid build breakage in glibc:

    /usr/include/asm/fpu.h:4:31: fatal error: asm/special_insns.h: No such file or directory

    Cc: stable@vger.kernel.org
    Reported-by: Matt Turner
    Signed-off-by: Mike Frysinger
    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • Commit d065bd810b6d ("mm: retry page fault when blocking on disk
    transfer") and 37b23e0525d3 ("x86,mm: make pagefault killable")
    introduced changes into the x86 pagefault handler for making the page
    fault handler retryable as well as killable.

    These changes reduce the mmap_sem hold time, which is crucial during OOM
    killer invocation.

    Port these changes to ALPHA.

    Signed-off-by: Mohd. Faris
    Signed-off-by: Kautuk Consul
    Acked-by: Matt Turner
    Signed-off-by: Michael Cree
    Signed-off-by: Linus Torvalds

    Kautuk Consul
     
  • Signed-off-by: Al Viro
    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • New helper: current_thread_info(). Allows to do a bunch of odd syscalls
    in C. While we are at it, there had never been a reason to do
    osf_getpriority() in assembler. We also get "namespace"-aware (read:
    consistent with getuid(2), etc.) behaviour from getx?id() syscalls now.

    Signed-off-by: Al Viro
    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Similar to x86/sparc/powerpc implementations except:
    1) we implement an extremely efficient has_zero()/find_zero()
    sequence with both prep_zero_mask() and create_zero_mask()
    no-operations.
    2) Our output from prep_zero_mask() differs in that only the
    lowest eight bits are used to represent the zero bytes
    nevertheless it can be safely ORed with other similar masks
    from prep_zero_mask() and forms input to create_zero_mask(),
    the two fundamental properties prep_zero_mask() must satisfy.

    Tests on EV67 and EV68 CPUs revealed that the generic code is
    essentially as fast (to within 0.5% of CPU cycles) of the old
    Alpha specific code for large quadword-aligned strings, despite
    the 30% extra CPU instructions executed. In contrast, the
    generic code for unaligned strings is substantially slower (by
    more than a factor of 3) than the old Alpha specific code.

    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Michael Cree
     
  • Add sys_process_vm_readv and sys_process_vm_writev to Alpha.

    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Michael Cree
     
  • Currently we export SOCK_NONBLOCK to user space but that conflicts with
    the definition from glibc leading to compilation errors in user programs
    (e.g. see Debian bug #658460).

    The generic socket.h restricts the definition of SOCK_NONBLOCK to the
    kernel, as does the MIPS specific socket.h, so let's do the same on
    Alpha.

    Signed-off-by: Michael Cree
    Acked-by: Matt Turner
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Michael Cree
     
  • commit af7f2158fde was done against master, and clashed with structured
    logging's change of KERN_LEVEL to SOH.

    Bisected and fixed by Markus Trippelsdorf.

    Reported-by: Markus Trippelsdorf
    Signed-off-by: Jim Cromie
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Jason Baron
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Markus Trippelsdorf
     
  • Pull ARM fixes from Russell King:
    "The largest thing in this set of changes is bringing back some of the
    ARMv3 code to fix a compile problem noticed on RiscPC, which we still
    support, even though we only support ARMv4 there.

    (The reason is that the system bus doesn't support ARMv4 half-word
    accesses, so we need the ARMv3 library code for this platform.)

    The rest are all quite minor fixes."

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7490/1: Drop duplicate select for GENERIC_IRQ_PROBE
    ARM: Bring back ARMv3 IO and user access code
    ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems
    ARM: 7488/1: mm: use 5 bits for swapfile type encoding
    ARM: 7487/1: mm: avoid setting nG bit for user mappings that aren't present
    ARM: 7486/1: sched_clock: update epoch_cyc on resume
    ARM: 7484/1: Don't enable GENERIC_LOCKBREAK with ticket spinlocks
    ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled
    ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology

    Linus Torvalds
     
  • Signed-off-by: Andi Kleen
    Signed-off-by: Guenter Roeck

    Andi Kleen
     
  • Pull power management fixes from Rafael J. Wysocki:
    - Fixes for three obscure problems in the runtime PM core code found
    recently.
    - Two fixes for the new "coupled" cpuidle code from Colin Cross and Jon
    Medhurst.
    - intel_idle driver fix from Konrad Rzeszutek Wilk.

    * tag 'pm-for-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    intel_idle: Check cpu_idle_get_driver() for NULL before dereferencing it.
    cpuidle: Prevent null pointer dereference in cpuidle_coupled_cpu_notify
    cpuidle: coupled: fix sleeping while atomic in cpu notifier
    PM / Runtime: Check device PM QoS setting before "no callbacks" check
    PM / Runtime: Clear power.deferred_resume on success in rpm_suspend()
    PM / Runtime: Fix rpm_resume() return value for power.no_callbacks set

    Linus Torvalds
     
  • Some of the arguments to {g,s}etsockopt are passed in userland pointers.
    If we try to use the 64bit entry point, we end up sometimes failing.

    For example, dhcpcd doesn't run in x32:
    # dhcpcd eth0
    dhcpcd[1979]: version 5.5.6 starting
    dhcpcd[1979]: eth0: broadcasting for a lease
    dhcpcd[1979]: eth0: open_socket: Invalid argument
    dhcpcd[1979]: eth0: send_raw_packet: Bad file descriptor

    The code in particular is getting back EINVAL when doing:
    struct sock_fprog pf;
    setsockopt(s, SOL_SOCKET, SO_ATTACH_FILTER, &pf, sizeof(pf));

    Diving into the kernel code, we can see:
    include/linux/filter.h:
    struct sock_fprog {
    unsigned short len;
    struct sock_filter __user *filter;
    };

    net/core/sock.c:
    case SO_ATTACH_FILTER:
    ret = -EINVAL;
    if (optlen == sizeof(struct sock_fprog)) {
    struct sock_fprog fprog;

    ret = -EFAULT;
    if (copy_from_user(&fprog, optval, sizeof(fprog)))
    break;

    ret = sk_attach_filter(&fprog, sk);
    }
    break;

    arch/x86/syscalls/syscall_64.tbl:
    54 common setsockopt sys_setsockopt
    55 common getsockopt sys_getsockopt

    So for x64, sizeof(sock_fprog) is 16 bytes. For x86/x32, it's 8 bytes.
    This comes down to the pointer being 32bit for x32, which means we need
    to do structure size translation. But since x32 comes in directly to
    sys_setsockopt, it doesn't get translated like x86.

    After changing the syscall table and rebuilding glibc with the new kernel
    headers, dhcp runs fine in an x32 userland.

    Oddly, it seems like Linus noted the same thing during the initial port,
    but I guess that was missed/lost along the way:
    https://lkml.org/lkml/2011/8/26/452

    [ hpa: tagging for -stable since this is an ABI fix. ]

    Bugzilla: https://bugs.gentoo.org/423649
    Reported-by: Mads
    Signed-off-by: Mike Frysinger
    Link: http://lkml.kernel.org/r/1345320697-15713-1-git-send-email-vapier@gentoo.org
    Cc: H. J. Lu
    Cc: v3.4..v3.5
    Signed-off-by: H. Peter Anvin

    Mike Frysinger
     
  • Pull vfs fixes from Miklos Szeredi.

    This mainly fixes some confusion about whether the open 'mode' variable
    passed around should contain the full file type (S_IFREG etc)
    information or just the permission mode. In particular, the lack of
    proper file type information had confused fuse.

    * 'vfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    vfs: fix propagation of atomic_open create error on negative dentry
    fuse: check create mode in atomic open
    vfs: pass right create mode to may_o_create()
    vfs: atomic_open(): fix create mode usage
    vfs: canonicalize create mode in build_open_flags()

    Linus Torvalds
     

18 Aug, 2012

4 commits

  • If a device specifies zero endpoints in its interface descriptor,
    the kernel oopses in acm_probe(). Even though that's clearly an
    invalid descriptor, we should test wether we have all endpoints.
    This is especially bad as this oops can be triggered by just
    plugging a USB device in.

    Signed-off-by: Sven Schnelle
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Sven Schnelle
     
  • This structure needs to always stick around, even if CONFIG_HOTPLUG
    is disabled, otherwise we can oops when trying to probe a device that
    was added after the structure is thrown away.

    Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down.

    Reported-by: Fengguang Wu
    Reported-by: Bjørn Mork
    Cc: stable
    CC: Paul Gortmaker
    CC: Andrew Morton
    CC: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This structure needs to always stick around, even if CONFIG_HOTPLUG
    is disabled, otherwise we can oops when trying to probe a device that
    was added after the structure is thrown away.

    Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down.

    Reported-by: Fengguang Wu
    Reported-by: Bjørn Mork
    Cc: stable
    CC: Pavel Machek
    CC: Paul Gortmaker
    CC: "John W. Linville"
    CC: Eliad Peller
    CC: Devendra Naga
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This structure needs to always stick around, even if CONFIG_HOTPLUG
    is disabled, otherwise we can oops when trying to probe a device that
    was added after the structure is thrown away.

    Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down.

    Reported-by: Fengguang Wu
    Reported-by: Bjørn Mork
    Cc: stable
    CC: Forest Bond
    CC: Marcos Paulo de Souza
    CC: "David S. Miller"
    CC: Jesper Juhl
    CC: Jiri Pirko
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman