2012-10-28 20:00:15

by Linus Torvalds

[permalink] [raw]
Subject: Linux 3.7-rc3

It's been a week, time for -rc3!

Nothing particularly stands out here. Lots of small fixes, exemplified
by the series of memory leak fixes in usb serial drivers. Just a lot
of random stuff..

Most of it is drivers (all over: drm, wireless, staging, usb, sound),
but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
(arm, x86 and m68k) and just random stuff. Shortlog appended.

And talking about the shortlog: christ people, some of you need to
change your names. I'm used to there being multiple "David"s and
"Peter"s etc, but there are three different Linus's in just this rc.
People, people, I want to feel like the unique snowflake I am, not
like just another anonymous guy in a crowd.

I'm getting myself a broadsword.

Linus "there can be only one" Torvalds

---
Aaro Koskinen (2):
spi: tsc2005: delete soon-obsolete e-mail address
ARM: 7555/1: kexec: fix segment memory addresses check

Adrian Knoth (9):
ALSA: hdspm - Allow DDS/Varispeed to be set from userspace
ALSA: hdspm - Report external rate in slave mode on PCI MADI
ALSA: hdspm - Fix sync check reporting on all RME HDSPM cards
ALSA: hdspm - Fix reported autosync_sample_rate
ALSA: hdspm - Also report autosync_sample_rate on MADI and MADIface
ALSA: hdspm - Fix sync_in reporting on RME MADI cards
ALSA: hdspm - Fix sync_in detection on AES/AES32
ALSA: hdspm - Fix typo in kcontrol element on RME MADI cards
ALSA: hdspm - Fix coding style in CTL_ELEM macros

Al Viro (1):
alpha: separate thread-synchronous flags

Alan Cox (1):
ACPI: missing break

Alex Deucher (6):
drm/radeon: add some new SI PCI ids
drm/radeon: fix sparse warning
drm/radeon: give each backlight a unique id
drm/radeon: add error output if VM CS fails on cayman
drm/radeon: fix ATPX function documentation
drm/radeon: fix ATPX regression in acpi rework

Alex Lyakas (1):
Btrfs: Send: preserve ownership (uid and gid) also for symlinks.

Andre Przywara (1):
x86/perf: Fix virtualization sanity check

Andreas Herrmann (1):
cpufreq / powernow-k8: Remove usage of smp_processor_id() in
preemptible code

Andreas Larsson (1):
iio: Remove duplicates for light/ in Kconfig and Makefile

Andrew Morton (1):
amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[]

Andrew Vagin (1):
pidns: limit the nesting depth of pid namespaces

Anisse Astier (2):
ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS versions
ehci: Add yet-another Lucid nohandoff pci quirk

Aristeu Rozanski (3):
device_cgroup: rename deny_all to behavior
device_cgroup: stop using simple_strtoul()
device_cgroup: add proper checking when changing default behavior

Arnaldo Carvalho de Melo (2):
perf trace: Validate syscall id before growing syscall table
perf trace: Check if sample raw_data field is set

Arnd Bergmann (13):
ipvs: initialize returned data in do_ip_vs_get_ctl
ARM: kprobes: make more tests conditional
ARM: export set_irq_flags
ARM: Fix another build warning in arch/arm/mm/alignment.c
ARM: export default read_current_timer
ARM: Xen: fix initial build problems
ARM: pass -marm to gcc by default for both C and assembler
ARM: be really quiet when building with 'make -s'
ARM: binfmt_flat: unused variable 'persistent'
ARM: warnings in arch/arm/include/asm/uaccess.h
ARM: at91: fix at91x40 build
ARM: versatile: fix versatile_defconfig
Revert "ARM i.MX25: Fix PWM per clock lookups"

Arne Jansen (1):
Btrfs: send correct rdev and mode in btrfs-send

Arve Hj?nnev?g (2):
Staging: android: binder: Fix memory leak on thread/process exit
Staging: android: binder: Allow using highmem for binder buffers

Axel Lin (4):
extcon: adc-jack: Fix checking return value of request_any_context_irq
extcon: adc-jack: Add missing MODULE_LICENSE
extcon: Fix kerneldoc for extcon_set_cable_state and
extcon_set_cable_state_
extcon: max77693: Use max77693_update_reg for rmw operations

Barry Song (2):
dmaengine: sirf: fix a typo in dma_prep_interleaved
dmaengine: sirf: fix a typo in moving running dma_desc to active queue

Ben Skeggs (4):
drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size
drm/nv41/vm: don't init hw pciegart on boards with agp bridge
drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs
drm/nouveau/clock: fix missing pll type/addr when matching default entry

Bing Zhao (2):
mwifiex: return -EBUSY if specific scan request cannot be honored
mwifiex: clean up scan state on error

Bj?rn Mork (1):
net: qmi_wwan: adding more ZTE devices

Bo Shen (2):
ARM: at91/i2c: change id to let i2c-gpio work
ARM: at91/i2c: change id to let i2c-at91 work

Bob Liu (2):
mm: cma: alloc_contig_range: return early for err path
mm/page_alloc.c:alloc_contig_range(): return early for err path

Chanwoo Choi (1):
extcon: MAX77693: Add platform data for MUIC device to
initialize registers

Chris Metcalf (3):
arch/tile: avoid generating .eh_frame information in modules
arch/tile: avoid build warnings from duplicate ELF_R_xxx #defines
tilegx: fix some issues in the SW TSO support

Chris Wilson (2):
drm/i915: Add no-lvds quirk for Supermicro X7SPA-H
drm/i915: Initialize obj->pages before use by
i915_gem_object_do_bit17_swizzle()

Christian K?nig (9):
drm/radeon: fix PFP sync in vm_flush
drm/radeon: fix cayman_vm_set_page v2
drm/radeon: fix si_set_page v2
drm/radeon: remove set_page check from VM code
drm/radeon: fix header size estimation in VM code
drm/radeon: fix and simplify pot argument checks v3
drm/radeon: use vzalloc for gart pages
drm/radeon: move size limits to gem_object_create.
drm/radeon: move the retry to gem_object_create

Christian Lamparter (1):
rtlwifi: pass rx setup error code to caller

Daisuke Nishimura (1):
cgroup: notify_on_release may not be triggered in some cases

Dan Carpenter (2):
oprofile, x86: Fix wrapping bug in op_x86_get_ctrl()
brcmfmac: fix end of loop check (signedness bug)

Dan Magenheimer (1):
workqueue: cancel_delayed_work() should return %false if work item is idle

Dan Williams (1):
qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan

Daniel Hazelton (1):
tools/testing/selftests/epoll/test_epoll.c: fix build

Daniel Mack (1):
usb: musb: dsps: fix res_name length

Daniel Vetter (2):
Revert "drm/i915: Try harder to complete DP training pattern 1"
drm/i915: shut up spurious WARN in the gtt fault handler

Dave Jones (1):
USB: Add missing license tag to ezusb driver.

Dave Young (1):
Revert "x86/mm: Fix the size calculation of mapping tables"

David Howells (4):
UAPI: (Scripted) Disintegrate arch/m68k/include/asm
UAPI: Make arch/ia64/include/asm/kvm_para.h generic
s390,uapi: do not use uapi/asm-generic/kvm_para.h
UAPI: fix tools/vm/page-types.c

David Rientjes (1):
mm, numa: avoid setting zone_reclaim_mode unless a node is
sufficiently distant

David Vrabel (1):
xen/x86: don't corrupt %eip when returning from a signal handler

Denis Kirjanov (1):
ALSA: als3000: check for the kzalloc return value

Devendra Naga (1):
extcon-max8997: remove usage of ret in
max8997_muic_handle_charger_type_detach

Dimitri Sivanich (1):
x86/irq/ioapic: Check for valid irq_cfg pointer in
smp_irq_move_cleanup_interrupt

Dmitry Monakhov (2):
ext4: serialize fallocate with ext4_convert_unwritten_extents
ext4: race-condition protection for ext4_convert_unwritten_extents_endio

Dmitry Torokhov (2):
char_dev: pin parent kobject
Input: fix use-after-free introduced with dynamic minor changes

Dong Aisheng (1):
regmap: select REGMAP if REGMAP_MMIO and REGMAP_IRQ enabled

Dotan Barak (2):
mlx4_core: Perform correct resource cleanup if mlx4_QUERY_ADAPTER() fails
net/mlx4_core: Unmap UAR also in the case of error flow

Doug Ledford (1):
IB/mlx4: Fix build error on platforms where UL is not 64 bits

Egbert Eich (4):
DRM/i915: Don't delete DPLL Multiplier during DAC init.
DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines.
DRM/i915: Don't clone SDVO LVDS with analog.
DRM/i915: Restore sdvo_flags after dtd->mode->dtd Roundrtrip.

Eli Cohen (1):
IB/mlx4: Synchronize cleanup of MCGs in MCG paravirtualization

Elison Niven (1):
netfilter: xt_nat: fix incorrect hooks for SNAT and DNAT targets

Eric Dumazet (4):
netfilter: xt_TEE: don't use destination address found in header
netlink: use kfree_rcu() in netlink_release()
tcp: fix FIONREAD/SIOCINQ
net: fix secpath kmemleak

