1. 15 May, 2014 1 commit
  2. 14 May, 2014 1 commit
    • Thomas Petazzoni's avatar
      of: make of_update_property() usable earlier in the boot process · 582da652
      Thomas Petazzoni authored
      Commit 75b57ecf ('of: Make device
      nodes kobjects so they show up in sysfs') has turned Device Tree nodes
      in kobjects and added a sysfs based representation for Device Tree
      nodes. Since the sysfs logic is only available after the execution of
      a core_initcall(), the patch took precautions in of_add_property() and
      of_remove_property() to not do any sysfs related manipulation early in
      the boot process.
      
      However, it forgot to do the same for of_update_property(), which if
      used early in the boot process (before core_initcalls have been
      called), tries to call sysfs_remove_bin_file(), and crashes:
      
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 0 at /home/thomas/projets/linux-2.6/fs/kernfs/dir.c:1216 kernfs_remove_by_name_ns+0x80/0x88()
      kernfs: can not remove '(null)', no directory
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc1-00127-g1d7e7b2-dirty #423
      [<c0014910>] (unwind_backtrace) from [<c00110ec>] (show_stack+0x10/0x14)
      [<c00110ec>] (show_stack) from [<c04c84b8>] (dump_stack+0x84/0x94)
      [<c04c84b8>] (dump_stack) from [<c001d8c0>] (warn_slowpath_common+0x6c/0x88)
      [<c001d8c0>] (warn_slowpath_common) from [<c001d90c>] (warn_slowpath_fmt+0x30/0x40)
      [<c001d90c>] (warn_slowpath_fmt) from [<c0104468>] (kernfs_remove_by_name_ns+0x80/0x88)
      [<c0104468>] (kernfs_remove_by_name_ns) from [<c0394d98>] (of_update_property+0xc0/0xf0)
      [<c0394d98>] (of_update_property) from [<c0647248>] (mvebu_timer_and_clk_init+0xfc/0x194)
      [<c0647248>] (mvebu_timer_and_clk_init) from [<c0640934>] (start_kernel+0x218/0x350)
      [<c0640934>] (start_kernel) from [<00008070>] (0x8070)
      ---[ end trace 3406ff24bd97382e ]---
      Unable to handle kernel NULL pointer dereference at virtual address 0000003c
      pgd = c0004000
      [0000003c] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W     3.15.0-rc1-00127-g1d7e7b2-dirty #423
      task: c10ad4d8 ti: c10a2000 task.ti: c10a2000
      PC is at kernfs_find_ns+0x8/0xf0
      LR is at kernfs_find_and_get_ns+0x30/0x48
      pc : [<c0103834>]    lr : [<c010394c>]    psr: 600001d3
      sp : c10a3f34  ip : 00000073  fp : 00000000
      r10: 00000000  r9 : cfffc240  r8 : cfdf2980
      r7 : cf812c00  r6 : 00000000  r5 : 00000000  r4 : c10b45e0
      r3 : c10ad4d8  r2 : 00000000  r1 : cf812c00  r0 : 00000000
      Flags: nZCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c53c7d  Table: 0000404a  DAC: 00000015
      Process swapper/0 (pid: 0, stack limit = 0xc10a2240)
      Stack: (0xc10a3f34 to 0xc10a4000)
      3f20:                                              c10b45e0 00000000 00000000
      3f40: cf812c00 c010394c 00000063 cf812c00 00000001 cf812c00 cfdf29ac c03932cc
      3f60: 00000063 cf812bc0 cfdf29ac cf812c00 ffffffff c03943f8 cfdf2980 c0104468
      3f80: cfdf2a04 cfdf2980 cf812bc0 c06634b0 c10aa3c0 c0394da4 c10f74dc cfdf2980
      3fa0: cf812bc0 c0647248 c10aa3c0 ffffffff c10de940 c10aa3c0 ffffffff c0640934
      3fc0: ffffffff ffffffff c06404ec 00000000 00000000 c06634b0 00000000 10c53c7d
      3fe0: c10aa434 c06634ac c10ae4c8 0000406a 414fc091 00008070 00000000 00000000
      [<c0103834>] (kernfs_find_ns) from [<00000001>] (0x1)
      Code: e5c89001 eaffffcf e92d40f0 e1a06002 (e1d023bc)
      ---[ end trace 3406ff24bd97382f ]---
      Kernel panic - not syncing: Attempted to kill the idle task!
      ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
      
      To fix this problem, we simply skip the sysfs related calls in
      of_update_property(), and rely on of_init() to fix up things when it
      will be called, exactly as is done in of_add_property() and
      of_remove_property().
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Fixes: 75b57ecf ("of: Make device nodes kobjects so they show up in sysfs")
      Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
      582da652
  3. 13 May, 2014 9 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v3.15-4' of git://git.samba.org/jlayton/linux · 14186fea
      Linus Torvalds authored
      Pull file locking fix from Jeff Layton:
       "Fix for regression in handling of F_GETLK commands"
      
      * tag 'locks-v3.15-4' of git://git.samba.org/jlayton/linux:
        locks: only validate the lock vs. f_mode in F_SETLK codepaths
      14186fea
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 77d92784
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       "Fix resource leak as well as broken store function in emc1403 driver,
        and add support for additional chip revisions"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (emc1403) Support full range of known chip revision numbers
        hwmon: (emc1403) Fix resource leak on module unload
        hwmon: (emc1403) fix inverted store_hyst()
      77d92784
    • Linus Torvalds's avatar
      Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 68cb363a
      Linus Torvalds authored
      Pull a percpu fix from Tejun Heo:
       "Fix for a percpu allocator bug where it could try to kfree() a memory
        region allocated using vmalloc().  The bug has been there for years
        now and is unlikely to have ever triggered given the size of struct
        pcpu_chunk.  It's still theoretically possible and the fix is simple
        and safe enough, so the patch is marked with -stable"
      
      * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree()
      68cb363a
    • Linus Torvalds's avatar
      Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · efb2b1d5
      Linus Torvalds authored
      Pull workqueue fixes from Tejun Heo:
       "Fixes for two bugs in workqueue.
      
        One is exiting with internal mutex held in a failure path of
        wq_update_unbound_numa().  The other is a subtle and unlikely
        use-after-possible-last-put in the rescuer logic.  Both have been
        around for quite some time now and are unlikely to have triggered
        noticeably often.  All patches are marked for -stable backport"
      
      * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix a possible race condition between rescuer and pwq-release
        workqueue: make rescuer_thread() empty wq->maydays list before exiting
        workqueue: fix bugs in wq_update_unbound_numa() failure path
      efb2b1d5
    • Linus Torvalds's avatar
      Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 26a41cd1
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "During recent restructuring, device_cgroup unified config input check
        and enforcement logic; unfortunately, it turned out to share too much.
        Aristeu's patches fix the breakage and marked for -stable backport.
      
        The other two patches are fallouts from kernfs conversion.  The blkcg
        change is temporary and will go away once kernfs internal locking gets
        simplified (patches pending)"
      
      * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        blkcg: use trylock on blkcg_pol_mutex in blkcg_reset_stats()
        device_cgroup: check if exception removal is allowed
        device_cgroup: fix the comment format for recently added functions
        device_cgroup: rework device access check and exception checking
        cgroup: fix the retry path of cgroup_mount()
      26a41cd1
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 619b5891
      Linus Torvalds authored
      Pull xen bug fixes from David Vrabel:
       - Fix arm64 crash on boot.
       - Quiet a noisy arm build warning (virt_to_pfn() redefined).
      
      * tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        arm64: introduce virt_to_pfn
        xen/events/fifo: correctly align bitops
        arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h
      619b5891
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 19726630
      Linus Torvalds authored
      Pull cifs fix from Steve French:
       "Small cifs fix for metadata caching"
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix actimeo=0 corner case when cifs_i->time == jiffies
      19726630
    • Linus Torvalds's avatar
      Merge tag 'md/3.15-fixes' of git://neil.brown.name/md · 2ddb5998
      Linus Torvalds authored
      Pull md bugfixes from Neil Brown:
       "Two bugfixes for md in 3.15
      
        Both tagged for -stable"
      
      * tag 'md/3.15-fixes' of git://neil.brown.name/md:
        md: avoid possible spinning md thread at shutdown.
        md/raid10: call wait_barrier() for each request submitted.
      2ddb5998
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 200d963b
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Seems like we've had more fixes than usual this release cycle, but
        there's nothing in particular that we're doing differently.  Perhaps
        it's just one of those cycles where more people are finding more
        regressions (and/or that the latency of when people actually test
        what's been in the tree for a while is catching up so that we get the
        bug reports now).
      
        The bigger changes here are are for TI and Marvell platforms:
         * Timing changes for GPMC (generic localbus) on OMAP causing some
           largeish DTS deltas.
         * Fixes to window allocation on PCI for mvebu touching drivers/
           stuff.  Patches have acks from subsystem maintainers where needed.
         * A fix from Thomas for a botched DT conversion in drivers/edma.
      
        There's a handful of other fixes for the above platforms as well as
        sunxi, at91, i.MX.  I also included a MAINTAINER update for Broadcom,
        and a trivial move of a binding doc.
      
        I know you said you'd be offline this week, but I might as well post
        it for when you return.  :)"
      
      I'm not quite offline yet.  Doing a few pulls in the last hour before my
      internet goes away..
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
        MAINTAINERS: update Broadcom ARM tree location and add an SoC family
        ARM: dts: i.MX53: Fix ipu register space size
        ARM: dts: kirkwood: fix mislocated pcie-controller nodes
        ARM: sunxi: Enable GMAC in sunxi_defconfig
        ARM: common: edma: Fix xbar mapping
        ARM: sun7i: Fix i2c4 base address
        ARM: Kirkwood: T5325: Fix double probe of Codec
        ARM: mvebu: enable the SATA interface on Armada 375 DB
        ARM: mvebu: specify I2C bus frequency on Armada 370 DB
        ARM: mvebu: use qsgmii phy-mode for Armada XP GP interfaces
        ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 Device Tree
        ARM: mvebu: fix NOR bus-width in Armada XP DB Device Tree
        ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree
        ARM: dts: AM3517: Disable absent IPs inherited from OMAP3
        ARM: dts: OMAP2: Fix interrupts for OMAP2420 mailbox
        ARM: dts: OMAP5: Add mailbox dt node to fix boot warning
        ARM: OMAP5: Switch to THUMB mode if needed on secondary CPU
        ARM: dts: am437x-gp-evm: Do not reset gpio5
        ARM: dts: omap3-igep0020: use SMSC9221 timings
        PCI: mvebu: split PCIe BARs into multiple MBus windows when needed
        ...
      200d963b
  4. 12 May, 2014 4 commits
  5. 11 May, 2014 11 commits
  6. 09 May, 2014 7 commits
  7. 08 May, 2014 7 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.15-rc4-v2' of... · f322e262
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.15-rc4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "This contains two fixes.
      
        The first is a long standing bug that causes bogus data to show up in
        the refcnt field of the module_refcnt tracepoint.  It was introduced
        by a merge conflict resolution back in 2.6.35-rc days.
      
        The result should be 'refcnt = incs - decs', but instead it did
        'refcnt = incs + decs'.
      
        The second fix is to a bug that was introduced in this merge window
        that allowed for a tracepoint funcs pointer to be used after it was
        freed.  Moving the location of where the probes are released solved
        the problem"
      
      * tag 'trace-fixes-v3.15-rc4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracepoint: Fix use of tracepoint funcs after rcu free
        trace: module: Maintain a valid user count
      f322e262
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d86561b4
      Linus Torvalds authored
      Pull input subsystem fixes from Dmitry Torokhov:
       "Just a few fixups to various drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elantech - fix touchpad initialization on Gigabyte U2442
        Input: tca8418 - fix loading this driver as a module from a device tree
        Input: bma150 - extend chip detection for bma180
        Input: atkbd - fix keyboard not working on some LG laptops
        Input: synaptics - add min/max quirk for ThinkPad Edge E431
      d86561b4
    • Linus Torvalds's avatar
      Merge tag 'sound-3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c6c96d7b
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A bunch of small fixes for USB-audio and HD-audio, where most of them
        are for regressions: USB-audio PM fixes, ratelimit annoyance fix, HDMI
        offline state fix, and a couple of device-specific quirks"
      
      * tag 'sound-3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - hdmi: Set converter channel count even without sink
        ALSA: usb-audio: work around corrupted TEAC UD-H01 feedback data
        ALSA: usb-audio: Fix deadlocks at resuming
        ALSA: usb-audio: Save mixer status only once at suspend
        ALSA: usb-audio: Prevent printk ratelimiting from spamming kernel log while DEBUG not defined
        ALSA: hda - add headset mic detect quirk for a Dell laptop
      c6c96d7b
    • Linus Torvalds's avatar
      Merge tag 'mfd-mmc-fixes-3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 1b826a94
      Linus Torvalds authored
      Pull mmc/rtsx revert from Lee Jones.
      
      * tag 'mfd-mmc-fixes-3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
        mmc: rtsx: Revert "mmc: rtsx: add support for pre_req and post_req"
      1b826a94
    • Kinglong Mee's avatar
      NFSD: Call ->set_acl with a NULL ACL structure if no entries · aa07c713
      Kinglong Mee authored
      After setting ACL for directory, I got two problems that caused
      by the cached zero-length default posix acl.
      
      This patch make sure nfsd4_set_nfs4_acl calls ->set_acl
      with a NULL ACL structure if there are no entries.
      
      Thanks for Christoph Hellwig's advice.
      
      First problem:
      ............ hang ...........
      
      Second problem:
      [ 1610.167668] ------------[ cut here ]------------
      [ 1610.168320] kernel BUG at /root/nfs/linux/fs/nfsd/nfs4acl.c:239!
      [ 1610.168320] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
      [ 1610.168320] Modules linked in: nfsv4(OE) nfs(OE) nfsd(OE)
      rpcsec_gss_krb5 fscache ip6t_rpfilter ip6t_REJECT cfg80211 xt_conntrack
      rfkill ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables
      ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6
      ip6table_mangle ip6table_security ip6table_raw ip6table_filter
      ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4
      nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw
      auth_rpcgss nfs_acl snd_intel8x0 ppdev lockd snd_ac97_codec ac97_bus
      snd_pcm snd_timer e1000 pcspkr parport_pc snd parport serio_raw joydev
      i2c_piix4 sunrpc(OE) microcode soundcore i2c_core ata_generic pata_acpi
      [last unloaded: nfsd]
      [ 1610.168320] CPU: 0 PID: 27397 Comm: nfsd Tainted: G           OE
      3.15.0-rc1+ #15
      [ 1610.168320] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
      VirtualBox 12/01/2006
      [ 1610.168320] task: ffff88005ab653d0 ti: ffff88005a944000 task.ti:
      ffff88005a944000
      [ 1610.168320] RIP: 0010:[<ffffffffa034d5ed>]  [<ffffffffa034d5ed>]
      _posix_to_nfsv4_one+0x3cd/0x3d0 [nfsd]
      [ 1610.168320] RSP: 0018:ffff88005a945b00  EFLAGS: 00010293
      [ 1610.168320] RAX: 0000000000000001 RBX: ffff88006700bac0 RCX:
      0000000000000000
      [ 1610.168320] RDX: 0000000000000000 RSI: ffff880067c83f00 RDI:
      ffff880068233300
      [ 1610.168320] RBP: ffff88005a945b48 R08: ffffffff81c64830 R09:
      0000000000000000
      [ 1610.168320] R10: ffff88004ea85be0 R11: 000000000000f475 R12:
      ffff880068233300
      [ 1610.168320] R13: 0000000000000003 R14: 0000000000000002 R15:
      ffff880068233300
      [ 1610.168320] FS:  0000000000000000(0000) GS:ffff880077800000(0000)
      knlGS:0000000000000000
      [ 1610.168320] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [ 1610.168320] CR2: 00007f5bcbd3b0b9 CR3: 0000000001c0f000 CR4:
      00000000000006f0
      [ 1610.168320] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
      0000000000000000
      [ 1610.168320] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
      0000000000000400
      [ 1610.168320] Stack:
      [ 1610.168320]  ffffffff00000000 0000000b67c83500 000000076700bac0
      0000000000000000
      [ 1610.168320]  ffff88006700bac0 ffff880068233300 ffff88005a945c08
      0000000000000002
      [ 1610.168320]  0000000000000000 ffff88005a945b88 ffffffffa034e2d5
      000000065a945b68
      [ 1610.168320] Call Trace:
      [ 1610.168320]  [<ffffffffa034e2d5>] nfsd4_get_nfs4_acl+0x95/0x150 [nfsd]
      [ 1610.168320]  [<ffffffffa03400d6>] nfsd4_encode_fattr+0x646/0x1e70 [nfsd]
      [ 1610.168320]  [<ffffffff816a6e6e>] ? kmemleak_alloc+0x4e/0xb0
      [ 1610.168320]  [<ffffffffa0327962>] ?
      nfsd_setuser_and_check_port+0x52/0x80 [nfsd]
      [ 1610.168320]  [<ffffffff812cd4bb>] ? selinux_cred_prepare+0x1b/0x30
      [ 1610.168320]  [<ffffffffa0341caa>] nfsd4_encode_getattr+0x5a/0x60 [nfsd]
      [ 1610.168320]  [<ffffffffa0341e07>] nfsd4_encode_operation+0x67/0x110
      [nfsd]
      [ 1610.168320]  [<ffffffffa033844d>] nfsd4_proc_compound+0x21d/0x810 [nfsd]
      [ 1610.168320]  [<ffffffffa0324d9b>] nfsd_dispatch+0xbb/0x200 [nfsd]
      [ 1610.168320]  [<ffffffffa00850cd>] svc_process_common+0x46d/0x6d0 [sunrpc]
      [ 1610.168320]  [<ffffffffa0085433>] svc_process+0x103/0x170 [sunrpc]
      [ 1610.168320]  [<ffffffffa032472f>] nfsd+0xbf/0x130 [nfsd]
      [ 1610.168320]  [<ffffffffa0324670>] ? nfsd_destroy+0x80/0x80 [nfsd]
      [ 1610.168320]  [<ffffffff810a5202>] kthread+0xd2/0xf0
      [ 1610.168320]  [<ffffffff810a5130>] ? insert_kthread_work+0x40/0x40
      [ 1610.168320]  [<ffffffff816c1ebc>] ret_from_fork+0x7c/0xb0
      [ 1610.168320]  [<ffffffff810a5130>] ? insert_kthread_work+0x40/0x40
      [ 1610.168320] Code: 78 02 e9 e7 fc ff ff 31 c0 31 d2 31 c9 66 89 45 ce
      41 8b 04 24 66 89 55 d0 66 89 4d d2 48 8d 04 80 49 8d 5c 84 04 e9 37 fd
      ff ff <0f> 0b 90 0f 1f 44 00 00 55 8b 56 08 c7 07 00 00 00 00 8b 46 0c
      [ 1610.168320] RIP  [<ffffffffa034d5ed>] _posix_to_nfsv4_one+0x3cd/0x3d0
      [nfsd]
      [ 1610.168320]  RSP <ffff88005a945b00>
      [ 1610.257313] ---[ end trace 838254e3e352285b ]---
      Signed-off-by: default avatarKinglong Mee <kinglongmee@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      aa07c713
    • Mathieu Desnoyers's avatar
      tracepoint: Fix use of tracepoint funcs after rcu free · 8058bd0f
      Mathieu Desnoyers authored
      Commit de7b2973 "tracepoint: Use struct pointer instead of name hash
      for reg/unreg tracepoints" introduces a use after free by calling
      release_probes on the old struct tracepoint array before the newly
      allocated array is published with rcu_assign_pointer. There is a race
      window where tracepoints (RCU readers) can perform a
      "use-after-grace-period-after-free", which shows up as a GPF in
      stress-tests.
      
      Link: http://lkml.kernel.org/r/53698021.5020108@oracle.com
      Link: http://lkml.kernel.org/p/1399549669-25465-1-git-send-email-mathieu.desnoyers@efficios.comReported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      CC: Oleg Nesterov <oleg@redhat.com>
      CC: Dave Jones <davej@redhat.com>
      Fixes: de7b2973 "tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints"
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      8058bd0f
    • Romain Izard's avatar
      trace: module: Maintain a valid user count · 098507ae
      Romain Izard authored
      The replacement of the 'count' variable by two variables 'incs' and
      'decs' to resolve some race conditions during module unloading was done
      in parallel with some cleanup in the trace subsystem, and was integrated
      as a merge.
      
      Unfortunately, the formula for this replacement was wrong in the tracing
      code, and the refcount in the traces was not usable as a result.
      
      Use 'count = incs - decs' to compute the user count.
      
      Link: http://lkml.kernel.org/p/1393924179-9147-1-git-send-email-romain.izard.pro@gmail.comAcked-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: stable@vger.kernel.org # 2.6.35
      Fixes: c1ab9cab "merge conflict resolution"
      Signed-off-by: default avatarRomain Izard <romain.izard.pro@gmail.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      098507ae