linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux 3.6-rc4
@ 2012-09-01 22:10 Linus Torvalds
  2012-09-04 15:44 ` Dave Jones
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2012-09-01 22:10 UTC (permalink / raw)
  To: Linux Kernel Mailing List

The kernel summit is over, and most people have either returned or are
returning from San Diego.

Probably as a result of lots of maintainers having been away, it's
been pretty quiet - despite it being ten days (rather than the usual
week) since -rc3.

The statistics look a bit unusual, too, likely for the same reason.
It's 40% architecture work (powerpc, x86, mips, arm), and 20% btrfs
(late pull request of fixes, because I rejected an earlier bigger pull
request). Just 20% drivers, mainly some drm updates (the bulk being
radeon) and some block driver things (libata and drbd).

Shortlog appended, as you can see it's just fairly random. I'm hoping
we're entering the boring/stable part of the -rc windows, and that
things won't really pick up speed just because people are getting
home.

               Linus

---

Aaro Koskinen (1):
      powerpc/dma-iommu: Fix IOMMU window check

Aaron Lu (1):
      [libata] acpi: call ata_acpi_gtm during ata port init time

Afzal Mohammed (1):
      arm/dts: Fix am33xx wdt node

Alan Cox (2):
      ppc: e500_tlb memset clears nothing
      kvm: Fix nonsense handling of compat ioctl

Alex Deucher (5):
      drm/radeon: don't disable plls that are in use by other crtcs
      drm/radeon/atom: rework DIG modesetting on DCE3+
      drm/radeon/atom: powergating fixes for DCE6
      drm/radeon: rework panel mode setup
      drm/radeon: fix dig encoder selection on DCE61

Alexander Graf (1):
      KVM: PPC: Add cache flush on page map

Alexey Khoroshilov (1):
      bio: Fix potential memory leak in bio_find_or_create_slab()

Andreas Herrmann (1):
      x86, microcode, AMD: Fix broken ucode patch size check

Andreas Schwab (1):
      time: Fix casting issue in timekeeping_forward_now

Anton Blanchard (2):
      powerpc: POWER7 copy_to_user/copy_from_user patch applied twice
      powerpc: Fix VMX in interrupt check in POWER7 copy loops

Arnaldo Carvalho de Melo (1):
      perf tools: Add missing files to build the python binding

Arnaud Patard (3):
      ARM: Orion: Set eth packet size csum offload limit
      ARM: Kirkwood: Fix iconnect leds
      ARM: Kirkwood: fix Makefile.boot

Arnd Bergmann (7):
      ARM: mv78xx0: fix win_cfg_base prototype
      ARM: omap: allow building omap44xx without SMP
      ARM: imx: build pm-imx5 code only when PM is enabled
      ARM: imx: fix ksz9021rn_phy_fixup
      ARM: imx: select CPU_FREQ_TABLE when needed
      ARM: imx: build i.MX6 functions only when needed
      ARM: ux500: don't select LEDS_GPIO for snowball

Arnd Hannemann (1):
      pata_atiixp: override cable detection on MSI E350DM-E33

Arne Jansen (2):
      Btrfs: fix deadlock in wait_for_more_refs
      Btrfs: fix race in run_clustered_refs

Artem Bityutskiy (5):
      UBIFS: remove stale commentary
      UBIFS: fix crash on error path
      UBIFS: fix replay regression
      UBIFS: fix complaints about too small debug buffer size
      UBIFS: fix error messages spelling

Ashish Sangwan (1):
      UDF: During mount free lvid_bh before rescanning with different blocksize

Asias He (2):
      block: Introduce __blk_segment_map_sg() helper
      block: Add blk_bio_map_sg() helper

Avi Kivity (2):
      x86/alternatives: Fix p6 nops on non-modular kernels
      KVM: x86 emulator: use stack size attribute to mask rsp in stack ops

Ben Skeggs (1):
      drm/nvc0/copy: check PUNITS to determine which copy engines are disabled

Benjamin Herrenschmidt (1):
      Revert "powerpc: Update g5_defconfig"

Bruno Randolf (1):
      MIPS: MTX-1: Add udelay to mtx1_pci_idsel

Calvin Walton (1):
      i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard

Chris Mason (1):
      Btrfs: don't run __tree_mod_log_free_eb on leaves

Chris Wilson (1):
      drm/i915: Use the correct size of the GTT for placing the
per-process entries

Christian König (1):
      drm/radeon: fix double free in radeon_gpu_reset

Christoph Hellwig (1):
      xfs: unlock the AGI buffer when looping in xfs_dialloc

Dan Carpenter (4):
      Btrfs: fix some error codes in btrfs_qgroup_inherit()
      Btrfs: checking for NULL instead of IS_ERR
      Btrfs: unlock on error in btrfs_delalloc_reserve_metadata()
      Btrfs: fix some endian bugs handling the root times

Dave Chinner (1):
      xfs: fix uninitialised variable in xfs_rtbuf_get()

David Daney (1):
      MIPS: Octeon: Fix broken interrupt controller code.

David Rientjes (1):
      mm, slab: lock the correct nodelist after reenabling irqs

Domenico Andreoli (1):
      OMAP: remove unused parameter arch_id from uncompress.h

Fengguang Wu (3):
      block: remove plugging at buffered write time
      block: move down direct IO plugging
      btrfs: fix second lock in btrfs_delete_delayed_items()

Florian Fainelli (1):
      MIPS: BCM63xx: Fix SPI message control register handling for BCM6338/6348.

Forest Bond (1):
      gma500: Consider CRTC initially active.

Gabor Juhos (5):
      MIPS: ath79: Fix number of GPIO lines for AR724[12]
      MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240
      MIPS: ath79: select HAVE_CLK
      MIPS: ath79: don't hardcode the unavailability of the DSP ASE
      MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module

Geert Uytterhoeven (1):
      s390: Always use "long" for ssize_t to match size_t

Gleb Natapov (1):
      KVM: x86: update KVM_SAVE_MSRS_BEGIN to correct value

Heiko Carstens (3):
      s390/dasd: fix ioctl return value
      s390/smp: add missing smp_store_status() for !SMP
      s390/32: Don't clobber personality flags on exec

Heiko Stuebner (2):
      ARM: S3C24XX: Add missing DMACH_DT_PROP
      ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters

Hugh Dickins (1):
      block: replace __getblk_slow misfix by grow_dev_page fix

Ian Abbott (1):
      udf: fix udf_setsize() for file data in ICB

Igor Grinberg (1):
      Revert "ARM: OMAP3530evm: set pendown_state and debounce time for ads7846"

J. Bruce Fields (4):
      nfsd4: fix security flavor of NFSv4.0 callback
      svcrpc: fix BUG() in svc_tcp_clear_pages
      svcrpc: sends on closed socket should stop immediately
      svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping

Jakob Bornecrantz (1):
      drm: Check for invalid cursor flags

James Ralston (2):
      ahci: Add Device IDs for Intel Lynx Point-LP PCH
      ata_piix: Add Device IDs for Intel Lynx Point-LP PCH

Jan Kara (1):
      jbd: don't write superblock when unmounting an ro filesystem

Jan Luebbe (1):
      omap: Fix multi.h when only ARCH_OMAP3 and SOC_AM33XX are selected

Javier Martinez Canillas (1):
      ARM: OMAP3: igep0020: set GPIO mode for mux mcspi1_cs2 pin

Jayachandran C (1):
      MIPS: Synchronize MIPS count one CPU at a time

Jeff Garzik (1):
      [libata] new quirk, lift bridge limits for Buffalo DriveStation Quattro

Jeff Liu (1):
      quota: Move down dqptr_sem read after initializing default
warn[] type at __dquot_alloc_space().

Jeff Mahoney (1):
      reiserfs: fix deadlocks with quotas

Jerome Glisse (1):
      drm/radeon: force dma32 to fix regression rs4xx,rs6xx,rs740

Jia Hongtao (1):
      powerpc/fsl-pci: Only scan PCI bus if configured as a host

Jianpeng Ma (2):
      fs/block-dev.c:fix performance regression in O_DIRECT writes to
md block devices
      block: Don't use static to define "void *p" in show_partition_start()

Jiri Kosina (2):
      [PARISC] fix personality flag check in copy_thread()
      powerpc: Fix personality handling in ppc64_personality()

John Stultz (5):
      time: Improve sanity checking of timekeeping inputs
      time: Ensure we normalize the timekeeper in tk_xtime_add
      time: Avoid potential shift overflow with large shift values
      time: Avoid making adjustments if we haven't accumulated anything
      time: Move ktime_t overflow checking into timespec_valid_strict

Jon Hunter (1):
      ARM: OMAP2+: Fix dmtimer set source clock failure

Josef Bacik (9):
      Btrfs: lock extents as we map them in DIO
      Btrfs: do not use missing devices when showing devname
      Btrfs: do not strdup non existent strings
      Btrfs: don't allocate a seperate csums array for direct reads
      Btrfs: barrier before waitqueue_active
      Btrfs: increase the size of the free space cache
      Btrfs: fix enospc problems when deleting a subvol
      Btrfs: allow delayed refs to be merged
      Btrfs: fix deadlock with freeze and sync V2

Jussi Kivilinna (1):
      crypto: hifn_795x - fix 64bit division and undefined __divdi3 on
32bit archs

Kevin Hilman (2):
      ARM: OMAP3: TWL4030: ensure sys_nirq1 is mux'd and wakeup enabled
      Revert "ARM: OMAP3: PM: call pre/post transition per powerdomain"

Kim Phillips (3):
      crypto: caam - fix possible deadlock condition
      powerpc/fsl: update defconfigs
      powerpc/fsl: fix "Failed to mount /dev: No such device" errors

Konrad Rzeszutek Wilk (3):
      Revert "xen PVonHVM: move shared_info to MMIO before kexec"
      xen/p2m: Reuse existing P2M leafs if they are filled with 1:1
PFNs or INVALID.
      xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.

Lars Ellenberg (1):
      drbd: fix drbd wire compatibility for empty flushes

Lee Jones (2):
      ARM: ux500: Fix merge error, no matching driver name for 'snd_soc_u8500'
      ARM: ux500: Ensure probing of Audio devices when Device Tree is enabled

Linus Torvalds (1):
      Linux 3.6-rc4

Liu Bo (2):
      Btrfs: fix a dio write regression
      Btrfs: fix ordered extent leak when failing to start a transaction

Liu, Chuansheng (1):
      x86/fixup_irq: Use cpu_online_mask instead of cpu_all_mask

Luca Tettamanti (1):
      hwmon: (asus_atk0110) Add quirk for Asus M5A78L

Marek Olšák (3):
      drm/radeon: fix reading CB_COLORn_MASK from the CS
      drm/radeon: initialize tracked CS state
      drm/radeon: add proper checking of RESOLVE_BOX command for r600-r700

Mel Gorman (1):
      [PARISC] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts

Miao Xie (1):
      Btrfs: fix wrong mtime and ctime when creating snapshots

Michael Ellerman (2):
      powerpc: Fix xmon dl command for new printk implementation
      powerpc: Fixup whitespace in xmon

Michael Jones (1):
      omap2: mux: remove comment for nonexistent member

Michael Neuling (2):
      powerpc: Fix null pointer deref in perf hardware breakpoints
      powerpc: Remove unnecessary ifdefs

Michael S. Tsirkin (1):
      KVM: x86: fix KVM_GET_MSR for PV EOI

Miklos Szeredi (1):
      ide: fix generic_ide_suspend/resume Oops

Namjae Jeon (3):
      Documentation: update missing index files in block/00-INDEX
      Documentation: update tunable options in block/cfq-iosched.txt
      Documentation: update tunable options in block/cfq-iosched.txt

Nikola Pajkovsky (1):
      udf: fix retun value on error path in udf_load_logicalvol

Oleg Nesterov (1):
      uprobes: Fix mmap_region()'s mm->mm_rb corruption if uprobe_mmap() fails

Paolo Bonzini (2):
      block: reorganize rounding of max_discard_sectors
      block: split discard into aligned requests

Paul Mackerras (1):
      KVM: PPC: Book3S HV: Fix incorrect branch in H_CEDE code

Paul Menzel (2):
      [libata] Kconfig: Elaborate that SFF is meant for legacy and PATA stuff
      drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S

Philipp Reisner (2):
      drbd: Finish requests that completed while IO was frozen
      drbd: Write all pages of the bitmap after an online resize

Philipp Zabel (1):
      ARM i.MX6q: Add virtual 1/3.5 dividers in the LDB clock path

Prarit Bhargava (1):
      libata: Add a space to " 2GB ATA Flash Disk" DMA blacklist entry

Prasad Joshi (5):
      logfs: destroy the reserved inodes while unmounting
      logfs: initialize the number of iovecs in bio
      logfs: create a pagecache page if it is not present
      logfs: maintain the ordering of meta-inode destruction
      logfs: query block device for number of pages to send with bio

Rajendra Nayak (3):
      arm/dts: Mark vcxio, v2v1 and v1v8 regulators as always on
      cpufreq: OMAP: Handle missing frequency table on SMP systems
      ARM: OMAP4: Register the OPP table only for 4430 device

Ralf Baechle (4):
      MIPS: Fix memory leak in error path of HI16/LO16 relocation handling.
      MIPS: Fix race condition in module relocation code.
      MIPS: Module: Deal with malformed HI16/LO16 relocation sequences.
      MIPS: Malta: Delete duplicate PCI fixup.

Randy Dunlap (1):
      watchdog: fix watchdog-test.c build warning

Richard Weinberger (1):
      x86/spinlocks: Fix comment in spinlock.h

Rob Herring (1):
      ahci: un-staticize ahci_dev_classify

Sachin Kamat (4):
      ARM: Samsung: Make uart_save static in pm.c file
      ARM: SAMSUNG: Set HDMI platform data for Exynos4x12 SoCs
      ARM: EXYNOS: Set HDMI platform data in SMDKV310
      watchdog: da9052: Remove duplicate inclusion of delay.h

Santosh Shilimkar (2):
      OMAP2+: Fix random config build break with !ARM_CPU_SUSPEND
      ARM: OMAP4: sleep: Save the complete used register stack frame

Scott Wood (1):
      powerpc/mpic_msgr: Add missing includes

Shaohua Li (1):
      block: disable discard request merge temporarily

Shawn Guo (2):
      ARM: imx6: spin the cpu until hardware takes it down
      ARM: dts: imx51-babbage: fix esdhc cd/wp properties

Shengzhou Liu (1):
      powerpc/p4080ds: dts - add usb controller version info and port0

Simon Farnsworth (1):
      HID: Remove QUANTA from special drivers list

Stefan Behrens (5):
      Btrfs: fix a misplaced address operator in a condition
      Btrfs: fix that error value is changed by mistake
      Btrfs: remove superblock writing after fatal error
      Btrfs: revert checksum error statistic which can cause a BUG()
      Btrfs: fix that repair code is spuriously executed for transid failures

Sukadev Bhattiprolu (1):
      powerpc/perf: Use pmc_overflow() to detect rolled back events

Takuya Yoshikawa (1):
      KVM: MMU: Fix mmu_shrink() so that it can free mmu pages as intended

Tiejun Chen (4):
      booke/wdt: some ioctls do not return values properly
      powerpc/kgdb: Do not set kgdb_single_step on ppc
      powerpc/kgdb: Bail out of KGDB when we've been triggered
      powerpc/kgdb: Restore current_thread_info properly

Timo Kokkonen (1):
      ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*()

Tomas Racek (1):
      xfs: check for possible overflow in xfs_ioc_trim

Tushar Behera (2):
      ARM: SAMSUNG: Add API to set platform data for s5p-tv driver
      ARM: EXYNOS: Set HDMI platform data in Origen board

Vaibhav Hiremath (1):
      ARM: OMAP2+: cpu: Add am33xx device under cpu_class_is_omap2

Vijay Purushothaman (1):
      drm/i915: fix color order for BGR formats on IVB

Ville Syrjälä (1):
      drm: Initialize object type when using DRM_MODE() macro

Will Deacon (1):
      tracing/syscalls: Fix perf syscall tracing when syscall_nr == -1

Xu, Anhua (1):
      drm/i915: fix wrong order of parameters in port checking functions

Yuanhan Liu (1):
      ARM: mmp: fix potential NULL dereference

Zhao Chenhui (1):
      powerpc/85xx: mpc85xx_defconfig - add VIA PATA support for MPC85xxCDS

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-01 22:10 Linux 3.6-rc4 Linus Torvalds
@ 2012-09-04 15:44 ` Dave Jones
  2012-09-07 17:55   ` Sasha Levin
  0 siblings, 1 reply; 9+ messages in thread
From: Dave Jones @ 2012-09-04 15:44 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List, Thomas Gleixner

On Sat, Sep 01, 2012 at 03:10:58PM -0700, Linus Torvalds wrote:
 > The kernel summit is over, and most people have either returned or are
 > returning from San Diego.

Still seeing this, that I started seeing just before leaving for San Diego..

	Dave


======================================================
[ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ]
3.6.0-rc4+ #36 Not tainted
------------------------------------------------------
trinity-child6/2057 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
blocked:  (tasklist_lock){.+.+..}, instance: ffffffff81c05098, at: [<ffffffff8109a90b>] posix_cpu_timer_del+0x2b/0xe0

and this task is already holding:
held:     (&(&new_timer->it_lock)->rlock){..-...}, instance: ffff8801207a4d78, at: [<ffffffff81097a3e>] exit_itimers+0x5e/0xe0
which would create a new lock dependency:
 (&(&new_timer->it_lock)->rlock){..-...} -> (tasklist_lock){.+.+..}

but this new dependency connects a SOFTIRQ-irq-safe lock:
 (&(&new_timer->it_lock)->rlock){..-...}
... which became SOFTIRQ-irq-safe at:
  [<ffffffff810db827>] __lock_acquire+0x587/0x1ae0
  [<ffffffff810dd48d>] lock_acquire+0xad/0x220
  [<ffffffff8169befd>] _raw_spin_lock_irqsave+0x7d/0xd0
  [<ffffffff81096d97>] posix_timer_fn+0x37/0xe0
  [<ffffffff8109d814>] __run_hrtimer+0x94/0x4c0
  [<ffffffff8109e437>] hrtimer_interrupt+0xf7/0x230
  [<ffffffff8109e59b>] __hrtimer_peek_ahead_timers.part.27+0x2b/0x30
  [<ffffffff8109e5e9>] hrtimer_peek_ahead_timers+0x49/0xa0
  [<ffffffff8109e671>] run_hrtimer_softirq+0x31/0x40
  [<ffffffff81077150>] __do_softirq+0x100/0x420
  [<ffffffff810775ac>] run_ksoftirqd+0x13c/0x230
  [<ffffffff81098047>] kthread+0xb7/0xc0
  [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10

to a SOFTIRQ-irq-unsafe lock:
 (&(&p->alloc_lock)->rlock){+.+...}
... which became SOFTIRQ-irq-unsafe at:
...  [<ffffffff810db880>] __lock_acquire+0x5e0/0x1ae0
  [<ffffffff810dd48d>] lock_acquire+0xad/0x220
  [<ffffffff8169b396>] _raw_spin_lock+0x46/0x80
  [<ffffffff811e18e2>] set_task_comm+0x32/0x180
  [<ffffffff81098b28>] kthreadd+0x38/0x2e0
  [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10

other info that might help us debug this:

Chain exists of:
  &(&new_timer->it_lock)->rlock --> tasklist_lock --> &(&p->alloc_lock)->rlock

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&(&p->alloc_lock)->rlock);
                               local_irq_disable();
                               lock(&(&new_timer->it_lock)->rlock);
                               lock(tasklist_lock);
  <Interrupt>
    lock(&(&new_timer->it_lock)->rlock);

 *** DEADLOCK ***

1 lock on stack by trinity-child6/2057:
 #0: held:     (&(&new_timer->it_lock)->rlock){..-...}, instance: ffff8801207a4d78, at: [<ffffffff81097a3e>] exit_itimers+0x5e/0xe0

the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
-> (&(&new_timer->it_lock)->rlock){..-...} ops: 8815 {
   IN-SOFTIRQ-W at:
                    [<ffffffff810db827>] __lock_acquire+0x587/0x1ae0
                    [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                    [<ffffffff8169befd>] _raw_spin_lock_irqsave+0x7d/0xd0
                    [<ffffffff81096d97>] posix_timer_fn+0x37/0xe0
                    [<ffffffff8109d814>] __run_hrtimer+0x94/0x4c0
                    [<ffffffff8109e437>] hrtimer_interrupt+0xf7/0x230
                    [<ffffffff8109e59b>] __hrtimer_peek_ahead_timers.part.27+0x2b/0x30
                    [<ffffffff8109e5e9>] hrtimer_peek_ahead_timers+0x49/0xa0
                    [<ffffffff8109e671>] run_hrtimer_softirq+0x31/0x40
                    [<ffffffff81077150>] __do_softirq+0x100/0x420
                    [<ffffffff810775ac>] run_ksoftirqd+0x13c/0x230
                    [<ffffffff81098047>] kthread+0xb7/0xc0
                    [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
   INITIAL USE at:
                   [<ffffffff810db59f>] __lock_acquire+0x2ff/0x1ae0
                   [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                   [<ffffffff8169befd>] _raw_spin_lock_irqsave+0x7d/0xd0
                   [<ffffffff81096ec9>] __lock_timer+0x89/0x1f0
                   [<ffffffff810976f7>] sys_timer_getoverrun+0x17/0x50
                   [<ffffffff816a50ed>] system_call_fastpath+0x1a/0x1f
 }
 ... key      at: [<ffffffff820aab60>] __key.30008+0x0/0x8
 ... acquired at:
   [<ffffffff810dae5b>] check_irq_usage+0x5b/0xe0
   [<ffffffff810dbfed>] __lock_acquire+0xd4d/0x1ae0
   [<ffffffff810dd48d>] lock_acquire+0xad/0x220
   [<ffffffff8169b8f9>] _raw_read_lock+0x49/0x80
   [<ffffffff8109a90b>] posix_cpu_timer_del+0x2b/0xe0
   [<ffffffff81097a26>] exit_itimers+0x46/0xe0
   [<ffffffff810740e6>] do_exit+0x7a6/0xb70
   [<ffffffff810747fc>] do_group_exit+0x4c/0xc0
   [<ffffffff81074887>] sys_exit_group+0x17/0x20
   [<ffffffff816a50ed>] system_call_fastpath+0x1a/0x1f


the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
 -> (&(&p->alloc_lock)->rlock){+.+...} ops: 21207588 {
    HARDIRQ-ON-W at:
                      [<ffffffff810db852>] __lock_acquire+0x5b2/0x1ae0
                      [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                      [<ffffffff8169b396>] _raw_spin_lock+0x46/0x80
                      [<ffffffff811e18e2>] set_task_comm+0x32/0x180
                      [<ffffffff81098b28>] kthreadd+0x38/0x2e0
                      [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
    SOFTIRQ-ON-W at:
                      [<ffffffff810db880>] __lock_acquire+0x5e0/0x1ae0
                      [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                      [<ffffffff8169b396>] _raw_spin_lock+0x46/0x80
                      [<ffffffff811e18e2>] set_task_comm+0x32/0x180
                      [<ffffffff81098b28>] kthreadd+0x38/0x2e0
                      [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
    INITIAL USE at:
                     [<ffffffff810db59f>] __lock_acquire+0x2ff/0x1ae0
                     [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                     [<ffffffff8169b396>] _raw_spin_lock+0x46/0x80
                     [<ffffffff811e18e2>] set_task_comm+0x32/0x180
                     [<ffffffff81098b28>] kthreadd+0x38/0x2e0
                     [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
  }
  ... key      at: [<ffffffff820863a0>] __key.46264+0x0/0x8
  ... acquired at:
   [<ffffffff810dd48d>] lock_acquire+0xad/0x220
   [<ffffffff8169b396>] _raw_spin_lock+0x46/0x80
   [<ffffffff812dfcbe>] keyctl_session_to_parent+0xde/0x490
   [<ffffffff812e00dd>] sys_keyctl+0x6d/0x1a0
   [<ffffffff816a50ed>] system_call_fastpath+0x1a/0x1f

-> (tasklist_lock){.+.+..} ops: 288395 {
   HARDIRQ-ON-R at:
                    [<ffffffff810db75f>] __lock_acquire+0x4bf/0x1ae0
                    [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                    [<ffffffff8169b8f9>] _raw_read_lock+0x49/0x80
                    [<ffffffff81072c02>] do_wait+0xb2/0x360
                    [<ffffffff81074ae5>] sys_wait4+0x75/0xf0
                    [<ffffffff8108d032>] wait_for_helper+0x82/0xb0
                    [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
   SOFTIRQ-ON-R at:
                    [<ffffffff810db880>] __lock_acquire+0x5e0/0x1ae0
                    [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                    [<ffffffff8169b8f9>] _raw_read_lock+0x49/0x80
                    [<ffffffff81072c02>] do_wait+0xb2/0x360
                    [<ffffffff81074ae5>] sys_wait4+0x75/0xf0
                    [<ffffffff8108d032>] wait_for_helper+0x82/0xb0
                    [<ffffffff816a6444>] kernel_thread_helper+0x4/0x10
   INITIAL USE at:
                   [<ffffffff810db59f>] __lock_acquire+0x2ff/0x1ae0
                   [<ffffffff810dd48d>] lock_acquire+0xad/0x220
                   [<ffffffff8169bcac>] _raw_write_lock_irq+0x5c/0xa0
                   [<ffffffff8106b271>] copy_process.part.22+0x1041/0x1740
                   [<ffffffff8106bb00>] do_fork+0x140/0x4e0
                   [<ffffffff81024616>] kernel_thread+0x76/0x80
                   [<ffffffff816761d2>] rest_init+0x26/0x154
                   [<ffffffff81f00cb5>] start_kernel+0x3fa/0x407
                   [<ffffffff81f00356>] x86_64_start_reservations+0x131/0x135
                   [<ffffffff81f004a2>] x86_64_start_kernel+0x148/0x157
 }
 ... key      at: [<ffffffff81c05098>] tasklist_lock+0x18/0x80
 ... acquired at:
   [<ffffffff810dae5b>] check_irq_usage+0x5b/0xe0
   [<ffffffff810dbfed>] __lock_acquire+0xd4d/0x1ae0
   [<ffffffff810dd48d>] lock_acquire+0xad/0x220
   [<ffffffff8169b8f9>] _raw_read_lock+0x49/0x80
   [<ffffffff8109a90b>] posix_cpu_timer_del+0x2b/0xe0
   [<ffffffff81097a26>] exit_itimers+0x46/0xe0
   [<ffffffff810740e6>] do_exit+0x7a6/0xb70
   [<ffffffff810747fc>] do_group_exit+0x4c/0xc0
   [<ffffffff81074887>] sys_exit_group+0x17/0x20
   [<ffffffff816a50ed>] system_call_fastpath+0x1a/0x1f


stack backtrace:
Pid: 2057, comm: trinity-child6 Not tainted 3.6.0-rc4+ #36
Call Trace:
 [<ffffffff810dade4>] check_usage+0x4e4/0x500
 [<ffffffff810237b3>] ? sched_clock+0x13/0x20
 [<ffffffff81023739>] ? native_sched_clock+0x19/0x80
 [<ffffffff810237b3>] ? sched_clock+0x13/0x20
 [<ffffffff81023739>] ? native_sched_clock+0x19/0x80
 [<ffffffff810dae5b>] check_irq_usage+0x5b/0xe0
 [<ffffffff810dbfed>] __lock_acquire+0xd4d/0x1ae0
 [<ffffffff810d86ad>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff810b2639>] ? local_clock+0x99/0xc0
 [<ffffffff81023739>] ? native_sched_clock+0x19/0x80
 [<ffffffff810dd48d>] lock_acquire+0xad/0x220
 [<ffffffff8109a90b>] ? posix_cpu_timer_del+0x2b/0xe0
 [<ffffffff81097a3e>] ? exit_itimers+0x5e/0xe0
 [<ffffffff8169b8f9>] _raw_read_lock+0x49/0x80
 [<ffffffff8109a90b>] ? posix_cpu_timer_del+0x2b/0xe0
 [<ffffffff8169bf29>] ? _raw_spin_lock_irqsave+0xa9/0xd0
 [<ffffffff8109a90b>] posix_cpu_timer_del+0x2b/0xe0
 [<ffffffff81097a26>] exit_itimers+0x46/0xe0
 [<ffffffff810740e6>] do_exit+0x7a6/0xb70
 [<ffffffff8169c3d5>] ? retint_swapgs+0x13/0x1b
 [<ffffffff810747fc>] do_group_exit+0x4c/0xc0
 [<ffffffff81074887>] sys_exit_group+0x17/0x20
 [<ffffffff816a50ed>] system_call_fastpath+0x1a/0x1f


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-04 15:44 ` Dave Jones
@ 2012-09-07 17:55   ` Sasha Levin
  2012-09-07 18:39     ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Sasha Levin @ 2012-09-07 17:55 UTC (permalink / raw)
  To: Dave Jones, Linus Torvalds, Linux Kernel Mailing List, Thomas Gleixner

On 09/04/2012 05:44 PM, Dave Jones wrote:
> On Sat, Sep 01, 2012 at 03:10:58PM -0700, Linus Torvalds wrote:
>  > The kernel summit is over, and most people have either returned or are
>  > returning from San Diego.
> 
> Still seeing this, that I started seeing just before leaving for San Diego..
> 
> 	Dave

I've bisected this one down to


d35abdb28824cf74f0a106a0f9c6f3ff700a35bf is the first bad commit
commit d35abdb28824cf74f0a106a0f9c6f3ff700a35bf
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jun 30 11:55:24 2012 +0400

    hold task_lock around checks in keyctl

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>


Just didn't get a response from anyone when I've mailed about it...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-07 17:55   ` Sasha Levin
@ 2012-09-07 18:39     ` Linus Torvalds
  2012-09-10 14:36       ` Peter Zijlstra
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2012-09-07 18:39 UTC (permalink / raw)
  To: Sasha Levin, Al Viro
  Cc: Dave Jones, Linux Kernel Mailing List, Thomas Gleixner