Fabio Estevam (3):
ARM: imx_v6_v7_defconfig: Enable CONFIG_GPIO_MC9S08DZ60
ARM: imx: clk-imx27: Fix divider width field
ARM: mxc: platform-mxc-mmc: Fix register region size

Felipe Balbi (1):
Revert "serial: omap: fix software flow control"

Felix Fietkau (2):
mac80211: use ieee80211_free_txskb in a few more places
Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz"

Franky Lin (2):
brcmfmac: use control channel in roamed status reporting
brcmfmac: set dongle mode accordingly when interface up

Fred Brooks (1):
staging: comedi: ni_daq_700: fix dio subdevice regression

Gabriel de Perthuis (1):
Fix a sign bug causing invalid memory access in the ino_paths ioctl.

Gavin Shan (1):
mm/mmu_notifier: allocate mmu_notifier in advance

Geert Uytterhoeven (3):
m68k: Remove empty #ifdef/#else/#endif block
m68k: Wire up kcmp
sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat()

Gerald Schaefer (1):
s390/thp: select HAVE_ARCH_TRANSPARENT_HUGEPAGE

Gleb Natapov (1):
KVM: apic: fix LDR calculation in x2apic mode

H. Peter Anvin (1):
Makefile: Documentation for external tool should be correct

Hante Meuleman (1):
brcmfmac: handle all exceptions as an error.

Haojian Zhuang (1):
pinctrl: remove mutex lock in groups show

Heiko Carstens (2):
s390: fix linker script for 31 bit builds
s390/cache: fix data/instruction cache output

Heiko Stuebner (1):
ARM: SAMSUNG: Add naming of s3c64xx-spi devices

Hein Tibosch (1):
drivers/dma/dw_dmac: make driver's endianness configurable

Hemant Kumar (1):
net: usb: Fix memory leak on Tx data path

Hendrik Brueckner (1):
perf_cpum_cf: Add support for counters available with IBM zEC12

Hiro Sugawara (1):
iommu/tegra: smmu: Fix deadly typo

Huang Shijie (1):
ARM: dts: mxs: add the "clock-names" for gpmi-nand

Ian Abbott (7):
staging: comedi: 8255_pci: fix possible NULL deref during detach
staging: comedi: amplc_dio200: fix possible NULL deref during detach
staging: comedi: amplc_pc236: fix invalid register access during detach
staging: comedi: amplc_pc236: fix possible NULL deref during detach
staging: comedi: amplc_pc263: fix possible NULL deref during detach
staging: comedi: das08: fix possible NULL deref during detach
staging: comedi: ni_labpc: fix possible NULL deref during detach

Ian Campbell (11):
xen: xenbus: quirk uses x86 specific cpuid
xen: sysfs: include err.h for PTR_ERR etc
xen: sysfs: fix build warning.
xen: XENMEM_translate_gpfn_list was remove ages ago and is unused.
xen: events: pirq_check_eoi_map is X86 specific
xen: grant: use xen_pfn_t type for frame_list.
xen: balloon: don't include e820.h
xen: arm: make p2m operations NOPs
xen: balloon: use correct type for frame_list
xen: arm: comment on why 64-bit xen_pfn_t is safe even on 32 bit
xen: dbgp: Fix warning when CONFIG_PCI is not enabled.

Ivan Shugov (1):
ARM: at91: at91sam9g10: fix SOC type detection

Jack Morgenstein (2):
IB/mlx4: Fix QP1 P_Key processing in the Primary Physical Function (PPF)
net/mlx4_en: Fix double-release-range in tx-rings

Jacob Shin (1):
x86, mm: Find_early_table_space based on ranges that are
actually being mapped

Jan Beulich (1):
x86-64: Fix page table accounting

Jan Kara (1):
mm: fix XFS oops due to dirty pages without buffers on s390

Jan Luebbe (1):
drivers/rtc/rtc-imxdi.c: add missing spin lock initialization

Jan Schmidt (7):
Btrfs: don't put removals from push_node_left into tree mod log twice
Btrfs: fix a tree mod logging issue for root replacement operations
Btrfs: tree mod log's old roots could still be part of the tree
Btrfs: determine level of old roots
Btrfs: fix extent buffer reference for tree mod log roots
Btrfs: comment for loop in tree_mod_log_insert_move
Btrfs: extended inode refs support for send mechanism

Jason Gerecke (2):
Input: wacom - handle split-sensor devices with internal hubs
Input: wacom - add touch sensor support for Cintiq 24HD touch

Jay Purohit (1):
usb/ipheth: Add iPhone 5 support

Jean Delvare (2):
Documentation: Reflect the new location of the NMI watchdog info
MAINTAINERS: NETWORKING DRIVERS matches too much

Jean-Christophe PLAGNIOL-VILLARD (1):
ARM: at91: drop duplicated config SOC_AT91SAM9 entry

Jenny TC (1):
extcon : register for cable interest by cable name

Jerry Chu (1):
tcp: Reject invalid ack_seq to Fast Open sockets

Jesper Juhl (1):
ACPI: Fix memory leak in acpi_bind_one()

Jingoo Han (2):
ARM: dma-mapping: fix build warning in __dma_alloc()
backlight: ili9320: add missing SPI dependency

Jiri Olsa (1):
perf test: Fix exclude_guest parse events tests

Jiri Pirko (1):
vlan: allow to change type when no vlan device is hooked on netdev

Jiri Slaby (1):
cgroup: fix invalid rcu dereference

Joe Jin (1):
qla3xxx: Ensure request/response queue addr writes to the registers

Joe Perches (1):
dynamic_debug: Remove unnecessary __used

Joerg Roedel (1):
iommu/amd: Work around wrong IOAPIC device-id in IVRS table

Johan Hedberg (1):
Bluetooth: SMP: Fix setting unknown auth_req bits

Johan Hovold (30):
USB: metro-usb: fix port-data memory leak
USB: metro-usb: fix io after disconnect
USB: whiteheat: fix memory leak in error path
USB: whiteheat: fix port-data memory leak
USB: ch341: fix port-data memory leak
USB: digi_acceleport: fix port-data memory leak
USB: mos7720: fix port-data memory leak
USB: omninet: fix port-data memory leak
USB: quatech2: fix memory leak in error path
USB: quatech2: fix port-data memory leaks
USB: quatech2: fix close and disconnect urb handling
USB: quatech2: fix io after disconnect
USB: opticon: fix DMA from stack
USB: opticon: fix memory leak in error path
USB: mct_u232: fix port-data memory leak
USB: mct_u232: fix broken close
USB: keyspan: fix NULL-pointer dereferences and memory leaks
USB: usb-wwan: fix multiple memory leaks in error paths
USB: sierra: fix memory leak in attach error path
USB: sierra: fix memory leak in probe error path
USB: sierra: fix port-data memory leak
USB: mos7840: fix urb leak at release
USB: mos7840: fix port-device leak in error path
USB: ipw: fix interface-data memory leak in error path
USB: option: fix interface-data memory leak in error path
USB: qcserial: fix interface-data memory leak in error path
USB: mos7840: remove NULL-urb submission
USB: mos7840: remove invalid disconnect handling
USB: mos7840: fix port-data memory leak
USB: mos7840: fix port_probe flow

Johannes Berg (2):
iwlwifi: fix 6000 series channel switch command
mac80211: connect with HT20 if HT40 is not permitted

John Johansen (1):
apparmor: fix IRQ stack overflow during free_profile

Josef Bacik (2):
Btrfs: Use btrfs_update_inode_fallback when creating a snapshot
Btrfs: do not bug when we fail to commit the transaction

Josh Wu (1):
ARM: at91/tc: fix typo in the DT document

Jouni Malinen (1):
mac80211: Fix FC masking in BIP AAD generation

Julia Lawall (1):
ALSA: sound/isa/opti9xx/miro.c: eliminate possible double free

K. Y. Srinivasan (1):
Drivers: hv: Cleanup error handling in vmbus_open()

Kees Cook (2):
gen_init_cpio: avoid stack overflow when expanding
fs/compat_ioctl.c: VIDEO_SET_SPU_PALETTE missing error check

Kevin Hilman (2):
ARM: OMAP2: UART: fix console UART mismatched runtime PM status
ARM: OMAP3: Beagle: fix OPP customization and initcall ordering

Konrad Rzeszutek Wilk (1):
xen/xenbus: Fix compile warning.

Kuninori Morimoto (3):
ARM: shmobile: r8a7779: I/O address abuse cleanup
usb: renesas_usbhs: fixup: avoid NULL access on error case pipe detach
usb: renesas_usbhs: fixup dma transfer stall

Lan Tianyu (2):
usb/xhci: release xhci->lock during turning on/off usb port's
acpi power resource and checking the existence of port's power
resource
usb/xhci: Remove (__force__ __u16) before assigning
DeviceRemovable and assign directly.

Larry Finger (1):
b43: Fix oops on unload when firmware not found

Lars-Peter Clausen (11):
iio: Add some helper macros for unit conversion
staging:iio: Fix adis16201 channel offsets and scales
staging:iio: Fix adis16203 channel offsets and scales
staging:iio: Fix adis16204 channel offsets and scales
staging:iio: Fix adis16209 channel offsets and scales
staging:iio: Fix adis16220 channel offsets and scales
staging:iio: Fix adis16240 channel offsets and scales
staging:iio: Fix adis16260 channel offsets and scales
staging:iio: Fix adis16400 channel offsets and scales
staging:iio:adis16400: Report correct temperature scale and offset
staging:iio:adis16400: Fixup adis16336 temp channel attributes

Laszlo Ersek (1):
xen PV passthru: assign SR-IOV virtual functions to separate virtual slots

Laurent Pinchart (4):
drivers: dma-contiguous: Don't redefine SZ_1M
drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentation
drivers: cma: Fix wrong CMA selected region size default value
ARM: mm: Remove unused arm_vmregion priv field

Lee Jones (5):
ASoC: Ux500: Dispose of device nodes correctly
ASoC: ux500_msp_i2s: Fix devm_* and return code merge error
ARM: ux500: Fix build error relating to IRQCHIP_SKIP_SET_WAKE
ARM: ux500: Specify AMBA Primecell IDs for Nomadik I2C in DT
ARM: ux500: Correct SDI5 address and add some format changes

Lennart Sorensen (1):
USB: serial: Fix memory leak in sierra_release()

Li RongQing (1):
ipv6: Set default hoplimit as zero.

Linus L?ssing (2):
batman-adv: Fix broadcast packet CRC calculation
batman-adv: Fix potential broadcast BLA-duplicate-check race condition

Linus Torvalds (2):
VFS: don't do protected {sym,hard}links by default
Linux 3.7-rc3

Linus Walleij (4):
ARM: 7560/1: SMP_TWD: use DIV_ROUND_CLOSEST() for periodic mode
pinctrl/nomadik: use irq_create_mapping()
pinctrl/nomadik: use zero as default irq_start
pinctrl/nomadik: pass DT node to the irqdomain

Liu Bo (1):
Btrfs: fix memory leak when cloning root's node

Luigi Semenzato (1):
perf tools: do not flush maps on COMM for perf report

Lukas Czerner (4):
ext4: fix undefined bit shift result in ext4_fill_flex_info
jfs: Fix FITRIM argument handling
ext4: Avoid underflow in ext4_trim_fs()
btrfs: Return EINVAL when length to trim is less than FSB

Marcin Slusarz (5):
drm/nouveau: handle same-fb page flips
drm/nouveau: fix nouveau_mm/nouveau_mm_node leak
drm/nouveau: warn when trying to free mm which is still in use
drm/nouveau: validate vbios size
drm/debugfs: remove redundant info from gem_names

Marek Belisko (1):
ARM: at91/dts: at91sam9g20ek_common: Fix typos in buttons labels.

Marek Szyprowski (1):
Revert "ARM: dma-mapping: support debug_dma_mapping_error"

Marek Vasut (2):
spi: mxs: Assign message status after transfer finished
spi: mxs: Terminate DMA in case of DMA timeout

Mark Brown (1):
ASoC: wm8994: Only enable extra BCLK cycles when required

Martin Peres (1):
drm/nouveau/bios: improve error handling when reading the vbios from ACPI

Matt Fleming (2):
MAINTAINERS: Add EFI git repository location
x86/efi: Fix oops caused by incorrect set_memory_uc() usage

Matus Ujhelyi (1):
phy: add AT803x driver

Miao Xie (1):
Btrfs: fix deadlock caused by the nested chunk allocation

Michael Holzheu (1):
s390/kdump: Use 64 bit mode for 0x10000 entry point

Michael S. Tsirkin (1):
vhost: fix mergeable bufs on BE hosts

Michael Shigorin (1):
usb-storage: add unusual_devs entry for Casio EX-N1 digital camera

Michal Hocko (1):
nohz: Fix idle ticks in cpu summary line of /proc/stat

Mikulas Patocka (3):
percpu-rw-semaphores: use light/heavy barriers
percpu-rw-semaphores: use rcu_read_lock_sched
Lock splice_read and splice_write functions

Ming Lei (6):
firmware loader: cancel uncache work before caching firmware
firmware loader: fix one reqeust_firmware race
firmware loader: let direct loading back on 'firmware_buf'
firmware loader: sync firmware cache by async_synchronize_full_domain
ARM: dma-mapping: support debug_dma_mapping_error
firmware loader: document kernel direct loading

Mohammed Shafi Shajakhan (1):
ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation

Moni Shoua (1):
net/mlx4_en: Don't use vlan tag value as an indication for vlan presence

Namhyung Kim (1):
perf help: Fix --help for builtins

Nicolas Ferre (2):
ARM: at91: fix external interrupts in non-DT case
ARM: at91: fix external interrupt specification in board code

Nitin Gupta (1):
staging: zram: Fix handling of incompressible pages

Octavian Purdila (2):
usb hub: send clear_tt_buffer_complete events when canceling TT clear work
usb hub: use flush_work instead of flush_work_sync

Oleg Nesterov (20):
uprobes: Do not leak UTASK_BP_HIT if find_active_uprobe() fails
uprobes: Do not setup ->active_uprobe/state prematurely
uprobes: Fix UPROBE_SKIP_SSTEP checks in handle_swbp()
uprobes: Kill UTASK_BP_HIT state
uprobes: Move clear_thread_flag(TIF_UPROBE) to uprobe_notify_resume()
uprobes: Change write_opcode() to use FOLL_FORCE
uprobes: Change valid_vma() to demand VM_MAYEXEC rather than VM_EXEC
uprobes: Restrict valid_vma(false) to skip VM_SHARED vmas
uprobes: Kill set_swbp()->is_swbp_at_addr()
uprobes: Introduce copy_opcode(), kill read_opcode()
uprobes: Kill set_orig_insn()->is_swbp_at_addr()
uprobes: Simplify is_swbp_at_addr(), remove stale comments
uprobes/x86: Only rep+nop can be emulated correctly
uprobes: Don't return success if alloc_uprobe() fails
uprobes: Do not delete uprobe if uprobe_unregister() fails
uprobes: Fix handle_swbp() vs unregister() + register() race
uprobes: Introduce prepare_uprobe()
uprobes: Fix prepare_uprobe() race with itself
uprobes: Fix the racy uprobe->flags manipulation
freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD

Oliver Neukum (2):
xhci: endianness xhci_calculate_intel_u2_timeout
xhci: fix integer overflow

Olof Johansson (1):
x86: efi: Turn off efi_enabled after setup on mixed fw/kernel

Omar Ramirez Luna (6):
staging: tidspbridge: request the right irq for mmu
staging: tidspbridge: drop const from custom mmu implementation
staging: tidspbridge: change type to __iomem for per and core addresses
staging: tidspbridge: ioremap dsp sync addr
staging: tidspbridge: ioremap physical address of the stack segment in shm
staging: tidspbridge: delete unused mmu functions

Or Gerlitz (1):
mlx4_core: Remove annoying debug messages from SR-IOV flow

Pablo Neira Ayuso (1):
netfilter: xt_CT: fix timeout setting with IPv6

Paul Walmsley (1):
ARM: OMAP3: PM: apply part of the erratum i582 workaround

Pavel Machek (1):
ARM: socfpga: Fix socfpga compilation with early_printk() enabled

Peter Huewe (2):
extcon: Unregister compat class at module unload to fix oops
extcon: unregister compat link on cleanup

Peter Korsgaard (1):
NET_VENDOR_TI: make available for am33xx as well

Peter Ujfalusi (1):
ARM/dts: omap3: Fix mcbsp2/3 hwmods to be able to probe the
drivers for audio

Piotr Haber (1):
bcma: fix unregistration of cores

Pritesh Raithatha (3):
dt: Document: correct tegra20/30 pinctrl slew-rate name
pinctrl: tegra: set low power mode bank width to 2
pinctrl: tegra: correct bank for pingroup and drv pingroup

Randy Dunlap (2):
module_signing: fix printk format warning
staging: ramster: depends on NET

Rodrigo Vivi (1):
drm/i915: Insert i915_preliminary_hw_support variable.

Russell King (1):
ARM: drop experimental status for hotplug and Thumb2

Sachin Kamat (2):
extcon: Remove duplicate inclusion of extcon.h header file
extcon: Fix return value in extcon_register_interest()

Sarah Sharp (4):
xhci: Fix potential NULL ptr deref in command cancellation.
xhci: Fix missing break in xhci_evaluate_context_result.
xhci: trivial: Remove assigned but unused slot_ctx.
xhci: trivial: Remove assigned but unused ep_ctx.

Sascha Hauer (3):
ARM i.MX25: Fix lcdc_ipg_per parent clock
ARM i.MX25 clk: Fix nfc_ipg_per parent
ARM i.MX25: Fix PWM per clock lookups

Sasha Levin (1):
KVM guest: exit idleness when handling KVM_PV_REASON_PAGE_NOT_PRESENT

Sebastian Ott (3):
s390/chpid: make headers usable (again)
s390/cio: use generic bitmap functions
s390/css: stop stsch loop after cc 3

Sergei Trofimovich (1):
staging: ipack: add missing include (implicit declaration of
function 'kfree')