Al? Please look into this. I'm not entirely sure what's going on, but
lockdep complains about this:

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&(&p->alloc_lock)->rlock);
                               local_irq_disable();
                               lock(&(&new_timer->it_lock)->rlock);
                               lock(tasklist_lock);
  <Interrupt>
    lock(&(&new_timer->it_lock)->rlock);

 *** DEADLOCK ***

and it looks real. IOW, if I read that right, we have the task_lock ->
it_lock dependency through exit_itimers(), and then we have the
tasklist_lock -> task_lock dependency everywhere else. So now it_lock
-> tasklist_lock becomes a deadlock.

                  Linus

On Fri, Sep 7, 2012 at 10:55 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
> On 09/04/2012 05:44 PM, Dave Jones wrote:
>> On Sat, Sep 01, 2012 at 03:10:58PM -0700, Linus Torvalds wrote:
>>  > The kernel summit is over, and most people have either returned or are
>>  > returning from San Diego.
>>
>> Still seeing this, that I started seeing just before leaving for San Diego..
>>
>>       Dave
>
> I've bisected this one down to
>
>
> d35abdb28824cf74f0a106a0f9c6f3ff700a35bf is the first bad commit
> commit d35abdb28824cf74f0a106a0f9c6f3ff700a35bf
> Author: Al Viro <viro@zeniv.linux.org.uk>
> Date:   Sat Jun 30 11:55:24 2012 +0400
>
>     hold task_lock around checks in keyctl
>
>     Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
>
>
> Just didn't get a response from anyone when I've mailed about it...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-07 18:39     ` Linus Torvalds
@ 2012-09-10 14:36       ` Peter Zijlstra
  2012-09-15 12:25         ` Sasha Levin
  2012-09-21 21:16         ` Dave Jones
  0 siblings, 2 replies; 9+ messages in thread