Shimoda, Yoshihiro (1):
spi: spi-rspi: fix build error for the latest shdma driver

Srivatsa S. Bhat (2):
perf, cpu hotplug: Run CPU_STARTING notifiers with irqs disabled
perf, cpu hotplug: Use cached value of smp_processor_id()

Stanislav Yakovlev (1):
net/wireless: ipw2200: Fix panic occurring in ipw_handle_promiscuous_tx()

Stanislaw Gruszka (3):
cfg80211/mac80211: avoid state mishmash on deauth
mac80211: check if key has TKIP type before updating IV
rt2x00: usb: fix reset resume

Stefan Behrens (1):
Btrfs: Fix wrong error handling code

Steffen Klassert (1):
ipv4: Fix flushing of cached routing informations

Stef?n Freyr (1):
ALSA: hda - add dock support for Thinkpad T430

Stephane Grosjean (1):
can: sja1000: fix/add miniPCIe/cPCI PC/104Plus PCI/104e PEAK-System boards

Stephen Boyd (1):
MAINTAINERS: Add arm-soc tree entry

Steven Rostedt (1):
ktest: Fix ktest confusion with CONFIG_MODULES_USE_ELF_RELA

Takashi Iwai (1):
ALSA: hda - Fix silent headphone output from Toshiba P200

Tao Ma (1):
ext4: Checksum the block bitmap properly with bigalloc enabled

Tejun Heo (2):
Revert "cgroup: Drop task_lock(parent) on cgroup_fork()"
Revert "cgroup: Remove task_lock() from cgroup_post_fork()"

Tekkaman Ninja (3):
Documentation:Chinese translation of Documentation/IRQ.txt
Documentation:Chinese translation of Documentation/arm64/booting.txt
Documentation:Chinese translation of Documentation/arm64/memory.txt

Thadeu Lima de Souza Cascardo (2):
RDMA/cxgb4: Don't free chunk that we have failed to allocate
genalloc: stop crashing the system when destroying a pool

Theodore Ts'o (1):
ext4: fix metadata checksum calculation for the superblock

Thierry Reding (3):
drm: fb: cma: Fix typo in debug message
drm: fb: cma: Fail gracefully on allocation failure
drm: platform: Don't initialize driver-private data

Thomas Hellstrom (2):
drm/ttm: Fix a theoretical race
drm/ttm: Fix a theoretical race in ttm_bo_cleanup_refs()

Thomas Petazzoni (1):
ARM: mvebu: update defconfig with 3.7 changes

Tilman Schmidt (1):
bas_gigaset: fix pre_reset handling

Tomasz Figa (2):
ARM: dts: Split memory into 4 sections for exynos4210-trats
ARM: EXYNOS: Set .smp field of machine descriptor for exynos4-dt

Tony Lindgren (2):
ARM: OMAP2+: Fix location of select PINCTRL
ARM: OMAP3: Fix 3430 legacy mux names for ssi1 signals.

Trond Myklebust (12):
NFSv4.1: Kill nfs4_ds_disconnect()
NFSv4.1: Do not call pnfs_return_layout() from an rpciod context
NFSv4.1: Use kcalloc() to allocate zeroed arrays instead of kzalloc()
NFSv4: fs/nfs/nfs4getroot.c needs to include "internal.h"
NFSv4.1: Declare osd_pri_2_pnfs_err(), objio_init_read/write to be static
NFSv4: Fix the return value for nfs_callback_start_svc
SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT
Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..."
SUNRPC: Prevent races in xs_abort_connection()
SUNRPC: Get rid of the xs_error_report socket callback
LOCKD: fix races in nsm_client_get
LOCKD: Clear ln->nsm_clnt only when ln->nsm_users is zero

Tsutomu Itoh (1):
Btrfs: fix memory leak in btrfs_quota_enable()

Tu, Xiaobing (1):
Fix memory leak in cpufreq stats.

Ulf Hansson (1):
spi/pl022: Revert recent runtime PM changes

Vaibhav Hiremath (1):
ARM: AM33XX: Fix configuration of dmtimer parent clock by
dmtimer driverDate:Wed, 17 Oct 2012 13:55:55 -0500

Vaibhav Nagarnaik (1):
ring-buffer: Check for uninitialized cpu buffer before resizing

Veaceslav Falico (4):
pch_gbe: create functions for MAC_RX {en,dis}able
pch_gbe: don't re-set RX_FIFO_ERR flag in napi_poll
pch_gbe: don't reset MAC_RX on FIFO overflow
pch_gbe: fix error handling in pch_gbe_up()

Vince Weaver (6):
perf/x86: Fix P6 FP_ASSIST event constraint
perf/x86: Update/fix generic events on P6 PMU
perf/x86: Remove P6 cpuc->enabled check
perf/x86: Make Intel KNC use full 40-bit width of counters
perf/x86: Remove cpuc->enable check on Intl KNC event enable/disable
perf/x86: Enable overflow on Intel KNC with a custom knc_pmu_handle_irq()

Vincent Penquerc'h (1):
staging: omapdrm: fix allocation size for page addresses array

Vipul Pandya (1):
cxgb4: Remove unnecessary #ifdef condition

Viresh Kumar (1):
ARM: SPEAr: Remove unused empty files

Wei Yang (1):
gianfar_ptp: use iomem, not ioports resource tree in probe

Wei Yongjun (7):
ARM: imx: fix return value check in imx3_init_l2x0()
ARM: imx: fix the return value check in imx_clk_busy_divider()
xen/x86: remove duplicated include from enlighten.c
usb: gadget: net2272: fix missing unlock on error in net2272_irq()
pinctrl: fix missing unlock on error in pinctrl_groups_show()
dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc()
perf/x86: Remove unused variable in nhmex_rbox_alter_er()

Will Deacon (3):
ARM: 7556/1: perf: fix updated event period in response to
PERF_EVENT_IOC_PERIOD
ARM: 7559/1: smp: switch away from the idmap before updating
init_mm.mm_count
rbtree: include linux/compiler.h for definition of __always_inline

Wolfgang Grandegger (1):
can: flexcan: disable bus error interrupts for the i.MX6q

Xiao Guangrong (1):
KVM: MMU: fix release noslot pfn

Yan, Zheng (2):
perf/x86: Disable uncore on virtualized CPUs
perf/x86/uncore: Handle pci_read_config_dword() errors

Yinghai Lu (3):
x86, mm: Trim memory in memblock to be page aligned
x86, mm: Use memblock memory loop instead of e820_RAM
x86, mm: Undo incorrect revert in arch/x86/mm/init.c

Yuanhan Liu (2):
brcmfmac: fix potential NULL dereference
sonypi: suspend/resume callbacks should be conditionally
compiled on CONFIG_PM_SLEEP

Yuchung Cheng (1):
tcp: add SYN/data info to TCP_INFO

anish kumar (4):
extcon: standard cable names definition and declaration changed
extcon: optimising the check_mutually_exclusive function
extcon: driver model release call not needed
extcon: trivial: kfree missed from remove path

[email protected] (1):
PM / Domains: Fix memory leak on error path in pm_genpd_attach_cpuidle


2012-10-28 20:54:49

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

Hi Linus,

On Sun, Oct 28, 2012 at 8:59 PM, Linus Torvalds
<[email protected]> wrote:
> And talking about the shortlog: christ people, some of you need to
> change your names. I'm used to there being multiple "David"s and
> "Peter"s etc, but there are three different Linus's in just this rc.
> People, people, I want to feel like the unique snowflake I am, not
> like just another anonymous guy in a crowd.
>
> I'm getting myself a broadsword.
>
> Linus "there can be only one" Torvalds

Great, the sons of your biggest fans are starting to contribute patches!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2012-10-29 11:39:13

by Linus Walleij

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Sun, Oct 28, 2012 at 8:59 PM, Linus Torvalds
<[email protected]> wrote:

> And talking about the shortlog: christ people, some of you need to
> change your names. I'm used to there being multiple "David"s and
> "Peter"s etc, but there are three different Linus's in just this rc.
> People, people, I want to feel like the unique snowflake I am, not
> like just another anonymous guy in a crowd.

Ha! This is nothing, if I have calculated correctly soon your children
will start contributing patches, which means you can no longer
grep your logs for "Linus" nor "Torvalds" but will have to use the
loooong string...

Geert Uytterhoeven wrote:

> Great, the sons of your biggest fans are starting to contribute patches!

No that will be a way bigger problem when it happens. He's actually
only three years older than me.

Yours,
Linus Walleij

2012-10-30 00:06:32

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Sunday, October 28, 2012 12:59:49 PM Linus Torvalds wrote:
> It's been a week, time for -rc3!
>
> Nothing particularly stands out here. Lots of small fixes, exemplified
> by the series of memory leak fixes in usb serial drivers. Just a lot
> of random stuff..
>
> Most of it is drivers (all over: drm, wireless, staging, usb, sound),
> but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
> (arm, x86 and m68k) and just random stuff. Shortlog appended.

Unfortunately, s2disk is broken with this one and previous -rc. In the
majority of cases it just hangs the machine during hibernation, although
sometimes it returns to user space reporting freezing problems, suspicions
RCU usage and similar stuff, pretty much without any useful debug information.

I'm quite confident that v3.6 was OK (and -stable based on that too), so
it most likely is a recent regression. The in-kernel hibernation
(ie. "echo disk > /sys/power/state") works no problem. So does suspend to
RAM on my test boxes.

So far I have been able to reproduce this 100% of the time on two machines
with Intel CPUs and graphics driven by i915. I _suspect_ that this may be
related to VT switching, because s2disk does some ugly things in that area
which are not done by the in-kernel code. Dunno.

Anyway, it looks like nothing short of bisection is going to help debug this,
but I'm afraid I won't have the time to bisect within the next two weeks, so if
anyone can reproduce this issue and will be able to bisect it, please help
(openSUSE/Tumbleweed users anyone?).

Thanks,
Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-10-30 09:51:04

by Jiri Kosina

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Tue, 30 Oct 2012, Rafael J. Wysocki wrote:

> > Nothing particularly stands out here. Lots of small fixes, exemplified
> > by the series of memory leak fixes in usb serial drivers. Just a lot
> > of random stuff..
> >
> > Most of it is drivers (all over: drm, wireless, staging, usb, sound),
> > but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
> > (arm, x86 and m68k) and just random stuff. Shortlog appended.
>
> Unfortunately, s2disk is broken with this one and previous -rc. In the
> majority of cases it just hangs the machine during hibernation, although
> sometimes it returns to user space reporting freezing problems, suspicions
> RCU usage and similar stuff, pretty much without any useful debug information.
>
> I'm quite confident that v3.6 was OK (and -stable based on that too), so
> it most likely is a recent regression. The in-kernel hibernation
> (ie. "echo disk > /sys/power/state") works no problem. So does suspend to
> RAM on my test boxes.
>
> So far I have been able to reproduce this 100% of the time on two machines
> with Intel CPUs and graphics driven by i915. I _suspect_ that this may be
> related to VT switching, because s2disk does some ugly things in that area
> which are not done by the in-kernel code. Dunno.
>
> Anyway, it looks like nothing short of bisection is going to help debug this,
> but I'm afraid I won't have the time to bisect within the next two weeks, so if
> anyone can reproduce this issue and will be able to bisect it, please help
> (openSUSE/Tumbleweed users anyone?).

Just a data point here -- this is probably not generally true.

I am using s2disk very often on my x200s, and I haven't hit this problem
so far (currently running 2ab3f29, i.e. slightly before rc3).

--
Jiri Kosina
SUSE Labs

2012-10-30 10:10:51

by Arend van Spriel

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On 10/30/2012 01:10 AM, Rafael J. Wysocki wrote:
> On Sunday, October 28, 2012 12:59:49 PM Linus Torvalds wrote:
>> It's been a week, time for -rc3!
>>
>> Nothing particularly stands out here. Lots of small fixes, exemplified
>> by the series of memory leak fixes in usb serial drivers. Just a lot
>> of random stuff..
>>
>> Most of it is drivers (all over: drm, wireless, staging, usb, sound),
>> but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
>> (arm, x86 and m68k) and just random stuff. Shortlog appended.
>
> Unfortunately, s2disk is broken with this one and previous -rc. In the
> majority of cases it just hangs the machine during hibernation, although
> sometimes it returns to user space reporting freezing problems, suspicions
> RCU usage and similar stuff, pretty much without any useful debug information.
>
> I'm quite confident that v3.6 was OK (and -stable based on that too), so
> it most likely is a recent regression. The in-kernel hibernation
> (ie. "echo disk > /sys/power/state") works no problem. So does suspend to
> RAM on my test boxes.

Since v3.7-rc1 I am seeing suspend to RAM fail as well. It was obscured
by a nouveau recursive locking issue on my machine. I reverted the 3.7
DRM merged completely. From there "echo mem > /sys/power/state" works,
but choosing suspend like most mere mortals do results in suspend, but
attempt to resume brings me straight to the BIOS starting anew.

> So far I have been able to reproduce this 100% of the time on two machines
> with Intel CPUs and graphics driven by i915. I _suspect_ that this may be
> related to VT switching, because s2disk does some ugly things in that area
> which are not done by the in-kernel code. Dunno.
>
> Anyway, it looks like nothing short of bisection is going to help debug this,
> but I'm afraid I won't have the time to bisect within the next two weeks, so if
> anyone can reproduce this issue and will be able to bisect it, please help
> (openSUSE/Tumbleweed users anyone?).
>
> Thanks,
> Rafael
>
>

Not sure if it has the same root cause. Since DRM revert did not work
for me I put my money on ACPI (not a lot of money though ;-) ).

Gr. AvS

2012-10-30 11:05:29

by Hugo Mills

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Tue, Oct 30, 2012 at 01:10:32AM +0100, Rafael J. Wysocki wrote:
> On Sunday, October 28, 2012 12:59:49 PM Linus Torvalds wrote:
> > It's been a week, time for -rc3!
> >
> > Nothing particularly stands out here. Lots of small fixes, exemplified
> > by the series of memory leak fixes in usb serial drivers. Just a lot
> > of random stuff..
> >
> > Most of it is drivers (all over: drm, wireless, staging, usb, sound),
> > but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
> > (arm, x86 and m68k) and just random stuff. Shortlog appended.
>
> Unfortunately, s2disk is broken with this one and previous -rc. In the
> majority of cases it just hangs the machine during hibernation, although
> sometimes it returns to user space reporting freezing problems, suspicions
> RCU usage and similar stuff, pretty much without any useful debug information.
>
> I'm quite confident that v3.6 was OK (and -stable based on that too), so
> it most likely is a recent regression. The in-kernel hibernation
> (ie. "echo disk > /sys/power/state") works no problem. So does suspend to
> RAM on my test boxes.
>
> So far I have been able to reproduce this 100% of the time on two machines
> with Intel CPUs and graphics driven by i915. I _suspect_ that this may be
> related to VT switching, because s2disk does some ugly things in that area
> which are not done by the in-kernel code. Dunno.

I've had this symptom on my laptop (Thinkpad Edge 13, Intel
graphics & CPU; I can get details when I get back home in about 8
hours), but only with 3.7-rc2. It was definitely working in 3.6, and
seems to be OK in 3.7-rc3, although I've only tried two cycles of that
last night.

When I did suspend to disk, I get a blank screen (but clearly with
backlight still on), and a blinking text-mode cursor in the top left.
I left it for half an hour once, and nothing changed, so I'm fairly
sure it was properly hung. I've not seen it return to user space with
errors at all -- just the hang.

> Anyway, it looks like nothing short of bisection is going to help debug this,
> but I'm afraid I won't have the time to bisect within the next two weeks, so if
> anyone can reproduce this issue and will be able to bisect it, please help
> (openSUSE/Tumbleweed users anyone?).

I can try to bisect the 3.6 -> 3.7-rc2 failure, if that helps? But
as I said, I've got it working on -rc3, so I may not have the same
problem.

Hugo.

--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
--- UNIX: Spanish manufacturer of fire extinguishers. ---


Attachments:
(No filename) (2.60 kB)
signature.asc (828.00 B)
Digital signature
Download all attachments

2012-10-30 12:53:15

by Michal Hocko

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Tue 30-10-12 10:50:50, Jiri Kosina wrote:
> On Tue, 30 Oct 2012, Rafael J. Wysocki wrote:
>
> > > Nothing particularly stands out here. Lots of small fixes, exemplified
> > > by the series of memory leak fixes in usb serial drivers. Just a lot
> > > of random stuff..
> > >
> > > Most of it is drivers (all over: drm, wireless, staging, usb, sound),
> > > but there's a few filesystem updates (nfs, btrfs, ext4), arch updates
> > > (arm, x86 and m68k) and just random stuff. Shortlog appended.
> >
> > Unfortunately, s2disk is broken with this one and previous -rc. In the
> > majority of cases it just hangs the machine during hibernation, although
> > sometimes it returns to user space reporting freezing problems, suspicions
> > RCU usage and similar stuff, pretty much without any useful debug information.

Which RCU config options you have enabled?

> > I'm quite confident that v3.6 was OK (and -stable based on that too), so
> > it most likely is a recent regression. The in-kernel hibernation
> > (ie. "echo disk > /sys/power/state") works no problem. So does suspend to
> > RAM on my test boxes.
> >
> > So far I have been able to reproduce this 100% of the time on two machines
> > with Intel CPUs and graphics driven by i915. I _suspect_ that this may be
> > related to VT switching, because s2disk does some ugly things in that area
> > which are not done by the in-kernel code. Dunno.
> >
> > Anyway, it looks like nothing short of bisection is going to help debug this,
> > but I'm afraid I won't have the time to bisect within the next two weeks, so if
> > anyone can reproduce this issue and will be able to bisect it, please help
> > (openSUSE/Tumbleweed users anyone?).
>
> Just a data point here -- this is probably not generally true.
>
> I am using s2disk very often on my x200s, and I haven't hit this problem
> so far (currently running 2ab3f29, i.e. slightly before rc3).

No problem for me either. Runnning rc3. See the config attached.
--
Michal Hocko
SUSE Labs