From: Peter Zijlstra @ 2012-09-10 14:36 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Sasha Levin, Al Viro, Dave Jones, Linux Kernel Mailing List,
	Thomas Gleixner

On Fri, 2012-09-07 at 11:39 -0700, Linus Torvalds wrote:
> Al? Please look into this. I'm not entirely sure what's going on, but
> lockdep complains about this:
> 
>  Possible interrupt unsafe locking scenario:
> 
>        CPU0                    CPU1
>        ----                    ----
>   lock(&(&p->alloc_lock)->rlock);
>                                local_irq_disable();
>                                lock(&(&new_timer->it_lock)->rlock);
>                                lock(tasklist_lock);
>   <Interrupt>
>     lock(&(&new_timer->it_lock)->rlock);
> 
>  *** DEADLOCK ***
> 
> and it looks real. IOW, if I read that right, we have the task_lock ->
> it_lock dependency through exit_itimers(), and then we have the
> tasklist_lock -> task_lock dependency everywhere else. So now it_lock
> -> tasklist_lock becomes a deadlock. 

Agreed, I've got the following series from Oleg queued to solve this:

 http://marc.info/?l=linux-kernel&m=134600821828491&w=2



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-10 14:36       ` Peter Zijlstra
@ 2012-09-15 12:25         ` Sasha Levin
  2012-09-21 21:16         ` Dave Jones
  1 sibling, 0 replies; 9+ messages in thread
From: Sasha Levin @ 2012-09-15 12:25 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Linus Torvalds, Al Viro, Dave Jones, Linux Kernel Mailing List,
	Thomas Gleixner

On Mon, Sep 10, 2012 at 4:36 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Fri, 2012-09-07 at 11:39 -0700, Linus Torvalds wrote:
>> Al? Please look into this. I'm not entirely sure what's going on, but
>> lockdep complains about this:
>>
>>  Possible interrupt unsafe locking scenario:
>>
>>        CPU0                    CPU1
>>        ----                    ----
>>   lock(&(&p->alloc_lock)->rlock);
>>                                local_irq_disable();
>>                                lock(&(&new_timer->it_lock)->rlock);
>>                                lock(tasklist_lock);
>>   <Interrupt>
>>     lock(&(&new_timer->it_lock)->rlock);
>>
>>  *** DEADLOCK ***
>>
>> and it looks real. IOW, if I read that right, we have the task_lock ->
>> it_lock dependency through exit_itimers(), and then we have the
>> tasklist_lock -> task_lock dependency everywhere else. So now it_lock
>> -> tasklist_lock becomes a deadlock.
>
> Agreed, I've got the following series from Oleg queued to solve this:
>
>  http://marc.info/?l=linux-kernel&m=134600821828491&w=2

I'm still seeing lockdep warnings even with the code above applied.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-10 14:36       ` Peter Zijlstra
  2012-09-15 12:25         ` Sasha Levin
@ 2012-09-21 21:16         ` Dave Jones
  2012-09-28 19:05           ` Dave Jones
  1 sibling, 1 reply; 9+ messages in thread
From: Dave Jones @ 2012-09-21 21:16 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Linus Torvalds, Sasha Levin, Al Viro, Linux Kernel Mailing List,
	Thomas Gleixner

On Mon, Sep 10, 2012 at 04:36:20PM +0200, Peter Zijlstra wrote:
 > On Fri, 2012-09-07 at 11:39 -0700, Linus Torvalds wrote:
 > > Al? Please look into this. I'm not entirely sure what's going on, but
 > > lockdep complains about this:
 > > 
 > >  Possible interrupt unsafe locking scenario:
 > > 
 > >        CPU0                    CPU1
 > >        ----                    ----
 > >   lock(&(&p->alloc_lock)->rlock);
 > >                                local_irq_disable();
 > >                                lock(&(&new_timer->it_lock)->rlock);
 > >                                lock(tasklist_lock);
 > >   <Interrupt>
 > >     lock(&(&new_timer->it_lock)->rlock);
 > > 
 > >  *** DEADLOCK ***
 > > 
 > > and it looks real. IOW, if I read that right, we have the task_lock ->
 > > it_lock dependency through exit_itimers(), and then we have the
 > > tasklist_lock -> task_lock dependency everywhere else. So now it_lock
 > > -> tasklist_lock becomes a deadlock. 
 > 
 > Agreed, I've got the following series from Oleg queued to solve this:
 > 
 >  http://marc.info/?l=linux-kernel&m=134600821828491&w=2

What's happening with this series ? I'm still seeing these traces in rc6.

	Dave


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-21 21:16         ` Dave Jones
@ 2012-09-28 19:05           ` Dave Jones
  2012-10-01 20:55             ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Dave Jones @ 2012-09-28 19:05 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Linus Torvalds, Sasha Levin, Al Viro, Linux Kernel Mailing List,
	Thomas Gleixner

On Fri, Sep 21, 2012 at 05:16:39PM -0400, Dave Jones wrote:
 > On Mon, Sep 10, 2012 at 04:36:20PM +0200, Peter Zijlstra wrote:
 >  > On Fri, 2012-09-07 at 11:39 -0700, Linus Torvalds wrote:
 >  > > Al? Please look into this. I'm not entirely sure what's going on, but
 >  > > lockdep complains about this:
 >  > > 
 >  > >  Possible interrupt unsafe locking scenario:
 >  > > 
 >  > >        CPU0                    CPU1
 >  > >        ----                    ----
 >  > >   lock(&(&p->alloc_lock)->rlock);
 >  > >                                local_irq_disable();
 >  > >                                lock(&(&new_timer->it_lock)->rlock);
 >  > >                                lock(tasklist_lock);
 >  > >   <Interrupt>
 >  > >     lock(&(&new_timer->it_lock)->rlock);
 >  > > 
 >  > >  *** DEADLOCK ***
 >  > > 
 >  > > and it looks real. IOW, if I read that right, we have the task_lock ->
 >  > > it_lock dependency through exit_itimers(), and then we have the
 >  > > tasklist_lock -> task_lock dependency everywhere else. So now it_lock
 >  > > -> tasklist_lock becomes a deadlock. 
 >  > 
 >  > Agreed, I've got the following series from Oleg queued to solve this:
 >  > 
 >  >  http://marc.info/?l=linux-kernel&m=134600821828491&w=2
 > 
 > What's happening with this series ? I'm still seeing these traces in rc6.

and still in rc7.

Peter ?

	Dave

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux 3.6-rc4
  2012-09-28 19:05           ` Dave Jones
@ 2012-10-01 20:55             ` Linus Torvalds
  0 siblings, 0 replies; 9+ messages in thread
From: Linus Torvalds @ 2012-10-01 20:55 UTC (permalink / raw)
  To: Dave Jones, Peter Zijlstra, Linus Torvalds, Sasha Levin, Al Viro,
	Linux Kernel Mailing List, Thomas Gleixner

On Fri, Sep 28, 2012 at 12:05 PM, Dave Jones <davej@redhat.com> wrote:
>
> and still in rc7.
>
> Peter ?

The fix for this should be merged in my current git tree now.

If this works out ok, we can backport them. See merge commit
94095a1fff89, which pulls the fixes and talks about it.

               Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-10-01 20:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-01 22:10 Linux 3.6-rc4 Linus Torvalds
2012-09-04 15:44 ` Dave Jones
2012-09-07 17:55   ` Sasha Levin
2012-09-07 18:39     ` Linus Torvalds
2012-09-10 14:36       ` Peter Zijlstra
2012-09-15 12:25         ` Sasha Levin
2012-09-21 21:16         ` Dave Jones
2012-09-28 19:05           ` Dave Jones
2012-10-01 20:55             ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).