Attachments:
(No filename) (1.96 kB)
config-3.7.0-rc3 (74.77 kB)
Download all attachments

2012-11-02 20:26:01

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Mon, Oct 29, 2012 at 5:10 PM, Rafael J. Wysocki <[email protected]> wrote:
>
> Unfortunately, s2disk is broken with this one and previous -rc. In the
> majority of cases it just hangs the machine during hibernation, although
> sometimes it returns to user space reporting freezing problems, suspicions
> RCU usage and similar stuff, pretty much without any useful debug information.

Ugh. I was hoping that we'd get more reports on this, right now
there's not enough information to even make a guess about what's up.

I also note that no actual i915 people were cc'd, despite your
graphics driver suspect. Adding Daniel and Dave (one of the millions)
to the cc since they probably do have lkml but probably don't react
unless something gets pointed out.

Daniel/Dave, do you have any reports of hibernation failing (or VT
switching problems) with i915 after 3.6?

Rafael, do you have logs of the suspicious RCU usage etc reports?

Linus

2012-11-02 20:31:27

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Friday, November 02, 2012 01:25:37 PM Linus Torvalds wrote:
> On Mon, Oct 29, 2012 at 5:10 PM, Rafael J. Wysocki <[email protected]> wrote:
> >
> > Unfortunately, s2disk is broken with this one and previous -rc. In the
> > majority of cases it just hangs the machine during hibernation, although
> > sometimes it returns to user space reporting freezing problems, suspicions
> > RCU usage and similar stuff, pretty much without any useful debug information.
>
> Ugh. I was hoping that we'd get more reports on this, right now
> there's not enough information to even make a guess about what's up.
>
> I also note that no actual i915 people were cc'd, despite your
> graphics driver suspect. Adding Daniel and Dave (one of the millions)
> to the cc since they probably do have lkml but probably don't react
> unless something gets pointed out.
>
> Daniel/Dave, do you have any reports of hibernation failing (or VT
> switching problems) with i915 after 3.6?
>
> Rafael, do you have logs of the suspicious RCU usage etc reports?

Not at the moment, unfortunately. I'll try to collect some tomorrow,
but I'm leaving for LinuxCon Europre on Sunday morning, so I'm a bit
time constrained now. :-)

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-11-02 21:07:14

by Daniel Vetter

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, Nov 2, 2012 at 9:25 PM, Linus Torvalds
<[email protected]> wrote:
> On Mon, Oct 29, 2012 at 5:10 PM, Rafael J. Wysocki <[email protected]> wrote:
>>
>> Unfortunately, s2disk is broken with this one and previous -rc. In the
>> majority of cases it just hangs the machine during hibernation, although
>> sometimes it returns to user space reporting freezing problems, suspicions
>> RCU usage and similar stuff, pretty much without any useful debug information.
>
> Ugh. I was hoping that we'd get more reports on this, right now
> there's not enough information to even make a guess about what's up.
>
> I also note that no actual i915 people were cc'd, despite your
> graphics driver suspect. Adding Daniel and Dave (one of the millions)
> to the cc since they probably do have lkml but probably don't react
> unless something gets pointed out.
>
> Daniel/Dave, do you have any reports of hibernation failing (or VT
> switching problems) with i915 after 3.6?

Not that I've heard of. We did though rewrite the entire modeset
sequence driving code in i915 for 3.7, removing massive amounts of
hacks and stupid "let's disable/enable things harder" code simply
because the old code couldn't keep track of the hw state well enough.
So I wouldn't be surprised at all if that unearthed a hidden bug
somewhere, but we've also added ridiculous amounts of self-checks. And
thus far they caught all issues due to that rework (and some ancient
bugs on top) when either the i915 driver or the bios did something
nefarious ...

I've rechecked the git log and otherwise there's nothing else which
pops up that would fit VT-switching/hibernate going bad but the
modeset rework.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

2012-11-02 21:36:21

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Friday, November 02, 2012 10:07:10 PM Daniel Vetter wrote:
> On Fri, Nov 2, 2012 at 9:25 PM, Linus Torvalds
> <[email protected]> wrote:
> > On Mon, Oct 29, 2012 at 5:10 PM, Rafael J. Wysocki <[email protected]> wrote:
> >>
> >> Unfortunately, s2disk is broken with this one and previous -rc. In the
> >> majority of cases it just hangs the machine during hibernation, although
> >> sometimes it returns to user space reporting freezing problems, suspicions
> >> RCU usage and similar stuff, pretty much without any useful debug information.
> >
> > Ugh. I was hoping that we'd get more reports on this, right now
> > there's not enough information to even make a guess about what's up.
> >
> > I also note that no actual i915 people were cc'd, despite your
> > graphics driver suspect. Adding Daniel and Dave (one of the millions)
> > to the cc since they probably do have lkml but probably don't react
> > unless something gets pointed out.
> >
> > Daniel/Dave, do you have any reports of hibernation failing (or VT
> > switching problems) with i915 after 3.6?
>
> Not that I've heard of. We did though rewrite the entire modeset
> sequence driving code in i915 for 3.7, removing massive amounts of
> hacks and stupid "let's disable/enable things harder" code simply
> because the old code couldn't keep track of the hw state well enough.
> So I wouldn't be surprised at all if that unearthed a hidden bug
> somewhere, but we've also added ridiculous amounts of self-checks. And
> thus far they caught all issues due to that rework (and some ancient
> bugs on top) when either the i915 driver or the bios did something
> nefarious ...
>
> I've rechecked the git log and otherwise there's nothing else which
> pops up that would fit VT-switching/hibernate going bad but the
> modeset rework.

Can you point me to a range of commits worth checking?

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-11-02 21:43:06

by Daniel Vetter

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, Nov 2, 2012 at 10:40 PM, Rafael J. Wysocki <[email protected]> wrote:
> Can you point me to a range of commits worth checking?

8c3f929b6147e142..57df2ae9df6e335a98969cac is the core rework (plus a
bit related follow-up) without any other merges interfering. Might
oops if you open/close the lid without a suspend/resume cycle (since
that's only fixed later on), should otherwise work.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

2012-11-02 21:52:18

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Friday, November 02, 2012 10:43:02 PM Daniel Vetter wrote:
> On Fri, Nov 2, 2012 at 10:40 PM, Rafael J. Wysocki <[email protected]> wrote:
> > Can you point me to a range of commits worth checking?
>
> 8c3f929b6147e142..57df2ae9df6e335a98969cac is the core rework (plus a
> bit related follow-up) without any other merges interfering. Might
> oops if you open/close the lid without a suspend/resume cycle (since
> that's only fixed later on), should otherwise work.

Well, as it turns out, v3.6.0 doesn't work too with my .config, so never
mind (and thanks for help :-)).

I wonder what's wrong with my .config, though ...

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-11-02 22:19:28

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Friday, November 02, 2012 10:56:22 PM Rafael J. Wysocki wrote:
> On Friday, November 02, 2012 10:43:02 PM Daniel Vetter wrote:
> > On Fri, Nov 2, 2012 at 10:40 PM, Rafael J. Wysocki <[email protected]> wrote:
> > > Can you point me to a range of commits worth checking?
> >
> > 8c3f929b6147e142..57df2ae9df6e335a98969cac is the core rework (plus a
> > bit related follow-up) without any other merges interfering. Might
> > oops if you open/close the lid without a suspend/resume cycle (since
> > that's only fixed later on), should otherwise work.
>
> Well, as it turns out, v3.6.0 doesn't work too with my .config, so never
> mind (and thanks for help :-)).
>
> I wonder what's wrong with my .config, though ...

Well, it appears that Tumbleweed has acquired a broken s2disk binary.
Replace it with one built from upstream sources and it magically starts to
work. Grumble.

Sorry for the noise.

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-11-02 22:26:46

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, Nov 2, 2012 at 3:23 PM, Rafael J. Wysocki <[email protected]> wrote:
>
> Well, it appears that Tumbleweed has acquired a broken s2disk binary.
> Replace it with one built from upstream sources and it magically starts to
> work. Grumble.
>
> Sorry for the noise.

Heh. This was the report that so far made me most worried about the
current state of the -rc process, so I'll curse you and be very
relieved at the same time ;)

Linus

2012-11-02 22:39:46

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Friday, November 02, 2012 03:26:22 PM Linus Torvalds wrote:
> On Fri, Nov 2, 2012 at 3:23 PM, Rafael J. Wysocki <[email protected]> wrote:
> >
> > Well, it appears that Tumbleweed has acquired a broken s2disk binary.
> > Replace it with one built from upstream sources and it magically starts to
> > work. Grumble.
> >
> > Sorry for the noise.
>
> Heh. This was the report that so far made me most worried about the
> current state of the -rc process, so I'll curse you and be very
> relieved at the same time ;)

Well, not everything is rosy in the suspend land, though. This is a
failure to freeze khubd during the second in a row attempt to suspend to
RAM (your current tree):

[ 105.679281] PM: Syncing filesystems ... done.
[ 105.693722] PM: Preparing system for mem sleep
[ 105.760289] Freezing user space processes ... (elapsed 0.01 seconds) done.
[ 115.398131] usb 5-2: device descriptor read/64, error -110
[ 115.601126] usb 5-2: new full-speed USB device number 4 using uhci_hcd
[ 105.775886] Freezing remaining freezable tasks ...
[ 125.780627] Freezing of tasks failed after 20.00 seconds (1 tasks refusing to freeze, wq_busy=0):
[ 125.780718] khubd D ffff88007c920000
[ 125.780730] ===============================
[ 125.780766] [ INFO: suspicious RCU usage. ]
[ 125.780804] 3.7.0-rc3+ #988 Not tainted
[ 125.780838] -------------------------------
[ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!
[ 125.780946]
[ 125.780946] other info that might help us debug this:
[ 125.780946]
[ 125.781031]
[ 125.781031] rcu_scheduler_active = 1, debug_locks = 0
[ 125.781087] 4 locks held by s2ram/4211:
[ 125.781120] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811e2acf>] sysfs_write_file+0x3f/0x160
[ 125.781233] #1: (s_active#94){.+.+.+}, at: [<ffffffff811e2b58>] sysfs_write_file+0xc8/0x160
[ 125.781339] #2: (pm_mutex){+.+.+.}, at: [<ffffffff81090a81>] pm_suspend+0x81/0x230
[ 125.781439] #3: (tasklist_lock){.?.?..}, at: [<ffffffff8108feed>] try_to_freeze_tasks+0x2cd/0x3f0
[ 125.781543]
[ 125.781543] stack backtrace:
[ 125.781584] Pid: 4211, comm: s2ram Not tainted 3.7.0-rc3+ #988
[ 125.781632] Call Trace:
[ 125.781662] [<ffffffff810a3c73>] lockdep_rcu_suspicious+0x103/0x140
[ 125.781719] [<ffffffff8107cf21>] sched_show_task+0x121/0x180
[ 125.781770] [<ffffffff8108ffb4>] try_to_freeze_tasks+0x394/0x3f0
[ 125.781823] [<ffffffff810903b5>] freeze_kernel_threads+0x25/0x80
[ 125.781876] [<ffffffff81090b65>] pm_suspend+0x165/0x230
[ 125.781924] [<ffffffff8108fa29>] state_store+0x99/0x100
[ 125.781975] [<ffffffff812f5867>] kobj_attr_store+0x17/0x20
[ 125.782038] [<ffffffff811e2b71>] sysfs_write_file+0xe1/0x160
[ 125.782091] [<ffffffff811667a6>] vfs_write+0xc6/0x180
[ 125.782138] [<ffffffff81166ada>] sys_write+0x5a/0xa0
[ 125.782185] [<ffffffff812ff6ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 125.782242] [<ffffffff81669dd2>] system_call_fastpath+0x16/0x1b
[ 125.782294] 0 29 2 0x00000000
[ 125.782329] ffff88007cb099d8 0000000000000046 ffff88007cb09998 ffffffff810a865e
[ 125.784196] ffff88007cb09fd8 ffff88007cb06040 ffff88007cb09fd8 ffff88007cb08000
[ 125.786048] ffff88007cb09fd8 ffff88007cb08000 00000000000131c0 ffff88007cb09fd8
[ 125.787879] Call Trace:
[ 125.789655] [<ffffffff810a865e>] ? mark_held_locks+0x6e/0x130
[ 125.791465] [<ffffffff81667854>] schedule+0x24/0x70
[ 125.793278] [<ffffffff81664af3>] schedule_timeout+0x173/0x480
[ 125.795118] [<ffffffff810507c0>] ? lock_timer_base+0x70/0x70
[ 125.796975] [<ffffffff81666cc1>] wait_for_common+0xd1/0x170
[ 125.798836] [<ffffffff8107d6a0>] ? try_to_wake_up+0x320/0x320
[ 125.800665] [<ffffffff81666dee>] wait_for_completion_timeout+0xe/0x10
[ 125.802524] [<ffffffff814903ab>] usb_start_wait_urb+0xdb/0x170
[ 125.804382] [<ffffffff8149067c>] usb_control_msg+0xdc/0x110
[ 125.806208] [<ffffffff814873a9>] hub_port_init+0x649/0xa50
[ 125.808002] [<ffffffff810a88bd>] ? trace_hardirqs_on+0xd/0x10
[ 125.809749] [<ffffffff8148a38f>] hub_thread+0x6ff/0x1670
[ 125.811448] [<ffffffff81069a50>] ? wake_up_bit+0x40/0x40
[ 125.813111] [<ffffffff81489c90>] ? usb_new_device+0x2c0/0x2c0
[ 125.814774] [<ffffffff810691f6>] kthread+0xd6/0xe0
[ 125.816440] [<ffffffff81069120>] ? flush_kthread_worker+0x1a0/0x1a0
[ 125.818117] [<ffffffff81669d2c>] ret_from_fork+0x7c/0xb0
[ 125.819797] [<ffffffff81069120>] ? flush_kthread_worker+0x1a0/0x1a0
[ 125.821521]
[ 125.823147] Restarting kernel threads ... done.
[ 125.825210] Restarting tasks ... done.

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2012-11-02 23:10:58

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, Nov 2, 2012 at 3:43 PM, Rafael J. Wysocki <[email protected]> wrote:
>
> Well, not everything is rosy in the suspend land, though. This is a
> failure to freeze khubd during the second in a row attempt to suspend to
> RAM (your current tree):

Ugh. So khubd is blocked in usb_start_wait_urb(), and apparently the
timeout for that block is longer than the freezing timeout.

There's a comment about why khubd needs to be freezable, but I wonder
if that whole thing isn't doing something wrong. Causing the suspend
to fail is definitely always the wrong thing.

Greg?

> [ 125.780766] [ INFO: suspicious RCU usage. ]
> [ 125.780804] 3.7.0-rc3+ #988 Not tainted
> [ 125.780838] -------------------------------
> [ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!

Heh. The RCU usage is from the debug printout from sched_show_task(),
so it's "related", but it's a totally independent issue.

It's apparently because we've not done a "rcu_read_lock()" around that
sequence, but I seriously doubt we care. But it's technically a real
bug - even if the fix might be to just not print out the parent pid
(or to just ignore the bug and turn the rcu dereference into an
ACCESS_ONCE() or something.

Ingo, Peter, any comments about that sched/core.c:4497 RCU usage?

Linus

2012-11-03 16:35:48

by Alan Stern

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, 2 Nov 2012, Linus Torvalds wrote:

> On Fri, Nov 2, 2012 at 3:43 PM, Rafael J. Wysocki <[email protected]> wrote:
> >
> > Well, not everything is rosy in the suspend land, though. This is a
> > failure to freeze khubd during the second in a row attempt to suspend to
> > RAM (your current tree):
>
> Ugh. So khubd is blocked in usb_start_wait_urb(), and apparently the
> timeout for that block is longer than the freezing timeout.
>
> There's a comment about why khubd needs to be freezable, but I wonder
> if that whole thing isn't doing something wrong. Causing the suspend
> to fail is definitely always the wrong thing.

khubs has been a potential problem for suspend since the beginning.

The USB spec mandates timeouts of 5 seconds. In addition, khubd does
lots of retries when errors occur (probably way too many) and checks
for freezability only when its to-do list is empty.

Under normal circumstances this isn't a problem. Issues arise when a
non-cooperative device is plugged in shortly before a suspend starts.

I suppose we could scatter a whole bunch of checks at spots throughout
the device-initialization code. This seems awkward but I can't think
of anything better. Does anyone have other suggestions?

Alan Stern

2012-11-07 22:23:37

by Paul E. McKenney

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Fri, Nov 02, 2012 at 04:10:34PM -0700, Linus Torvalds wrote:
> On Fri, Nov 2, 2012 at 3:43 PM, Rafael J. Wysocki <[email protected]> wrote:
> >
> > Well, not everything is rosy in the suspend land, though. This is a
> > failure to freeze khubd during the second in a row attempt to suspend to
> > RAM (your current tree):
>
> Ugh. So khubd is blocked in usb_start_wait_urb(), and apparently the
> timeout for that block is longer than the freezing timeout.
>
> There's a comment about why khubd needs to be freezable, but I wonder
> if that whole thing isn't doing something wrong. Causing the suspend
> to fail is definitely always the wrong thing.
>
> Greg?
>
> > [ 125.780766] [ INFO: suspicious RCU usage. ]
> > [ 125.780804] 3.7.0-rc3+ #988 Not tainted
> > [ 125.780838] -------------------------------
> > [ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!
>
> Heh. The RCU usage is from the debug printout from sched_show_task(),
> so it's "related", but it's a totally independent issue.
>
> It's apparently because we've not done a "rcu_read_lock()" around that
> sequence, but I seriously doubt we care. But it's technically a real
> bug - even if the fix might be to just not print out the parent pid
> (or to just ignore the bug and turn the rcu dereference into an
> ACCESS_ONCE() or something.
>
> Ingo, Peter, any comments about that sched/core.c:4497 RCU usage?

Rafael, does the following patch fix that problem?

Thanx, Paul

------------------------------------------------------------------------

sched: Mark RCU reader in sched_show_task()

When sched_show_task() is invoked from try_to_freeze_tasks(), there is
no RCU read-side critical section, resulting in the following splat:

[ 125.780730] ===============================
[ 125.780766] [ INFO: suspicious RCU usage. ]
[ 125.780804] 3.7.0-rc3+ #988 Not tainted
[ 125.780838] -------------------------------
[ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!
[ 125.780946]
[ 125.780946] other info that might help us debug this:
[ 125.780946]
[ 125.781031]
[ 125.781031] rcu_scheduler_active = 1, debug_locks = 0
[ 125.781087] 4 locks held by s2ram/4211:
[ 125.781120] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811e2acf>] sysfs_write_file+0x3f/0x160
[ 125.781233] #1: (s_active#94){.+.+.+}, at: [<ffffffff811e2b58>] sysfs_write_file+0xc8/0x160
[ 125.781339] #2: (pm_mutex){+.+.+.}, at: [<ffffffff81090a81>] pm_suspend+0x81/0x230
[ 125.781439] #3: (tasklist_lock){.?.?..}, at: [<ffffffff8108feed>] try_to_freeze_tasks+0x2cd/0x3f0
[ 125.781543]
[ 125.781543] stack backtrace:
[ 125.781584] Pid: 4211, comm: s2ram Not tainted 3.7.0-rc3+ #988
[ 125.781632] Call Trace:
[ 125.781662] [<ffffffff810a3c73>] lockdep_rcu_suspicious+0x103/0x140
[ 125.781719] [<ffffffff8107cf21>] sched_show_task+0x121/0x180
[ 125.781770] [<ffffffff8108ffb4>] try_to_freeze_tasks+0x394/0x3f0
[ 125.781823] [<ffffffff810903b5>] freeze_kernel_threads+0x25/0x80
[ 125.781876] [<ffffffff81090b65>] pm_suspend+0x165/0x230
[ 125.781924] [<ffffffff8108fa29>] state_store+0x99/0x100
[ 125.781975] [<ffffffff812f5867>] kobj_attr_store+0x17/0x20
[ 125.782038] [<ffffffff811e2b71>] sysfs_write_file+0xe1/0x160
[ 125.782091] [<ffffffff811667a6>] vfs_write+0xc6/0x180
[ 125.782138] [<ffffffff81166ada>] sys_write+0x5a/0xa0
[ 125.782185] [<ffffffff812ff6ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 125.782242] [<ffffffff81669dd2>] system_call_fastpath+0x16/0x1b

This commit therefore adds the needed RCU read-side critical section.

Reported-by: "Rafael J. Wysocki" <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 6d4569e..36f2608 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4474,6 +4474,7 @@ static const char stat_nam[] = TASK_STATE_TO_CHAR_STR;
void sched_show_task(struct task_struct *p)
{
unsigned long free = 0;
+ int ppid;
unsigned state;

state = p->state ? __ffs(p->state) + 1 : 0;
@@ -4493,8 +4494,11 @@ void sched_show_task(struct task_struct *p)
#ifdef CONFIG_DEBUG_STACK_USAGE
free = stack_not_used(p);
#endif
+ rcu_read_lock();
+ ppid = task_pid_nr(rcu_dereference(p->real_parent));
+ rcu_read_unlock();
printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free,
- task_pid_nr(p), task_pid_nr(rcu_dereference(p->real_parent)),
+ task_pid_nr(p), ppid,
(unsigned long)task_thread_info(p)->flags);

show_stack(p, NULL);

2012-11-07 22:31:18

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Linux 3.7-rc3

On Wednesday, November 07, 2012 02:22:34 PM Paul E. McKenney wrote:
> On Fri, Nov 02, 2012 at 04:10:34PM -0700, Linus Torvalds wrote:
> > On Fri, Nov 2, 2012 at 3:43 PM, Rafael J. Wysocki <[email protected]> wrote:
> > >
> > > Well, not everything is rosy in the suspend land, though. This is a
> > > failure to freeze khubd during the second in a row attempt to suspend to
> > > RAM (your current tree):
> >
> > Ugh. So khubd is blocked in usb_start_wait_urb(), and apparently the
> > timeout for that block is longer than the freezing timeout.
> >
> > There's a comment about why khubd needs to be freezable, but I wonder
> > if that whole thing isn't doing something wrong. Causing the suspend
> > to fail is definitely always the wrong thing.
> >
> > Greg?
> >
> > > [ 125.780766] [ INFO: suspicious RCU usage. ]
> > > [ 125.780804] 3.7.0-rc3+ #988 Not tainted
> > > [ 125.780838] -------------------------------
> > > [ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!
> >
> > Heh. The RCU usage is from the debug printout from sched_show_task(),
> > so it's "related", but it's a totally independent issue.
> >
> > It's apparently because we've not done a "rcu_read_lock()" around that
> > sequence, but I seriously doubt we care. But it's technically a real
> > bug - even if the fix might be to just not print out the parent pid
> > (or to just ignore the bug and turn the rcu dereference into an
> > ACCESS_ONCE() or something.
> >
> > Ingo, Peter, any comments about that sched/core.c:4497 RCU usage?
>
> Rafael, does the following patch fix that problem?

Well, the box I can reproduce that on is not with me now and it's
not readily reproducible anyway, so it may take some time to verify
I'm afraid.

Thanks,
Rafael


> ------------------------------------------------------------------------
>
> sched: Mark RCU reader in sched_show_task()
>
> When sched_show_task() is invoked from try_to_freeze_tasks(), there is
> no RCU read-side critical section, resulting in the following splat:
>
> [ 125.780730] ===============================
> [ 125.780766] [ INFO: suspicious RCU usage. ]
> [ 125.780804] 3.7.0-rc3+ #988 Not tainted
> [ 125.780838] -------------------------------
> [ 125.780875] /home/rafael/src/linux/kernel/sched/core.c:4497 suspicious rcu_dereference_check() usage!
> [ 125.780946]
> [ 125.780946] other info that might help us debug this:
> [ 125.780946]
> [ 125.781031]
> [ 125.781031] rcu_scheduler_active = 1, debug_locks = 0
> [ 125.781087] 4 locks held by s2ram/4211:
> [ 125.781120] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811e2acf>] sysfs_write_file+0x3f/0x160
> [ 125.781233] #1: (s_active#94){.+.+.+}, at: [<ffffffff811e2b58>] sysfs_write_file+0xc8/0x160
> [ 125.781339] #2: (pm_mutex){+.+.+.}, at: [<ffffffff81090a81>] pm_suspend+0x81/0x230
> [ 125.781439] #3: (tasklist_lock){.?.?..}, at: [<ffffffff8108feed>] try_to_freeze_tasks+0x2cd/0x3f0
> [ 125.781543]
> [ 125.781543] stack backtrace:
> [ 125.781584] Pid: 4211, comm: s2ram Not tainted 3.7.0-rc3+ #988
> [ 125.781632] Call Trace:
> [ 125.781662] [<ffffffff810a3c73>] lockdep_rcu_suspicious+0x103/0x140
> [ 125.781719] [<ffffffff8107cf21>] sched_show_task+0x121/0x180
> [ 125.781770] [<ffffffff8108ffb4>] try_to_freeze_tasks+0x394/0x3f0
> [ 125.781823] [<ffffffff810903b5>] freeze_kernel_threads+0x25/0x80
> [ 125.781876] [<ffffffff81090b65>] pm_suspend+0x165/0x230
> [ 125.781924] [<ffffffff8108fa29>] state_store+0x99/0x100
> [ 125.781975] [<ffffffff812f5867>] kobj_attr_store+0x17/0x20
> [ 125.782038] [<ffffffff811e2b71>] sysfs_write_file+0xe1/0x160
> [ 125.782091] [<ffffffff811667a6>] vfs_write+0xc6/0x180
> [ 125.782138] [<ffffffff81166ada>] sys_write+0x5a/0xa0
> [ 125.782185] [<ffffffff812ff6ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
> [ 125.782242] [<ffffffff81669dd2>] system_call_fastpath+0x16/0x1b
>
> This commit therefore adds the needed RCU read-side critical section.
>
> Reported-by: "Rafael J. Wysocki" <[email protected]>
> Signed-off-by: Paul E. McKenney <[email protected]>
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 6d4569e..36f2608 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -4474,6 +4474,7 @@ static const char stat_nam[] = TASK_STATE_TO_CHAR_STR;
> void sched_show_task(struct task_struct *p)
> {
> unsigned long free = 0;
> + int ppid;
> unsigned state;
>
> state = p->state ? __ffs(p->state) + 1 : 0;
> @@ -4493,8 +4494,11 @@ void sched_show_task(struct task_struct *p)
> #ifdef CONFIG_DEBUG_STACK_USAGE
> free = stack_not_used(p);
> #endif
> + rcu_read_lock();
> + ppid = task_pid_nr(rcu_dereference(p->real_parent));
> + rcu_read_unlock();
> printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free,
> - task_pid_nr(p), task_pid_nr(rcu_dereference(p->real_parent)),
> + task_pid_nr(p), ppid,
> (unsigned long)task_thread_info(p)->flags);
>
> show_stack(p, NULL);
>
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.