Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

fix some typos #60

Open
wants to merge 1 commit into from

1 participant

Yang Le
Yang Le

No description provided.

Olliver Schinagl oliv3r referenced this pull request from a commit in oliv3r/linux
Borislav Petkov x86: Improve the printout of the SMP bootup CPU table
As the new x86 CPU bootup printout format code maintainer, I am
taking immediate action to improve and clean (and thus indulge
my OCD) the reporting of the cores when coming up online.

Fix padding to a right-hand alignment, cleanup code and bind
reporting width to the max number of supported CPUs on the
system, like this:

 [    0.074509] smpboot: Booting Node   0, Processors:      #1  #2  #3  #4  #5  #6  #7 OK
 [    0.644008] smpboot: Booting Node   1, Processors:  #8  #9 #10 #11 #12 #13 #14 #15 OK
 [    1.245006] smpboot: Booting Node   2, Processors: #16 #17 #18 #19 #20 #21 #22 #23 OK
 [    1.864005] smpboot: Booting Node   3, Processors: #24 #25 #26 #27 #28 #29 #30 #31 OK
 [    2.489005] smpboot: Booting Node   4, Processors: #32 #33 #34 #35 #36 #37 #38 #39 OK
 [    3.093005] smpboot: Booting Node   5, Processors: #40 #41 #42 #43 #44 #45 #46 #47 OK
 [    3.698005] smpboot: Booting Node   6, Processors: #48 #49 #50 #51 #52 #53 #54 #55 OK
 [    4.304005] smpboot: Booting Node   7, Processors: #56 #57 #58 #59 #60 #61 #62 #63 OK
 [    4.961413] Brought up 64 CPUs

and this:

 [    0.072367] smpboot: Booting Node   0, Processors:    #1 #2 #3 #4 #5 #6 #7 OK
 [    0.686329] Brought up 8 CPUs

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Libin <huawei.libin@huawei.com>
Cc: wangyijing@huawei.com
Cc: fenghua.yu@intel.com
Cc: guohanjun@huawei.com
Cc: paul.gortmaker@windriver.com
Link: http://lkml.kernel.org/r/20130927143554.GF4422@pd.tnic
Signed-off-by: Ingo Molnar <mingo@kernel.org>
646e29a
Olliver Schinagl oliv3r referenced this pull request from a commit in oliv3r/linux
Borislav Petkov x86/boot: Further compress CPUs bootup message
Turn it into (for example):

[    0.073380] x86: Booting SMP configuration:
[    0.074005] .... node   #0, CPUs:          #1   #2   #3   #4   #5   #6   #7
[    0.603005] .... node   #1, CPUs:     #8   #9  #10  #11  #12  #13  #14  #15
[    1.200005] .... node   #2, CPUs:    #16  #17  #18  #19  #20  #21  #22  #23
[    1.796005] .... node   #3, CPUs:    #24  #25  #26  #27  #28  #29  #30  #31
[    2.393005] .... node   #4, CPUs:    #32  #33  #34  #35  #36  #37  #38  #39
[    2.996005] .... node   #5, CPUs:    #40  #41  #42  #43  #44  #45  #46  #47
[    3.600005] .... node   #6, CPUs:    #48  #49  #50  #51  #52  #53  #54  #55
[    4.202005] .... node   #7, CPUs:    #56  #57  #58  #59  #60  #61  #62  #63
[    4.811005] .... node   #8, CPUs:    #64  #65  #66  #67  #68  #69  #70  #71
[    5.421006] .... node   #9, CPUs:    #72  #73  #74  #75  #76  #77  #78  #79
[    6.032005] .... node  #10, CPUs:    #80  #81  #82  #83  #84  #85  #86  #87
[    6.648006] .... node  #11, CPUs:    #88  #89  #90  #91  #92  #93  #94  #95
[    7.262005] .... node  #12, CPUs:    #96  #97  #98  #99 #100 #101 #102 #103
[    7.865005] .... node  #13, CPUs:   #104 #105 #106 #107 #108 #109 #110 #111
[    8.466005] .... node  #14, CPUs:   #112 #113 #114 #115 #116 #117 #118 #119
[    9.073006] .... node  #15, CPUs:   #120 #121 #122 #123 #124 #125 #126 #127
[    9.679901] x86: Booted up 16 nodes, 128 CPUs

and drop useless elements.

Change num_digits() to hpa's division-avoiding, cell-phone-typed
version which he went at great lengths and pains to submit on a
Saturday evening.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: huawei.libin@huawei.com
Cc: wangyijing@huawei.com
Cc: fenghua.yu@intel.com
Cc: guohanjun@huawei.com
Cc: paul.gortmaker@windriver.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20130930095624.GB16383@pd.tnic
Signed-off-by: Ingo Molnar <mingo@kernel.org>
a17bce4
Olliver Schinagl oliv3r referenced this pull request from a commit in oliv3r/linux
iovisor iovisor openvswitch: fix vport-netdev unregister
The combination of two commits:
commit 8e4e171
("openvswitch: Simplify datapath locking.")
commit 2537b4d
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769065]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [<ffffffff8105319a>] warn_slowpath_null+0x1a/0x20
[   62.769069]  [<ffffffff8162a04f>] rollback_registered_many+0x20f/0x240
[   62.769071]  [<ffffffff8162a101>] rollback_registered+0x31/0x40
[   62.769073]  [<ffffffff8162a488>] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [<ffffffff8154f900>] __tun_detach+0x140/0x340
[   62.769077]  [<ffffffff8154fb36>] tun_chr_close+0x36/0x60
[   62.769080]  [<ffffffff811bddaf>] __fput+0xff/0x260
[   62.769082]  [<ffffffff811bdf5e>] ____fput+0xe/0x10
[   62.769084]  [<ffffffff8107b515>] task_work_run+0xb5/0xe0
[   62.769087]  [<ffffffff810029b9>] do_notify_resume+0x59/0x80
[   62.769089]  [<ffffffff813a41fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [<ffffffff81770f5a>] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769529]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30
[   62.769538]  [<ffffffff81631ef7>] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0
[   62.769559]  [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0
[   62.769562]  [<ffffffff8107659b>] worker_thread+0x11b/0x370
[   62.769564]  [<ffffffff81076480>] ? rescuer_thread+0x350/0x350
[   62.769566]  [<ffffffff8107f44a>] kthread+0xea/0xf0
[   62.769568]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0
[   62.769572]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769617]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30
[   62.769624]  [<ffffffff81631f22>] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0
[   62.769644]  [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0
[   62.769646]  [<ffffffff8107659b>] worker_thread+0x11b/0x370
[   62.769648]  [<ffffffff81076480>] ? rescuer_thread+0x350/0x350
[   62.769650]  [<ffffffff8107f44a>] kthread+0xea/0xf0
[   62.769652]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0
[   62.769656]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
b07c265
Tobias Jakobi tobiasjakobi referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
Tobias Jakobi tobiasjakobi referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
Brian Dominy bcd referenced this pull request from a commit in HeighwayPinball/linux
Peter Chen ENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev
The pdata->pdev is initialized at platform code, if init
fails at first, it will be not initialized, and platform exit
will not be called. This also fixes an oop when config usb
module wrongly:

Unable to handle kernel NULL pointer dereference at virtual address 0000005c
pgd = ba1c4000
[0000005c] *pgd=4a145831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in: ehci_hcd(+) usbcore
CPU: 1    Not tainted  (3.0.35-02451-ge361da1 #60)
PC is at fsl_usb_host_uninit_ext+0xc/0x28
LR is at usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]
pc : [<80062b58>]    lr : [<7f060934>]    psr: a0000013
sp : ba11be80  ip : 00005027  fp : 000a76e0
r10: 00000048  r9 : ba11a000  r8 : bfd4d608
r7 : ffffffed  r6 : bfd4d600  r5 : bfc84400  r4 : 80aaee48
r3 : 80062b4c  r2 : 00000000  r1 : 60000093  r0 : 00000000
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: 4a1c404a  DAC: 00000015
Process modprobe (pid: 1555, stack limit = 0xba11a2f0)
Stack: (0xba11be80 to 0xba11c000)
be80: bfd97600 7f060934 00000000 00000000 bfd4d608 bfd4d608 80aca808 bfd4d63c
bea0: 7f062bd4 80041704 ba11a000 00000000 000a76e0 802a5cec bfd4d608 802a4a14
bec0: bfd4d608 7f062bd4 bfd4d63c 00000000 80041704 802a4bac 7f062bd4 ba11bee8
bee0: 802a4b20 802a4254 bffd4040 bff03f38 7f065000 7f062bd4 80a934c8 bfc8cd20
bf00: 00000000 802a3be0 7f062b1c 7f062bd4 00000000 7f017ec8 7f062bd4 00000000
bf20: 7f065000 80041704 00000000 802a51a0 7f017ec8 80aae500 00000000 7f065000
bf40: 80041704 7f065058 000a79e8 8003b4c4 00000000 00000000 00000000 80a14834
bf60: 000a79e8 000a79e8 7f062c20 00000000 0000e67b 80041704 ba11a000 00000000
bf80: 000a76e0 800aa428 ba076740 800f58dc 000a79e8 0000e67b 00000000 000a75d0
bfa0: 00000080 80041580 0000e67b 00000000 000a79e8 0000e67b 000a75d0 000a76e0
bfc0: 0000e67b 00000000 000a75d0 00000080 000a6a78 00000008 000a76a0 000a76e0
bfe0: 7ec7ab50 7ec7ab40 0001a32c 2ace6490 20000010 000a79e8 4fffe821 4fffec21
[<80062b58>] (fsl_usb_host_uninit_ext+0xc/0x28) from [<7f060934>]
	(usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd])
[<7f060934>] (usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]) from [<802a5cec>]
	(platform_drv_probe+0x18/0x1c)
[<802a5cec>] (platform_drv_probe+0x18/0x1c) from [<802a4a14>]
	(driver_probe_device+0x98/0x1a4)
[<802a4a14>] (driver_probe_device+0x98/0x1a4) from [<802a4bac>]
	(__driver_attach+0x8c/0x90)
[<802a4bac>] (__driver_attach+0x8c/0x90) from [<802a4254>]
	(bus_for_each_dev+0x60/0x8c)
[<802a4254>] (bus_for_each_dev+0x60/0x8c) from [<802a3be0>]
	(bus_add_driver+0x184/0x25c)
[<802a3be0>] (bus_add_driver+0x184/0x25c) from [<802a51a0>]
	(driver_register+0x78/0x13c)
[<802a51a0>] (driver_register+0x78/0x13c) from [<7f065058>]
	(ehci_hcd_init+0x58/0x88 [ehci_hcd])
[<7f065058>] (ehci_hcd_init+0x58/0x88 [ehci_hcd]) from [<8003b4c4>]
	(do_one_initcall+0x30/0x16c)
[<8003b4c4>] (do_one_initcall+0x30/0x16c) from [<800aa428>]
	(sys_init_module+0x84/0x19c)
[<800aa428>] (sys_init_module+0x84/0x19c) from [<80041580>]
	(ret_fast_syscall+0x0/0x30)
Code: 80aaee48 e92d4010 e30e4e48 e34840aa (e590005c)
---[ end trace 719afdfe4af3a442 ]---

Signed-off-by: Peter Chen <peter.chen@freescale.com>
6dfdb2e
Andreas Rohner zeitgeist87 referenced this pull request from a commit in zeitgeist87/linux
Andrew Morton ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endless…
…loop-during-umount-checkpatch-fixes

ERROR: code indent should use tabs where possible
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {$

WARNING: please, no spaces at the start of a line
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {$

WARNING: suspect code indent for conditional statements (23, 31)
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;

ERROR: code indent should use tabs where possible
#57: FILE: fs/ocfs2/dlm/dlmmaster.c:3088:
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;$

WARNING: please, no spaces at the start of a line
#57: FILE: fs/ocfs2/dlm/dlmmaster.c:3088:
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;$

ERROR: code indent should use tabs where possible
#58: FILE: fs/ocfs2/dlm/dlmmaster.c:3089:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "$

WARNING: please, no spaces at the start of a line
#58: FILE: fs/ocfs2/dlm/dlmmaster.c:3089:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "$

WARNING: quoted string split across lines
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "
+                                               "telling master to get ref "

ERROR: code indent should use tabs where possible
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                                               "telling master to get ref "$

WARNING: please, no spaces at the start of a line
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                                               "telling master to get ref "$

WARNING: quoted string split across lines
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "telling master to get ref "
+                                               "for cleared out mle during "

ERROR: code indent should use tabs where possible
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "for cleared out mle during "$

WARNING: please, no spaces at the start of a line
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "for cleared out mle during "$

WARNING: quoted string split across lines
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "for cleared out mle during "
+                                               "migration\n", dlm->name,

ERROR: code indent should use tabs where possible
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "migration\n", dlm->name,$

WARNING: please, no spaces at the start of a line
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "migration\n", dlm->name,$

ERROR: code indent should use tabs where possible
#62: FILE: fs/ocfs2/dlm/dlmmaster.c:3093:
+                                               namelen, name, master,$

WARNING: please, no spaces at the start of a line
#62: FILE: fs/ocfs2/dlm/dlmmaster.c:3093:
+                                               namelen, name, master,$

ERROR: code indent should use tabs where possible
#63: FILE: fs/ocfs2/dlm/dlmmaster.c:3094:
+                                               new_master);$

WARNING: please, no spaces at the start of a line
#63: FILE: fs/ocfs2/dlm/dlmmaster.c:3094:
+                                               new_master);$

ERROR: code indent should use tabs where possible
#64: FILE: fs/ocfs2/dlm/dlmmaster.c:3095:
+                       }$

WARNING: please, no spaces at the start of a line
#64: FILE: fs/ocfs2/dlm/dlmmaster.c:3095:
+                       }$

total: 9 errors, 13 warnings, 20 lines checked

NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or
      scripts/cleanfile

./patches/ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endlessloop-during-umount.patch has style problems, please review.

If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Xue jiufei <xuejiufei@huawei.com>
Cc: jiangyiwen <jiangyiwen@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
b29f935
Stephen Warren swarren referenced this pull request from a commit in swarren/linux-tegra
Andrew Morton ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endless…
…loop-during-umount-checkpatch-fixes

ERROR: code indent should use tabs where possible
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {$

WARNING: please, no spaces at the start of a line
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {$

WARNING: suspect code indent for conditional statements (23, 31)
#56: FILE: fs/ocfs2/dlm/dlmmaster.c:3087:
+                       if (tmp->type == DLM_MLE_MASTER) {
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;

ERROR: code indent should use tabs where possible
#57: FILE: fs/ocfs2/dlm/dlmmaster.c:3088:
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;$

WARNING: please, no spaces at the start of a line
#57: FILE: fs/ocfs2/dlm/dlmmaster.c:3088:
+                               ret = DLM_MIGRATE_RESPONSE_MASTERY_REF;$

ERROR: code indent should use tabs where possible
#58: FILE: fs/ocfs2/dlm/dlmmaster.c:3089:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "$

WARNING: please, no spaces at the start of a line
#58: FILE: fs/ocfs2/dlm/dlmmaster.c:3089:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "$

WARNING: quoted string split across lines
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                               mlog(0, "%s:%.*s: master=%u, newmaster=%u, "
+                                               "telling master to get ref "

ERROR: code indent should use tabs where possible
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                                               "telling master to get ref "$

WARNING: please, no spaces at the start of a line
#59: FILE: fs/ocfs2/dlm/dlmmaster.c:3090:
+                                               "telling master to get ref "$

WARNING: quoted string split across lines
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "telling master to get ref "
+                                               "for cleared out mle during "

ERROR: code indent should use tabs where possible
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "for cleared out mle during "$

WARNING: please, no spaces at the start of a line
#60: FILE: fs/ocfs2/dlm/dlmmaster.c:3091:
+                                               "for cleared out mle during "$

WARNING: quoted string split across lines
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "for cleared out mle during "
+                                               "migration\n", dlm->name,

ERROR: code indent should use tabs where possible
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "migration\n", dlm->name,$

WARNING: please, no spaces at the start of a line
#61: FILE: fs/ocfs2/dlm/dlmmaster.c:3092:
+                                               "migration\n", dlm->name,$

ERROR: code indent should use tabs where possible
#62: FILE: fs/ocfs2/dlm/dlmmaster.c:3093:
+                                               namelen, name, master,$

WARNING: please, no spaces at the start of a line
#62: FILE: fs/ocfs2/dlm/dlmmaster.c:3093:
+                                               namelen, name, master,$

ERROR: code indent should use tabs where possible
#63: FILE: fs/ocfs2/dlm/dlmmaster.c:3094:
+                                               new_master);$

WARNING: please, no spaces at the start of a line
#63: FILE: fs/ocfs2/dlm/dlmmaster.c:3094:
+                                               new_master);$

ERROR: code indent should use tabs where possible
#64: FILE: fs/ocfs2/dlm/dlmmaster.c:3095:
+                       }$

WARNING: please, no spaces at the start of a line
#64: FILE: fs/ocfs2/dlm/dlmmaster.c:3095:
+                       }$

total: 9 errors, 13 warnings, 20 lines checked

NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or
      scripts/cleanfile

./patches/ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endlessloop-during-umount.patch has style problems, please review.

If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Xue jiufei <xuejiufei@huawei.com>
Cc: jiangyiwen <jiangyiwen@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
216ace2
Stephen Warren swarren referenced this pull request from a commit in swarren/linux-tegra
Azat Khuzhin azat ext4: fix ext4_count_free_clusters() with EXT4FS_DEBUG and bigalloc e…
…nabled

With bigalloc enabled we must use EXT4_CLUSTERS_PER_GROUP() instead of
EXT4_BLOCKS_PER_GROUP() otherwise we will go beyond the allocated buffer.

$ mount -t ext4 /dev/vde /vde
[   70.573993] EXT4-fs DEBUG (fs/ext4/mballoc.c, 2346): ext4_mb_alloc_groupinfo:
[   70.575174] allocated s_groupinfo array for 1 meta_bg's
[   70.576172] EXT4-fs DEBUG (fs/ext4/super.c, 2092): ext4_check_descriptors:
[   70.576972] Checking group descriptorsBUG: unable to handle kernel paging request at ffff88006ab56000
[   72.463686] IP: [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.464168] PGD 295e067 PUD 2961067 PMD 7fa8e067 PTE 800000006ab56060
[   72.464738] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[   72.465139] Modules linked in:
[   72.465402] CPU: 1 PID: 3560 Comm: mount Tainted: G        W    3.14.0-rc2-00069-ge57bce1 #60
[   72.466079] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[   72.466505] task: ffff88007ce6c8a0 ti: ffff88006b7f0000 task.ti: ffff88006b7f0000
[   72.466505] RIP: 0010:[<ffffffff81394eb9>]  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505] RSP: 0018:ffff88006b7f1c00  EFLAGS: 00010206
[   72.466505] RAX: 0000000000000000 RBX: 000000000000050a RCX: 0000000000000040
[   72.466505] RDX: 0000000000000000 RSI: 0000000000080000 RDI: 0000000000000000
[   72.466505] RBP: ffff88006b7f1c28 R08: 0000000000000002 R09: 0000000000000000
[   72.466505] R10: 000000000000babe R11: 0000000000000400 R12: 0000000000080000
[   72.466505] R13: 0000000000000200 R14: 0000000000002000 R15: ffff88006ab55000
[   72.466505] FS:  00007f43ba1fa840(0000) GS:ffff88007f800000(0000) knlGS:0000000000000000
[   72.466505] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   72.466505] CR2: ffff88006ab56000 CR3: 000000006b7e6000 CR4: 00000000000006e0
[   72.466505] Stack:
[   72.466505]  ffff88006ab65000 0000000000000000 0000000000000000 0000000000010000
[   72.466505]  ffff88006ab6f400 ffff88006b7f1c58 ffffffff81396bb8 0000000000010000
[   72.466505]  0000000000000000 ffff88007b869a90 ffff88006a48a000 ffff88006b7f1c70
[   72.466505] Call Trace:
[   72.466505]  [<ffffffff81396bb8>] memweight+0x5f/0x8a
[   72.466505]  [<ffffffff811c3b19>] ext4_count_free+0x13/0x21
[   72.466505]  [<ffffffff811c396c>] ext4_count_free_clusters+0xdb/0x171
[   72.466505]  [<ffffffff811e3bdd>] ext4_fill_super+0x117c/0x28ef
[   72.466505]  [<ffffffff81391569>] ? vsnprintf+0x1c7/0x3f7
[   72.466505]  [<ffffffff8114d8dc>] mount_bdev+0x145/0x19c
[   72.466505]  [<ffffffff811e2a61>] ? ext4_calculate_overhead+0x2a1/0x2a1
[   72.466505]  [<ffffffff811dab1d>] ext4_mount+0x15/0x17
[   72.466505]  [<ffffffff8114e3aa>] mount_fs+0x67/0x150
[   72.466505]  [<ffffffff811637ea>] vfs_kern_mount+0x64/0xde
[   72.466505]  [<ffffffff81165d19>] do_mount+0x6fe/0x7f5
[   72.466505]  [<ffffffff81126cc8>] ? strndup_user+0x3a/0xd9
[   72.466505]  [<ffffffff8116604b>] SyS_mount+0x85/0xbe
[   72.466505]  [<ffffffff81619e90>] tracesys+0xdd/0xe2
[   72.466505] Code: c3 89 f0 b9 40 00 00 00 55 99 48 89 e5 41 57 f7 f9 41 56 49 89 ff 41 55 45 31 ed 41 54 41 89 f4 53 31 db 41 89 c6 45 39 ee 7e 10 <4b> 8b 3c ef 49 ff c5 e8 bf ff ff ff 01 c3 eb eb 31 c0 45 85 f6
[   72.466505] RIP  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505]  RSP <ffff88006b7f1c00>
[   72.466505] CR2: ffff88006ab56000
[   72.466505] ---[ end trace 7d051a08ae138573 ]---
Killed

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
b87d2ae
Linus Torvalds torvalds referenced this pull request from a commit
Azat Khuzhin azat ext4: fix ext4_count_free_clusters() with EXT4FS_DEBUG and bigalloc e…
…nabled

With bigalloc enabled we must use EXT4_CLUSTERS_PER_GROUP() instead of
EXT4_BLOCKS_PER_GROUP() otherwise we will go beyond the allocated buffer.

$ mount -t ext4 /dev/vde /vde
[   70.573993] EXT4-fs DEBUG (fs/ext4/mballoc.c, 2346): ext4_mb_alloc_groupinfo:
[   70.575174] allocated s_groupinfo array for 1 meta_bg's
[   70.576172] EXT4-fs DEBUG (fs/ext4/super.c, 2092): ext4_check_descriptors:
[   70.576972] Checking group descriptorsBUG: unable to handle kernel paging request at ffff88006ab56000
[   72.463686] IP: [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.464168] PGD 295e067 PUD 2961067 PMD 7fa8e067 PTE 800000006ab56060
[   72.464738] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[   72.465139] Modules linked in:
[   72.465402] CPU: 1 PID: 3560 Comm: mount Tainted: G        W    3.14.0-rc2-00069-ge57bce1 #60
[   72.466079] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[   72.466505] task: ffff88007ce6c8a0 ti: ffff88006b7f0000 task.ti: ffff88006b7f0000
[   72.466505] RIP: 0010:[<ffffffff81394eb9>]  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505] RSP: 0018:ffff88006b7f1c00  EFLAGS: 00010206
[   72.466505] RAX: 0000000000000000 RBX: 000000000000050a RCX: 0000000000000040
[   72.466505] RDX: 0000000000000000 RSI: 0000000000080000 RDI: 0000000000000000
[   72.466505] RBP: ffff88006b7f1c28 R08: 0000000000000002 R09: 0000000000000000
[   72.466505] R10: 000000000000babe R11: 0000000000000400 R12: 0000000000080000
[   72.466505] R13: 0000000000000200 R14: 0000000000002000 R15: ffff88006ab55000
[   72.466505] FS:  00007f43ba1fa840(0000) GS:ffff88007f800000(0000) knlGS:0000000000000000
[   72.466505] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   72.466505] CR2: ffff88006ab56000 CR3: 000000006b7e6000 CR4: 00000000000006e0
[   72.466505] Stack:
[   72.466505]  ffff88006ab65000 0000000000000000 0000000000000000 0000000000010000
[   72.466505]  ffff88006ab6f400 ffff88006b7f1c58 ffffffff81396bb8 0000000000010000
[   72.466505]  0000000000000000 ffff88007b869a90 ffff88006a48a000 ffff88006b7f1c70
[   72.466505] Call Trace:
[   72.466505]  [<ffffffff81396bb8>] memweight+0x5f/0x8a
[   72.466505]  [<ffffffff811c3b19>] ext4_count_free+0x13/0x21
[   72.466505]  [<ffffffff811c396c>] ext4_count_free_clusters+0xdb/0x171
[   72.466505]  [<ffffffff811e3bdd>] ext4_fill_super+0x117c/0x28ef
[   72.466505]  [<ffffffff81391569>] ? vsnprintf+0x1c7/0x3f7
[   72.466505]  [<ffffffff8114d8dc>] mount_bdev+0x145/0x19c
[   72.466505]  [<ffffffff811e2a61>] ? ext4_calculate_overhead+0x2a1/0x2a1
[   72.466505]  [<ffffffff811dab1d>] ext4_mount+0x15/0x17
[   72.466505]  [<ffffffff8114e3aa>] mount_fs+0x67/0x150
[   72.466505]  [<ffffffff811637ea>] vfs_kern_mount+0x64/0xde
[   72.466505]  [<ffffffff81165d19>] do_mount+0x6fe/0x7f5
[   72.466505]  [<ffffffff81126cc8>] ? strndup_user+0x3a/0xd9
[   72.466505]  [<ffffffff8116604b>] SyS_mount+0x85/0xbe
[   72.466505]  [<ffffffff81619e90>] tracesys+0xdd/0xe2
[   72.466505] Code: c3 89 f0 b9 40 00 00 00 55 99 48 89 e5 41 57 f7 f9 41 56 49 89 ff 41 55 45 31 ed 41 54 41 89 f4 53 31 db 41 89 c6 45 39 ee 7e 10 <4b> 8b 3c ef 49 ff c5 e8 bf ff ff ff 01 c3 eb eb 31 c0 45 85 f6
[   72.466505] RIP  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505]  RSP <ffff88006b7f1c00>
[   72.466505] CR2: ffff88006ab56000
[   72.466505] ---[ end trace 7d051a08ae138573 ]---
Killed

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
036acea
ddstreet ddstreet referenced this pull request from a commit in ddstreet/linux
mmotm auto import origin
GIT 1aae31c8306e5f1bdeafd87b2cd9e3f0df3709e5

commit ae4bedf0679d99f0a9b80a7ea9b8dd205de05d06
Author: Jordan Rife <jrife0@gmail.com>
Date:   Tue Apr 22 17:44:51 2014 -0700

    Input: elantech - add support for newer elantech touchpads
    
    Newer elantech touchpads are not recognized by the current driver, since it
    fails to detect their firmware version number. This prevents more advanced
    touchpad features from being usable such as two-finger scrolling. This
    patch allows newer touchpads to be detected and be fully functional. Tested
    on Sony Vaio SVF13N17PXB.
    
    Signed-off-by: Jordan Rife <jrife0@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 7740fc52105c9e6d2beac389a9ae0ce7138cf5ab
Author: Lejun Zhu <lejun.zhu@linux.intel.com>
Date:   Tue Apr 22 22:47:13 2014 -0700

    Input: soc_button_array - fix a crash during rmmod
    
    When the system has zero or one button available, trying to rmmod
    soc_button_array will cause crash. Fix this by properly handling -ENODEV
    in probe().
    
    Signed-off-by: Lejun Zhu <lejun.zhu@linux.intel.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 1b17844b29ae042576bea588164f2f1e9590a8bc
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Apr 22 13:49:40 2014 -0700

    mm: make fixup_user_fault() check the vma access rights too
    
    fixup_user_fault() is used by the futex code when the direct user access
    fails, and the futex code wants it to either map in the page in a usable
    form or return an error.  It relied on handle_mm_fault() to map the
    page, and correctly checked the error return from that, but while that
    does map the page, it doesn't actually guarantee that the page will be
    mapped with sufficient permissions to be then accessed.
    
    So do the appropriate tests of the vma access rights by hand.
    
    [ Side note: arguably handle_mm_fault() could just do that itself, but
      we have traditionally done it in the caller, because some callers -
      notably get_user_pages() - have been able to access pages even when
      they are mapped with PROT_NONE.  Maybe we should re-visit that design
      decision, but in the meantime this is the minimal patch. ]
    
    Found by Dave Jones running his trinity tool.
    
    Reported-by: Dave Jones <davej@redhat.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 73acacc7397fe854ed2ab75f1c940fa00faaf15e
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 15 12:44:35 2014 -0400

    drm/radeon: don't allow runpm=1 on systems with out ATPX
    
    vgaswitcheroo and the ATPX ACPI methods are required to
    power down the dGPU.
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73901
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org

commit e9a4099a59cc598a44006059dd775c25e422b772
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 15 12:44:34 2014 -0400

    drm/radeon: fix ATPX detection on non-VGA GPUs
    
    Some newer PX laptops have the pci device class
    set to DISPLAY_OTHER rather than DISPLAY_VGA.  This
    properly detects ATPX on those laptops.
    
    Based on a patch from: Pali Rohár <pali.rohar@gmail.com>
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    Cc: airlied@gmail.com

commit 3ed9a335cfc64b2c83545f341cdddf2347b12b97
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 15 12:44:33 2014 -0400

    drm/radeon/pm: don't walk the crtc list before it has been initialized (v2)
    
    Avoids a crash in certain cases when thermal irqs are generated
    before the display structures have been initialized.
    
    v2: fix the vblank and vrefresh helpers as well
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73931
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org

commit cb3e4e7c59e4b43ac378631f6101f5c8de3a27a5
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 15 12:44:32 2014 -0400

    drm/radeon: properly unregister hwmon interface (v2)
    
    Need to properly unregister the hwmon device on driver
    unload.
    
    v2: minor clean up
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=73931
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org

commit 7e95cfb0b797678cd3493ca0322ef2675547a0bc
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 22 08:17:18 2014 -0400

    drm/radeon: fix count in cik_sdma_ring_test()
    
    Should be 5 rather than 4.
    
    Noticed-by: Mathias Fröhlich <Mathias.Froehlich@gmx.net>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Christian König <christian.koenig@amd.com>

commit ad47b8fa5a679b7acaae831635e40d2e4887e9e7
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Apr 22 02:02:06 2014 -0400

    drm/radeon/aux: fix hpd assignment for aux bus
    
    The hpd (hot plug detect) pin assignment got lost
    in the conversion to to the common i2c over aux
    code.  Without this information, aux transactions
    do not work properly.  Fixes DP failures.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Christian König <christian.koenig@amd.com>

commit 0565103d1adbd765ca45248d04c327c076dd1571
Author: Anton Ivanov <antivano@cisco.com>
Date:   Fri Mar 7 18:37:47 2014 +0000

    um: Memory corruption on startup
    
    The reverse case of this race (you must msync before read) is
    well known. This is the not so common one.
    
    It can be triggered only on systems which do a lot of task
    switching and only at UML startup. If you are starting 200+ UMLs
    ~ 0.5% will always die without this fix.
    
    Signed-off-by: Anton Ivanov <antivano@cisco.com>
    [rw: minor whitespace fixes]
    Signed-off-by: Richard Weinberger <richard@nod.at>

commit 9fcb663be42e4727c1beabc7c80e2d839199e6b1
Author: Anton Ivanov <antivano@cisco.com>
Date:   Fri Mar 7 18:37:46 2014 +0000

    um: Missing pipe handling
    
    UML does not handle sigpipe. As a result when running it under
    expect or redirecting the IO from the console to an external program
    it will crash if the program stops or exits.
    
    Signed-off-by: Anton Ivanov <antivano@cisco.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>

commit 0d71832e3004a0833938cc28a096823cd55b8e79
Author: Tristan Schmelcher <tschmelcher@google.com>
Date:   Mon Nov 11 13:03:06 2013 -0500

    uml: Simplify tempdir logic.
    
    Inferring the mount hierarchy correctly from /proc/mounts is hard when MS_MOVE
    may have been used, and the previous code did it wrongly. This change simplifies
    the logic to only require that /dev/shm be _on_ tmpfs (which can be checked
    trivially with statfs) rather than that it be a _mountpoint_ of tmpfs, since
    there isn't a compelling reason to be that strict. We also now check for tmpfs
    on whatever directory we ultimately use so that the user is better informed.
    
    This change also moves the more standard TMPDIR environment variable check ahead
    of the others.
    
    Applies to 3.12.
    
    Signed-off-by: Tristan Schmelcher <tschmelcher@google.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>

commit c2fb3094669a3205f16a32f4119d0afe40b1a1fd
Author: Christian König <christian.koenig@amd.com>
Date:   Sun Apr 20 13:24:32 2014 +0200

    drm/radeon: improve PLL limit handling in post div calculation
    
    This improves the PLL parameters when we work at
    the limits of the allowed ranges.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>

commit 46a2986ebbe18757c2d8c352f8fb6e0f4f0754e3
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Apr 19 22:31:18 2014 -0700

    Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1
    
    We expect that all the Haswell series will need such quirks, sigh.
    
    The T431s seems to be T430 hardware in a T440s case, using the T440s touchpad,
    with the same min/max issue.
    
    The X1 Carbon 3rd generation name says 2nd while it is a 3rd generation.
    
    The X1 and T431s share a PnPID with the T540p, but the reported ranges are
    closer to those of the T440s.
    
    HdG: Squashed 5 quirk patches into one. T431s + L440 + L540 are written by me,
    S1 Yoga and X1 are written by Benjamin Tissoires.
    
    Hdg: Standardized S1 Yoga and X1 values, Yoga uses the same touchpad as the
    X240, X1 uses the same touchpad as the T440.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 43e19888b1fe2a3e8a5543030c5b286cde38b3f5
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Apr 19 22:26:41 2014 -0700

    Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property
    
    Check PNP ID of the PS/2 AUX port and report INPUT_PROP_TOPBUTTONPAD
    property for for touchpads with top button areas.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit f37c013409bb78ebb958821aa10d069e707cabac
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Apr 19 22:25:45 2014 -0700

    Input: Add INPUT_PROP_TOPBUTTONPAD device property
    
    On some newer laptops with a trackpoint the physical buttons for the
    trackpoint have been removed to allow for a larger touchpad. On these
    laptops the buttonpad has clearly marked areas on the top which are to be
    used as trackpad buttons.
    
    Users of the event device-node need to know about this, so that they can
    properly interpret BTN_LEFT events as being a left / right / middle click
    depending on where on the button pad the clicking finger is.
    
    This commits adds a INPUT_PROP_TOPBUTTONPAD device property which drivers
    for such buttonpads will use to signal to the user that this buttonpad not
    only has the normal bottom button area, but also a top button area.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit a7c5868c3482127cb308c779b8a6460a3353c17f
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Apr 19 20:47:35 2014 -0700

    Input: i8042 - add firmware_id support
    
    Fill in the new serio firmware_id sysfs attribute for pnp instantiated
    8042 serio ports.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 0456c66f4e905e1ca839318219c770988b47975c
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Apr 19 20:39:35 2014 -0700

    Input: serio - add firmware_id sysfs attribute
    
    serio devices exposed via platform firmware interfaces such as ACPI may
    provide additional identifying information of use to userspace.
    
    We don't associate the serio devices with the firmware device (we don't
    set it as parent), so there's no way for userspace to make use of this
    information.
    
    We cannot change the parent for serio devices instantiated though a
    firmware interface as that would break suspend / resume ordering.
    
    Therefore this patch adds a new firmware_id sysfs attribute so that
    userspace can get a string from there with any additional identifying
    information the firmware interface may provide.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 38a1807badd26d413e8f2b0393a0c5bfdf9e912b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Sat Apr 19 13:51:41 2014 -0700

    Input: wacom - handle 1024 pressure levels in wacom_tpc_pen
    
    Some tablet PC sensors (e.g. the 0xEC found in the Thinkpad Yoga) report
    more than 256 pressure levels and will experience wraparound unless the
    full range is read.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Aaron Skomra <Aaron.Skomra@wacom.com>
    Reviewed-by: Carl Worth <cworth@cworth.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 74b634178e5f0e2d8d2d26f308c440687930274b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Sat Apr 19 13:50:22 2014 -0700

    Input: wacom - references to 'wacom->data' should use 'unsigned char*'
    
    'wacom->data' contains raw binary data and can lead to unexpected behavior
    if a byte under examination happens to have its MSB set.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Aaron Skomra <Aaron.Skomra@wacom.com>
    Reviewed-by: Carl Worth <cworth@cworth.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit e9fc413f4a5ebd9f0f7bdf923c43191e99fc1970
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Sat Apr 19 13:49:37 2014 -0700

    Input: wacom - override 'pressure_max' with value from HID_USAGE_PRESSURE
    
    The 0xEC sensor is used in multiple tablet PCs and curiously has versions
    that report 256 levels of pressure (Samsung Slate 7) as well as versions
    that report 1024 levels (Lenovo Thinkpad Yoga).  To allow both versions to
    work properly, we allow the value of HID_USAGE_PRESSURE reported to
    override pressure_max.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Aaron Skomra <Aaron.Skomra@wacom.com>
    Reviewed-by: Carl Worth <cworth@cworth.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 5866d9e3b7ecdf96a6089d12bb65736d7c473bce
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Sat Apr 19 13:46:40 2014 -0700

    Input: wacom - use full 32-bit HID Usage value in switch statement
    
    A HID Usage is a 32-bit value: an upper 16-bit "page" and a lower 16-bit
    ID. While the two halves are normally reported seperately, only the
    combination uniquely idenfifes a particular HID Usage.
    
    The existing code performs the comparison in two steps, first performing a
    switch on the ID and then verifying the page within each case. While this
    works fine, it is very akward to handle two Usages that share a single ID,
    such as HID_USAGE_PRESSURE and HID_USAGE_X because the case statement can
    only have a single identifier.
    
    To work around this, we now check the full 32-bit HID Usage directly rather
    than first checking the ID and then the page.  This allows the switch
    statement to have distinct cases for e.g. HID_USAGE_PRESSURE and
    HID_USAGE_X.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Aaron Skomra <Aaron.Skomra@wacom.com>
    Reviewed-by: Carl Worth <cworth@cworth.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 91ae0e77836b4a13f511b4fc62dc31c523858187
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Apr 12 13:43:25 2014 -0700

    Input: wacom - missed the last bit of expresskey for DTU-1031
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 2fdf4cd9a2afb113e566dfe6ee5df55ada8c0631
Author: Alexander Stein <alexanders83@web.de>
Date:   Sat Apr 12 13:42:24 2014 -0700

    Input: ads7846 - fix device usage within attribute show
    
    With commit e585c40ba (Input: ads7846 - convert to
    hwmon_device_register_with_groups()) the device passed to the attribute's
    show function isn't the spi device as before.
    So fixup the passed device to ads7846_read12_ser.
    
    Signed-off-by: Alexander Stein <alexanders83@web.de>
    Acked-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 06491e84f0f95dbe105b74fef32e7063e349f2d7
Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Date:   Tue Apr 8 13:55:17 2014 -0700

    Input: da9055_onkey - remove use of regmap_irq_get_virq()
    
    Using platform_get_irq_byname() to retrieve the IRQ number returns the
    VIRQ number rather than the local IRQ number for the device.  Passing that
    value then into regmap_irq_get_virq() causes a failure because the
    function is expecting the local IRQ number (e.g.  0, 1, 2, 3, etc).
    
    This patch removes use of regmap_irq_get_virq() to prevent this failure
    from happening.
    
    Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 0a04b248532b358b27a8da050642da6f5f304b03
Author: Namjae Jeon <namjae.jeon@samsung.com>
Date:   Sat Apr 19 16:38:21 2014 -0400

    ext4: disable COLLAPSE_RANGE for bigalloc
    
    Once COLLAPSE RANGE is be disable for ext4 with bigalloc feature till finding
    root-cause of problem. It will be enable with fixing that regression of
    xfstest(generic 075 and 091) again.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
    Reviewed-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit a8680e0d5efd46aa54d7085e5b4a268f726922c7
Author: Namjae Jeon <namjae.jeon@samsung.com>
Date:   Sat Apr 19 16:37:31 2014 -0400

    ext4: fix COLLAPSE_RANGE failure with 1KB block size
    
    When formatting with 1KB or 2KB(not aligned with PAGE SIZE) block
    size, xfstests generic/075 and 091 are failing. The offset supplied to
    function truncate_pagecache_range is block size aligned. In this
    function start offset is re-aligned to PAGE_SIZE by rounding_up to the
    next page boundary.  Due to this rounding up, old data remains in the
    page cache when blocksize is less than page size and start offset is
    not aligned with page size.  In case of collapse range, we need to
    align start offset to page size boundary by doing a round down
    operation instead of round up.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 24315814239a3fdb306244c99bd076bc79db4ade
Author: Christian König <christian.koenig@amd.com>
Date:   Sat Apr 19 18:57:14 2014 +0200

    drm/radeon: use fixed PPL ref divider if needed
    
    Signed-off-by: Christian König <christian.koenig@amd.com>

commit 76e6dcece841faebbee78895780e8209ff40d922
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Fri Apr 18 09:08:11 2014 -0400

    drm/radeon: disable dpm on rv770 by default
    
    There seem to be stability issues on a number of cards.
    
    bugs:
    https://bugs.freedesktop.org/show_bug.cgi?id=76286
    https://bugzilla.redhat.com/show_bug.cgi?id=1085785
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741619
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: matthias.graf@st.ovqu.de
    Cc: bp@alien8.de
    Cc: stable@vger.kernel.org

commit 86f1ca3889142d5959362c5694db3f3dc26f377a
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Fri Apr 18 11:52:11 2014 -0400

    ext4: use EINVAL if not a regular file in ext4_collapse_range()
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 6c5e73d3a26b73bfcac0b4a932cb918177d067f2
Author: jon ernst <jonernst07@gmail.com>
Date:   Fri Apr 18 11:50:35 2014 -0400

    ext4: enforce we are operating on a regular file in ext4_zero_range()
    
    Signed-off-by: Jon Ernst <jonernst07@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 6dd834effc12ba71092d9d1e4944530234b58ab1
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:55:24 2014 -0400

    ext4: fix extent merging in ext4_ext_shift_path_extents()
    
    There is a bug in ext4_ext_shift_path_extents() where if we actually
    manage to merge a extent we would skip shifting the next extent. This
    will result in in one extent in the extent tree not being properly
    shifted.
    
    This is causing failure in various xfstests tests using fsx or fsstress
    with collapse range support. It will also cause file system corruption
    which looks something like:
    
     e2fsck 1.42.9 (4-Feb-2014)
     Pass 1: Checking inodes, blocks, and sizes
     Inode 20 has out of order extents
            (invalid logical block 3, physical block 492938, len 2)
     Clear? yes
     ...
    
    when running e2fsck.
    
    It's also very easily reproducible just by running fsx without any
    parameters. I can usually hit the problem within a minute.
    
    Fix it by increasing ex_start only if we're not merging the extent.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>

commit ef24f6c234de9a03aed9368163dbaad9a4f6391f
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:50:23 2014 -0400

    ext4: discard preallocations after removing space
    
    Currently in ext4_collapse_range() and ext4_punch_hole() we're
    discarding preallocation twice. Once before we attempt to do any changes
    and second time after we're done with the changes.
    
    While the second call to ext4_discard_preallocations() in
    ext4_punch_hole() case is not needed, we need to discard preallocation
    right after ext4_ext_remove_space() in collapse range case because in
    the case we had to restart a transaction in the middle of removing space
    we might have new preallocations created.
    
    Remove unneeded ext4_discard_preallocations() ext4_punch_hole() and move
    it to the better place in ext4_collapse_range()
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 9337d5d31ab798f0c74150506371551a9195251a
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:48:25 2014 -0400

    ext4: no need to truncate pagecache twice in collapse range
    
    We're already calling truncate_pagecache() before we attempt to do any
    actual job so there is not need to truncate pagecache once more using
    truncate_setsize() after we're finished.
    
    Remove truncate_setsize() and replace it just with i_size_write() note
    that we're holding appropriate locks.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 2c1d23289bc2f7cfa358bc856b87a992dcb11ad5
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:43:21 2014 -0400

    ext4: fix removing status extents in ext4_collapse_range()
    
    Currently in ext4_collapse_range() when calling ext4_es_remove_extent() to
    remove status extents we're passing (EXT_MAX_BLOCKS - punch_start - 1)
    in order to remove all extents from start of the collapse range to the
    end of the file. However this is wrong because we might miss the
    possible extent covering the last block of the file.
    
    Fix it by removing the -1.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>

commit 1a66c7c3bea52ba0f7596b8940d74fce75281d16
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:41:52 2014 -0400

    ext4: use filemap_write_and_wait_range() correctly in collapse range
    
    Currently we're passing -1 as lend argumnet for
    filemap_write_and_wait_range() which is wrong since lend is signed type
    so it would cause some confusion and we might not write_and_wait for the
    entire range we're expecting to write.
    
    Fix it by using LLONG_MAX instead.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 694c793fc1ade0946149c5f8d43f71e0728c4e81
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Fri Apr 18 10:21:15 2014 -0400

    ext4: use truncate_pagecache() in collapse range
    
    We should be using truncate_pagecache() instead of
    truncate_pagecache_range() in the collapse range because we're
    truncating page cache from offset to the end of file.
    truncate_pagecache() also get rid of the private COWed pages from the
    range because we're going to shift the end of the file.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 50e02fd84543d82e663000e780e0ec0cfde52283
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Mon Apr 14 23:37:35 2014 -0400

    ext4: remove temporary shim used to merge COLLAPSE_RANGE and ZERO_RANGE
    
    In retrospect, this was a bad way to handle things, since it limited
    testing of these patches.  We should just get the VFS level changes
    merged in first.
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 036acea2ceabd19cb5734ae7a9d64c0a5ef90484
Author: Azat Khuzhin <a3at.mail@gmail.com>
Date:   Mon Apr 14 23:36:15 2014 -0400

    ext4: fix ext4_count_free_clusters() with EXT4FS_DEBUG and bigalloc enabled
    
    With bigalloc enabled we must use EXT4_CLUSTERS_PER_GROUP() instead of
    EXT4_BLOCKS_PER_GROUP() otherwise we will go beyond the allocated buffer.
    
    $ mount -t ext4 /dev/vde /vde
    [   70.573993] EXT4-fs DEBUG (fs/ext4/mballoc.c, 2346): ext4_mb_alloc_groupinfo:
    [   70.575174] allocated s_groupinfo array for 1 meta_bg's
    [   70.576172] EXT4-fs DEBUG (fs/ext4/super.c, 2092): ext4_check_descriptors:
    [   70.576972] Checking group descriptorsBUG: unable to handle kernel paging request at ffff88006ab56000
    [   72.463686] IP: [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
    [   72.464168] PGD 295e067 PUD 2961067 PMD 7fa8e067 PTE 800000006ab56060
    [   72.464738] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    [   72.465139] Modules linked in:
    [   72.465402] CPU: 1 PID: 3560 Comm: mount Tainted: G        W    3.14.0-rc2-00069-ge57bce1 #60
    [   72.466079] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
    [   72.466505] task: ffff88007ce6c8a0 ti: ffff88006b7f0000 task.ti: ffff88006b7f0000
    [   72.466505] RIP: 0010:[<ffffffff81394eb9>]  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
    [   72.466505] RSP: 0018:ffff88006b7f1c00  EFLAGS: 00010206
    [   72.466505] RAX: 0000000000000000 RBX: 000000000000050a RCX: 0000000000000040
    [   72.466505] RDX: 0000000000000000 RSI: 0000000000080000 RDI: 0000000000000000
    [   72.466505] RBP: ffff88006b7f1c28 R08: 0000000000000002 R09: 0000000000000000
    [   72.466505] R10: 000000000000babe R11: 0000000000000400 R12: 0000000000080000
    [   72.466505] R13: 0000000000000200 R14: 0000000000002000 R15: ffff88006ab55000
    [   72.466505] FS:  00007f43ba1fa840(0000) GS:ffff88007f800000(0000) knlGS:0000000000000000
    [   72.466505] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [   72.466505] CR2: ffff88006ab56000 CR3: 000000006b7e6000 CR4: 00000000000006e0
    [   72.466505] Stack:
    [   72.466505]  ffff88006ab65000 0000000000000000 0000000000000000 0000000000010000
    [   72.466505]  ffff88006ab6f400 ffff88006b7f1c58 ffffffff81396bb8 0000000000010000
    [   72.466505]  0000000000000000 ffff88007b869a90 ffff88006a48a000 ffff88006b7f1c70
    [   72.466505] Call Trace:
    [   72.466505]  [<ffffffff81396bb8>] memweight+0x5f/0x8a
    [   72.466505]  [<ffffffff811c3b19>] ext4_count_free+0x13/0x21
    [   72.466505]  [<ffffffff811c396c>] ext4_count_free_clusters+0xdb/0x171
    [   72.466505]  [<ffffffff811e3bdd>] ext4_fill_super+0x117c/0x28ef
    [   72.466505]  [<ffffffff81391569>] ? vsnprintf+0x1c7/0x3f7
    [   72.466505]  [<ffffffff8114d8dc>] mount_bdev+0x145/0x19c
    [   72.466505]  [<ffffffff811e2a61>] ? ext4_calculate_overhead+0x2a1/0x2a1
    [   72.466505]  [<ffffffff811dab1d>] ext4_mount+0x15/0x17
    [   72.466505]  [<ffffffff8114e3aa>] mount_fs+0x67/0x150
    [   72.466505]  [<ffffffff811637ea>] vfs_kern_mount+0x64/0xde
    [   72.466505]  [<ffffffff81165d19>] do_mount+0x6fe/0x7f5
    [   72.466505]  [<ffffffff81126cc8>] ? strndup_user+0x3a/0xd9
    [   72.466505]  [<ffffffff8116604b>] SyS_mount+0x85/0xbe
    [   72.466505]  [<ffffffff81619e90>] tracesys+0xdd/0xe2
    [   72.466505] Code: c3 89 f0 b9 40 00 00 00 55 99 48 89 e5 41 57 f7 f9 41 56 49 89 ff 41 55 45 31 ed 41 54 41 89 f4 53 31 db 41 89 c6 45 39 ee 7e 10 <4b> 8b 3c ef 49 ff c5 e8 bf ff ff ff 01 c3 eb eb 31 c0 45 85 f6
    [   72.466505] RIP  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
    [   72.466505]  RSP <ffff88006b7f1c00>
    [   72.466505] CR2: ffff88006ab56000
    [   72.466505] ---[ end trace 7d051a08ae138573 ]---
    Killed
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit b5539fa2d59d697b7b8e28b4d08da844ff60f7cf
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Date:   Tue Apr 1 13:03:00 2014 +0300

    gpio / ACPI: Prevent potential wrap of GPIO value on OpRegion read
    
    Dan Carpenter's static code checker reports:
    
     The patch 473ed7be0da0: "gpio / ACPI: Add support for ACPI GPIO
     operation regions" from Mar 14, 2014, leads to the following static
     checker warning:
    
      drivers/gpio/gpiolib-acpi.c:454 acpi_gpio_adr_space_handler()
      warn: should 'gpiod_get_raw_value(desc) << i' be a 64 bit type?
    
    This is due the fact that *value is of type u64 and gpiod_get_raw_value()
    returns int. Since i can be larger than 31, it is possible that the value
    returned gets wrapped.
    
    Fix this by casting the return of gpiod_get_raw_value() to u64 first before
    shift.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

commit e9595f84a6273dffc5b75564d9b12a77630c529e
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Date:   Mon Mar 31 15:16:49 2014 +0300

    gpio / ACPI: Don't crash on NULL chip->dev
    
    Commit aa92b6f689ac (gpio / ACPI: Allocate ACPI specific data directly in
    acpi_gpiochip_add()) moved ACPI handle checking to acpi_gpiochip_add() but
    forgot to check whether chip->dev is NULL before dereferencing it.
    
    Since chip->dev pointer is optional we can end up with crash like following:
    
     BUG: unable to handle kernel NULL pointer dereference at 00000138
     IP: [<c126c2b3>] acpi_gpiochip_add+0x13/0x190
     *pde = 00000000
     Oops: 0000 [#1] PREEMPT SMP
     Modules linked in: ssb(+) ...
     CPU: 0 PID: 512 Comm: modprobe Tainted: G        W     3.14.0-rc7-next-20140324-t1 #24
     Hardware name: Dell Inc. Latitude D830                   /0UY141, BIOS A02 06/07/2007
     task: f5799900 ti: f543e000 task.ti: f543e000
     EIP: 0060:[<c126c2b3>] EFLAGS: 00010282 CPU: 0
     EIP is at acpi_gpiochip_add+0x13/0x190
     EAX: 00000000 EBX: f57824c4 ECX: 00000000 EDX: 00000000
     ESI: f57824c4 EDI: 00000010 EBP: f543fc54 ESP: f543fc40
      DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
     CR0: 8005003b CR2: 00000138 CR3: 355f8000 CR4: 000007d0
     Stack:
      f543fc5c fd1f7790 f57824c4 000000be 00000010 f543fc84 c1269f4e f543fc74
      fd1f78bd 00008002 f57822b0 f5782090 fd1f8400 00000286 fd1f9994 00000000
      f5782000 f543fc8c fd1f7e39 f543fcc8 fd1f0bd8 000000c0 00000000 00000000
     Call Trace:
      [<fd1f7790>] ? ssb_pcie_mdio_write+0xa0/0xd0 [ssb]
      [<c1269f4e>] gpiochip_add+0xee/0x300
      [<fd1f78bd>] ? ssb_pcicore_serdes_workaround+0xfd/0x140 [ssb]
      [<fd1f7e39>] ssb_gpio_init+0x89/0xa0 [ssb]
      [<fd1f0bd8>] ssb_attach_queued_buses+0xc8/0x2d0 [ssb]
      [<fd1f0f65>] ssb_bus_register+0x185/0x1f0 [ssb]
      [<fd1f3120>] ? ssb_pci_xtal+0x220/0x220 [ssb]
      [<fd1f106c>] ssb_bus_pcibus_register+0x2c/0x80 [ssb]
      [<fd1f40dc>] ssb_pcihost_probe+0x9c/0x110 [ssb]
      [<c1276c8f>] pci_device_probe+0x6f/0xc0
      [<c11bdb55>] ? sysfs_create_link+0x25/0x40
      [<c131d8b9>] driver_probe_device+0x79/0x360
      [<c1276512>] ? pci_match_device+0xb2/0xc0
      [<c131dc51>] __driver_attach+0x71/0x80
      [<c131dbe0>] ? __device_attach+0x40/0x40
      [<c131bd87>] bus_for_each_dev+0x47/0x80
      [<c131d3ae>] driver_attach+0x1e/0x20
      [<c131dbe0>] ? __device_attach+0x40/0x40
      [<c131d007>] bus_add_driver+0x157/0x230
      [<c131e219>] driver_register+0x59/0xe0
      ...
    
    Fix this by checking chip->dev pointer against NULL first. Also we can now
    remove redundant check in acpi_gpiochip_request/free_interrupts().
    
    Reported-by: Sabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Tested-by: Sabrina Dubroca <sd@queasysnail.net>
    Acked-by: Alexandre Courbot <acourbot@nvidia.com>
    Tested-by: Josh Boyer <jwboyer@fedoraproject.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

commit 7633fb959b711a8d91548911eb087fb931c7b8e4
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Wed Apr 9 13:20:38 2014 +0200

    gpio: set data first, then chip and handler
    
    During irq mapping, in irq_set_chip_and_handler() the process
    of setting this up may incur calls to lock the irqchip, which
    in turn may need to dereference and use the chip data. So set
    the data first, then set the chip and handler.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

commit a18ed359bdddcded4f97ff5e2f07793ff9336913
Author: Dmitry Monakhov <dmonakhov@openvz.org>
Date:   Sun Apr 13 15:41:13 2014 -0400

    ext4: always check ext4_ext_find_extent result
    
    Where are some places where logic guaranties us that extent we are
    searching exits, but this may not be true due to on-disk data
    corruption. If such corruption happens we must prevent possible
    null pointer dereferences.
    
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 8dc79ec4c0537e1b83c0739af82a7babefb30012
Author: Dmitry Monakhov <dmonakhov@openvz.org>
Date:   Sun Apr 13 15:05:42 2014 -0400

    ext4: fix error handling in ext4_ext_shift_extents
    
    Fix error handling by adding some.  :-)
    
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit e2cbd587418251bb73c4c1e8e2c7c1816d7a98d9
Author: jon ernst <jonernst07@gmail.com>
Date:   Sat Apr 12 23:01:28 2014 -0400

    ext4: silence sparse check warning for function ext4_trim_extent
    
    This fixes the following sparse warning:
    
         CHECK   fs/ext4/mballoc.c
       fs/ext4/mballoc.c:5019:9: warning: context imbalance in
       'ext4_trim_extent' - unexpected unlock
    
    Signed-off-by: "Jon Ernst" <jonernst07@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 40c406c74eb9eed58ae7d4d12a0197f7279c9499
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Sat Apr 12 22:53:53 2014 -0400

    ext4: COLLAPSE_RANGE only works on extent-based files
    
    Unfortunately, we weren't checking to make sure of this the inode was
    extent-based before attempt operate on it.  Hilarity ensues.
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Namjae Jeon <namjae.jeon@samsung.com>

commit 847c6c422aa0ae81a5517a9558ec2737806dca48
Author: Zheng Liu <wenqing.lz@taobao.com>
Date:   Sat Apr 12 12:45:55 2014 -0400

    ext4: fix byte order problems introduced by the COLLAPSE_RANGE patches
    
    This commit tries to fix some byte order issues that is found by sparse
    check.
    
    $ make M=fs/ext4 C=2 CF=-D__CHECK_ENDIAN__
    ...
      CHECK   fs/ext4/extents.c
    fs/ext4/extents.c:5232:41: warning: restricted __le32 degrades to integer
    fs/ext4/extents.c:5236:52: warning: bad assignment (-=) to restricted __le32
    fs/ext4/extents.c:5258:45: warning: bad assignment (-=) to restricted __le32
    fs/ext4/extents.c:5303:28: warning: restricted __le32 degrades to integer
    fs/ext4/extents.c:5318:18: warning: incorrect type in assignment (different base types)
    fs/ext4/extents.c:5318:18:    expected unsigned int [unsigned] [usertype] ex_start
    fs/ext4/extents.c:5318:18:    got restricted __le32 [usertype] ee_block
    fs/ext4/extents.c:5319:24: warning: restricted __le32 degrades to integer
    fs/ext4/extents.c:5334:31: warning: incorrect type in assignment (different base types)
    ...
    
    Cc: Andreas Dilger <adilger.kernel@dilger.ca>
    Cc: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 6e6358fc3c3c862bfe9a5bc029d3f8ce43dc9765
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Sat Apr 12 12:45:25 2014 -0400

    ext4: use i_size_read in ext4_unaligned_aio()
    
    We haven't taken i_mutex yet, so we need to use i_size_read().
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: stable@vger.kernel.org

commit 0790b31b69374ddadefebb156251b319e5b43345
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Sat Apr 12 10:05:37 2014 -0400

    fs: disallow all fallocate operation on active swapfile
    
    Currently some file system have IS_SWAPFILE check in their fallocate
    implementations and some do not. However we should really prevent any
    fallocate operation on swapfile so move the check to vfs and remove the
    redundant checks from the file systems fallocate implementations.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 23fffa925ea2c9a2bcb1a4453e2c542635aa3545
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Sat Apr 12 09:56:41 2014 -0400

    fs: move falloc collapse range check into the filesystem methods
    
    Currently in do_fallocate in collapse range case we're checking
    whether offset + len is not bigger than i_size.  However there is
    nothing which would prevent i_size from changing so the check is
    pointless.  It should be done in the file system itself and the file
    system needs to make sure that i_size is not going to change.  The
    i_size check for the other fallocate modes are also done in the
    filesystems.
    
    As it is now we can easily crash the kernel by having two processes
    doing truncate and fallocate collapse range at the same time.  This
    can be reproduced on ext4 and it is theoretically possible on xfs even
    though I was not able to trigger it with this simple test.
    
    This commit removes the check from do_fallocate and adds it to the
    file system.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Acked-by: Dave Chinner <david@fromorbit.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>

commit 8fc61d92630d1c96057a94c61e1643475045b25b
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Sat Apr 12 09:51:34 2014 -0400

    fs: prevent doing FALLOC_FL_ZERO_RANGE on append only file
    
    Currently punch hole and collapse range fallocate operation are not
    allowed on append only file. This should be case for zero range as well.
    Fix it by allowing only pure fallocate (possibly with keep size set).
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 9ef06cec7c96f6bf59f1dd8b64b9645820099051
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Sat Apr 12 09:47:00 2014 -0400

    ext4: remove unnecessary check for APPEND and IMMUTABLE
    
    All the checks IS_APPEND and IS_IMMUTABLE for the fallocate operation on
    the inode are done in vfs. No need to do this again in ext4. Remove it.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 622cad1325e404598fe3b148c3fa640dbaabc235
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Fri Apr 11 10:35:17 2014 -0400

    ext4: move ext4_update_i_disksize() into mpage_map_and_submit_extent()
    
    The function ext4_update_i_disksize() is used in only one place, in
    the function mpage_map_and_submit_extent().  Move its code to simplify
    the code paths, and also move the call to ext4_mark_inode_dirty() into
    the i_data_sem's critical region, to be consistent with all of the
    other places where we update i_disksize.  That way, we also keep the
    raw_inode's i_disksize protected, to avoid the following race:
    
          CPU #1                                 CPU #2
    
       down_write(&i_data_sem)
       Modify i_disk_size
       up_write(&i_data_sem)
                                            down_write(&i_data_sem)
                                            Modify i_disk_size
                                            Copy i_disk_size to on-disk inode
                                            up_write(&i_data_sem)
       Copy i_disk_size to on-disk inode
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Cc: stable@vger.kernel.org

commit c57ab39b9658315a742b6e61fdc86bb4d20cf566
Author: Younger Liu <younger.liucn@gmail.com>
Date:   Thu Apr 10 23:03:43 2014 -0400

    ext4: return ENOMEM rather than EIO when find_###_page() fails
    
    Return ENOMEM rather than EIO when find_get_page() fails in
    ext4_mb_get_buddy_page_lock() and find_or_create_page() fails in
    ext4_mb_load_buddy().
    
    Signed-off-by: Younger Liu <younger.liucn@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 1ce01c4a199c50b023802be25261c0c02b2f0214
Author: Namjae Jeon <namjae.jeon@samsung.com>
Date:   Thu Apr 10 22:58:20 2014 -0400

    ext4: fix COLLAPSE_RANGE test failure in data journalling mode
    
    When mounting ext4 with data=journal option, xfstest shared/002 and
    shared/004 are currently failing as checksum computed for testfile
    does not match with the checksum computed in other journal modes.
    In case of data=journal mode, a call to filemap_write_and_wait_range
    will not flush anything to disk as buffers are not marked dirty in
    write_end. In collapse range this call is followed by a call to
    truncate_pagecache_range. Due to this, when checksum is computed,
    a portion of file is re-read from disk which replace valid data with
    NULL bytes and hence the reason for the difference in checksum.
    
    Calling ext4_force_commit before filemap_write_and_wait_range solves
    the issue as it will mark the buffers dirty during commit transaction
    which can be later synced by a call to filemap_write_and_wait_range.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 87f7e41636ff201148443551d06bc74497160aac
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Tue Apr 8 11:38:28 2014 -0400

    ext4: update PF_MEMALLOC handling in ext4_write_inode()
    
    The special handling of PF_MEMALLOC callers in ext4_write_inode()
    shouldn't be necessary as there shouldn't be any. Warn about it. Also
    update comment before the function as it seems somewhat outdated.
    
    (Changes modeled on an ext3 patch posted by Jan Kara to the linux-ext4
    mailing list on Februaryt 28, 2014, which apparently never went into
    the ext3 tree.)
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Jan Kara <jack@suse.cz>

commit ec4cb1aa2b7bae18dd8164f2e9c7c51abcf61280
Author: Jan Kara <jack@suse.cz>
Date:   Mon Apr 7 10:54:21 2014 -0400

    ext4: fix jbd2 warning under heavy xattr load
    
    When heavily exercising xattr code the assertion that
    jbd2_journal_dirty_metadata() shouldn't return error was triggered:
    
    WARNING: at /srv/autobuild-ceph/gitbuilder.git/build/fs/jbd2/transaction.c:1237
    jbd2_journal_dirty_metadata+0x1ba/0x260()
    
    CPU: 0 PID: 8877 Comm: ceph-osd Tainted: G    W 3.10.0-ceph-00049-g68d04c9 #1
    Hardware name: Dell Inc. PowerEdge R410/01V648, BIOS 1.6.3 02/07/2011
     ffffffff81a1d3c8 ffff880214469928 ffffffff816311b0 ffff880214469968
     ffffffff8103fae0 ffff880214469958 ffff880170a9dc30 ffff8802240fbe80
     0000000000000000 ffff88020b366000 ffff8802256e7510 ffff880214469978
    Call Trace:
     [<ffffffff816311b0>] dump_stack+0x19/0x1b
     [<ffffffff8103fae0>] warn_slowpath_common+0x70/0xa0
     [<ffffffff8103fb2a>] warn_slowpath_null+0x1a/0x20
     [<ffffffff81267c2a>] jbd2_journal_dirty_metadata+0x1ba/0x260
     [<ffffffff81245093>] __ext4_handle_dirty_metadata+0xa3/0x140
     [<ffffffff812561f3>] ext4_xattr_release_block+0x103/0x1f0
     [<ffffffff81256680>] ext4_xattr_block_set+0x1e0/0x910
     [<ffffffff8125795b>] ext4_xattr_set_handle+0x38b/0x4a0
     [<ffffffff810a319d>] ? trace_hardirqs_on+0xd/0x10
     [<ffffffff81257b32>] ext4_xattr_set+0xc2/0x140
     [<ffffffff81258547>] ext4_xattr_user_set+0x47/0x50
     [<ffffffff811935ce>] generic_setxattr+0x6e/0x90
     [<ffffffff81193ecb>] __vfs_setxattr_noperm+0x7b/0x1c0
     [<ffffffff811940d4>] vfs_setxattr+0xc4/0xd0
     [<ffffffff8119421e>] setxattr+0x13e/0x1e0
     [<ffffffff811719c7>] ? __sb_start_write+0xe7/0x1b0
     [<ffffffff8118f2e8>] ? mnt_want_write_file+0x28/0x60
     [<ffffffff8118c65c>] ? fget_light+0x3c/0x130
     [<ffffffff8118f2e8>] ? mnt_want_write_file+0x28/0x60
     [<ffffffff8118f1f8>] ? __mnt_want_write+0x58/0x70
     [<ffffffff811946be>] SyS_fsetxattr+0xbe/0x100
     [<ffffffff816407c2>] system_call_fastpath+0x16/0x1b
    
    The reason for the warning is that buffer_head passed into
    jbd2_journal_dirty_metadata() didn't have journal_head attached. This is
    caused by the following race of two ext4_xattr_release_block() calls:
    
    CPU1                                CPU2
    ext4_xattr_release_block()          ext4_xattr_release_block()
    lock_buffer(bh);
    /* False */
    if (BHDR(bh)->h_refcount == cpu_to_le32(1))
    } else {
      le32_add_cpu(&BHDR(bh)->h_refcount, -1);
      unlock_buffer(bh);
                                        lock_buffer(bh);
                                        /* True */
                                        if (BHDR(bh)->h_refcount == cpu_to_le32(1))
                                          get_bh(bh);
                                          ext4_free_blocks()
                                            ...
                                            jbd2_journal_forget()
                                              jbd2_journal_unfile_buffer()
                                              -> JH is gone
      error = ext4_handle_dirty_xattr_block(handle, inode, bh);
      -> triggers the warning
    
    We fix the problem by moving ext4_handle_dirty_xattr_block() under the
    buffer lock. Sadly this cannot be done in nojournal mode as that
    function can call sync_dirty_buffer() which would deadlock. Luckily in
    nojournal mode the race is harmless (we only dirty already freed buffer)
    and thus for nojournal mode we leave the dirtying outside of the buffer
    lock.
    
    Reported-by: Sage Weil <sage@inktank.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: stable@vger.kernel.org

commit 9503c67c93ed0b95ba62d12d1fd09da6245dbdd6
Author: Matthew Wilcox <willy@linux.intel.com>
Date:   Mon Apr 7 10:54:20 2014 -0400

    ext4: note the error in ext4_end_bio()
    
    ext4_end_bio() currently throws away the error that it receives.  Chances
    are this is part of a spate of errors, one of which will end up getting
    the error returned to userspace somehow, but we shouldn't take that risk.
    Also print out the errno to aid in debug.
    
    Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Cc: stable@vger.kernel.org

commit 007649375f6af242d5b1df2c15996949714303ba
Author: Azat Khuzhin <a3at.mail@gmail.com>
Date:   Mon Apr 7 10:54:20 2014 -0400

    ext4: initialize multi-block allocator before checking block descriptors
    
    With EXT4FS_DEBUG ext4_count_free_clusters() will call
    ext4_read_block_bitmap() without s_group_info initialized, so we need to
    initialize multi-block allocator before.
    
    And dependencies that must be solved, to allow this:
    - multi-block allocator needs in group descriptors
    - need to install s_op before initializing multi-block allocator,
      because in ext4_mb_init_backend() new inode is created.
    - initialize number of group desc blocks (s_gdb_count) otherwise
      number of clusters returned by ext4_free_clusters_after_init() is not correct.
      (see ext4_bg_num_gdb_nometa())
    
    Here is the stack backtrace:
    
    (gdb) bt
     #0  ext4_get_group_info (group=0, sb=0xffff880079a10000) at ext4.h:2430
     #1  ext4_validate_block_bitmap (sb=sb@entry=0xffff880079a10000,
         desc=desc@entry=0xffff880056510000, block_group=block_group@entry=0,
         bh=bh@entry=0xffff88007bf2b2d8) at balloc.c:358
     #2  0xffffffff81232202 in ext4_wait_block_bitmap (sb=sb@entry=0xffff880079a10000,
         block_group=block_group@entry=0,
         bh=bh@entry=0xffff88007bf2b2d8) at balloc.c:476
     #3  0xffffffff81232eaf in ext4_read_block_bitmap (sb=sb@entry=0xffff880079a10000,
         block_group=block_group@entry=0) at balloc.c:489
     #4  0xffffffff81232fc0 in ext4_count_free_clusters (sb=sb@entry=0xffff880079a10000) at balloc.c:665
     #5  0xffffffff81259ffa in ext4_check_descriptors (first_not_zeroed=<synthetic pointer>,
         sb=0xffff880079a10000) at super.c:2143
     #6  ext4_fill_super (sb=sb@entry=0xffff880079a10000, data=<optimized out>,
         data@entry=0x0 <irq_stack_union>, silent=silent@entry=0) at super.c:3851
         ...
    
    Signed-off-by: Azat Khuzhin <a3at.mail@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 4adb6ab3e0fa71363a5ef229544b2d17de6600d7
Author: Kazuya Mio <k-mio@sx.jp.nec.com>
Date:   Mon Apr 7 10:53:28 2014 -0400

    ext4: FIBMAP ioctl causes BUG_ON due to handle EXT_MAX_BLOCKS
    
    When we try to get 2^32-1 block of the file which has the extent
    (ee_block=2^32-2, ee_len=1) with FIBMAP ioctl, it causes BUG_ON
    in ext4_ext_put_gap_in_cache().
    
    To avoid the problem, ext4_map_blocks() needs to check the file logical block
    number. ext4_ext_put_gap_in_cache() called via ext4_map_blocks() cannot
    handle 2^32-1 because the maximum file logical block number is 2^32-2.
    
    Note that ext4_ind_map_blocks() returns -EIO when the block number is invalid.
    So ext4_map_blocks() should also return the same errno.
    
    Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: stable@vger.kernel.org

commit 666525dfbdca09bbd4848ac711e4a4dbd6921325
Author: Chen Gang <gang.chen.5i5j@gmail.com>
Date:   Mon Apr 7 10:18:56 2014 -0400

    ext4: fix 64-bit number truncation warning
    
    '0x7FDEADBEEF' will be truncated to 32-bit number under unicore32. Need
    append 'ULL' for it.
    
    The related warning (with allmodconfig under unicore32):
    
        CC [M]  fs/ext4/extents_status.o
      fs/ext4/extents_status.c: In function "__es_remove_extent":
      fs/ext4/extents_status.c:813: warning: integer constant is too large for "long" type
    
    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 378ed3ccd2a0404d031e771b65aa3af221ea8aea
Author: Andy Lutomirski <luto@amacapital.net>
Date:   Thu Apr 3 10:53:43 2014 -0700

    x86, vdso: Make the vdso linker script compatible with Gold
    
    Gold can't parse the script due to:
    https://sourceware.org/bugzilla/show_bug.cgi?id=16804
    
    With a workaround in place for that issue, Gold 2.23 crashes due to:
    https://sourceware.org/bugzilla/show_bug.cgi?id=15355
    
    This works around the former bug and avoids the second by removing
    the unnecessary vvar and hpet sections and segments.  The vdso and
    hpet symbols are still there, and nothing needed the sections or
    segments.
    
    Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Signed-off-by: Andy Lutomirski <luto@amacapital.net>
    Link: http://lkml.kernel.org/r/243fa205098d112ec759c9b1b26785c09f399833.1396547532.git.luto@amacapital.net
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
8acc4ad
Brian Lilly brianlilly referenced this pull request from a commit in crystalfontz/cfa_10036_kernel
iovisor iovisor openvswitch: fix vport-netdev unregister
commit b07c265 upstream.

The combination of two commits:
commit 8e4e171
("openvswitch: Simplify datapath locking.")
commit 2537b4d
("openvswitch:: link upper device for port devices")

introduced a bug where upper_dev wasn't unlinked upon
netdev_unregister notification

The following steps:

  modprobe openvswitch
  ovs-dpctl add-dp test
  ip tuntap add dev tap1 mode tap
  ovs-dpctl add-if test tap1
  ip tuntap del dev tap1 mode tap

are causing multiple warnings:

[   62.747557] gre: GRE over IPv4 demultiplexor driver
[   62.749579] openvswitch: Open vSwitch switching datapath
[   62.755087] device test entered promiscuous mode
[   62.765911] device tap1 entered promiscuous mode
[   62.766033] IPv6: ADDRCONF(NETDEV_UP): tap1: link is not ready
[   62.769017] ------------[ cut here ]------------
[   62.769022] WARNING: CPU: 1 PID: 3267 at net/core/dev.c:5501 rollback_registered_many+0x20f/0x240()
[   62.769023] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769051] CPU: 1 PID: 3267 Comm: ip Not tainted 3.12.0-rc3+ #60
[   62.769052] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769053]  0000000000000009 ffff8807f25cbd28 ffffffff8175e575 0000000000000006
[   62.769055]  0000000000000000 ffff8807f25cbd68 ffffffff8105314c ffff8807f25cbd58
[   62.769057]  ffff8807f2634000 ffff8807f25cbdc8 ffff8807f25cbd88 ffff8807f25cbdc8
[   62.769059] Call Trace:
[   62.769062]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769065]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769067]  [<ffffffff8105319a>] warn_slowpath_null+0x1a/0x20
[   62.769069]  [<ffffffff8162a04f>] rollback_registered_many+0x20f/0x240
[   62.769071]  [<ffffffff8162a101>] rollback_registered+0x31/0x40
[   62.769073]  [<ffffffff8162a488>] unregister_netdevice_queue+0x58/0x90
[   62.769075]  [<ffffffff8154f900>] __tun_detach+0x140/0x340
[   62.769077]  [<ffffffff8154fb36>] tun_chr_close+0x36/0x60
[   62.769080]  [<ffffffff811bddaf>] __fput+0xff/0x260
[   62.769082]  [<ffffffff811bdf5e>] ____fput+0xe/0x10
[   62.769084]  [<ffffffff8107b515>] task_work_run+0xb5/0xe0
[   62.769087]  [<ffffffff810029b9>] do_notify_resume+0x59/0x80
[   62.769089]  [<ffffffff813a41fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   62.769091]  [<ffffffff81770f5a>] int_signal+0x12/0x17
[   62.769093] ---[ end trace 838756c62e156ffb ]---
[   62.769481] ------------[ cut here ]------------
[   62.769485] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769486] sysfs: can not remove 'master', no directory
[   62.769486] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769514] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769515] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769518] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769519]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769521]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b28
[   62.769523]  0000000000000000 ffffffff81a87a1f ffff8807f2634000 ffff880037038500
[   62.769525] Call Trace:
[   62.769528]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769529]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769531]  [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50
[   62.769533]  [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0
[   62.769535]  [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30
[   62.769538]  [<ffffffff81631ef7>] __netdev_adjacent_dev_remove+0xf7/0x150
[   62.769540]  [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769542]  [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769544]  [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140
[   62.769548]  [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769550]  [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769552]  [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769555]  [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769557]  [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0
[   62.769559]  [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0
[   62.769562]  [<ffffffff8107659b>] worker_thread+0x11b/0x370
[   62.769564]  [<ffffffff81076480>] ? rescuer_thread+0x350/0x350
[   62.769566]  [<ffffffff8107f44a>] kthread+0xea/0xf0
[   62.769568]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769570]  [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0
[   62.769572]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769573] ---[ end trace 838756c62e156ffc ]---
[   62.769574] ------------[ cut here ]------------
[   62.769576] WARNING: CPU: 1 PID: 92 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
[   62.769577] sysfs: can not remove 'upper_test', no directory
[   62.769577] Modules linked in: openvswitch gre vxlan ip_tunnel libcrc32c ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc vhost_net macvtap macvlan vhost kvm_intel kvm dm_crypt iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi hid_generic mxm_wmi eeepc_wmi asus_wmi sparse_keymap dm_multipath psmouse serio_raw usbhid hid parport_pc ppdev firewire_ohci lpc_ich firewire_core e1000e crc_itu_t binfmt_misc igb dca ptp pps_core mac_hid wmi lp parport i2o_config i2o_block video
[   62.769603] CPU: 1 PID: 92 Comm: kworker/1:2 Tainted: G        W    3.12.0-rc3+ #60
[   62.769604] Hardware name: System manufacturer System Product Name/P8Z77 WS, BIOS 3007 07/26/2012
[   62.769606] Workqueue: events ovs_dp_notify_wq [openvswitch]
[   62.769607]  0000000000000009 ffff880807ad3ac8 ffffffff8175e575 0000000000000006
[   62.769609]  ffff880807ad3b18 ffff880807ad3b08 ffffffff8105314c ffff880807ad3b58
[   62.769611]  0000000000000000 ffff880807ad3bd9 ffff8807f2634000 ffff880037038500
[   62.769613] Call Trace:
[   62.769615]  [<ffffffff8175e575>] dump_stack+0x55/0x76
[   62.769617]  [<ffffffff8105314c>] warn_slowpath_common+0x8c/0xc0
[   62.769619]  [<ffffffff81053236>] warn_slowpath_fmt+0x46/0x50
[   62.769621]  [<ffffffff8123e7e9>] sysfs_hash_and_remove+0xa9/0xb0
[   62.769622]  [<ffffffff81240e96>] sysfs_remove_link+0x26/0x30
[   62.769624]  [<ffffffff81631f22>] __netdev_adjacent_dev_remove+0x122/0x150
[   62.769627]  [<ffffffff81632037>] __netdev_adjacent_dev_unlink_lists+0x27/0x50
[   62.769629]  [<ffffffff8163213a>] __netdev_adjacent_dev_unlink_neighbour+0x3a/0x50
[   62.769631]  [<ffffffff8163218d>] netdev_upper_dev_unlink+0x3d/0x140
[   62.769633]  [<ffffffffa033c2db>] netdev_destroy+0x4b/0x80 [openvswitch]
[   62.769636]  [<ffffffffa033b696>] ovs_vport_del+0x46/0x60 [openvswitch]
[   62.769638]  [<ffffffffa0335314>] ovs_dp_detach_port+0x44/0x60 [openvswitch]
[   62.769640]  [<ffffffffa0336574>] ovs_dp_notify_wq+0xb4/0x150 [openvswitch]
[   62.769642]  [<ffffffff81075c28>] process_one_work+0x1d8/0x6a0
[   62.769644]  [<ffffffff81075bc8>] ? process_one_work+0x178/0x6a0
[   62.769646]  [<ffffffff8107659b>] worker_thread+0x11b/0x370
[   62.769648]  [<ffffffff81076480>] ? rescuer_thread+0x350/0x350
[   62.769650]  [<ffffffff8107f44a>] kthread+0xea/0xf0
[   62.769652]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769654]  [<ffffffff81770bac>] ret_from_fork+0x7c/0xb0
[   62.769656]  [<ffffffff8107f360>] ? flush_kthread_worker+0x150/0x150
[   62.769657] ---[ end trace 838756c62e156ffd ]---
[   62.769724] device tap1 left promiscuous mode

This patch also affects moving devices between net namespaces.

OVS used to ignore netns move notifications which caused problems.
Like:
  ovs-dpctl add-if test tap1
  ip link set tap1 netns 3512
and then removing tap1 inside the namespace will cause hang on missing dev_put.

With this patch OVS will detach dev upon receiving netns move event.

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
7d4f473
sr105 sr105 referenced this pull request from a commit in RealDigitalMedia/linux-shuttle
Peter Chen ENGR00255484-2 usb: ehci-arc: add NULL pointer check for pdata->pdev
The pdata->pdev is initialized at platform code, if init
fails at first, it will be not initialized, and platform exit
will not be called. This also fixes an oop when config usb
module wrongly:

Unable to handle kernel NULL pointer dereference at virtual address 0000005c
pgd = ba1c4000
[0000005c] *pgd=4a145831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in: ehci_hcd(+) usbcore
CPU: 1    Not tainted  (3.0.35-02451-ge361da1 #60)
PC is at fsl_usb_host_uninit_ext+0xc/0x28
LR is at usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]
pc : [<80062b58>]    lr : [<7f060934>]    psr: a0000013
sp : ba11be80  ip : 00005027  fp : 000a76e0
r10: 00000048  r9 : ba11a000  r8 : bfd4d608
r7 : ffffffed  r6 : bfd4d600  r5 : bfc84400  r4 : 80aaee48
r3 : 80062b4c  r2 : 00000000  r1 : 60000093  r0 : 00000000
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: 4a1c404a  DAC: 00000015
Process modprobe (pid: 1555, stack limit = 0xba11a2f0)
Stack: (0xba11be80 to 0xba11c000)
be80: bfd97600 7f060934 00000000 00000000 bfd4d608 bfd4d608 80aca808 bfd4d63c
bea0: 7f062bd4 80041704 ba11a000 00000000 000a76e0 802a5cec bfd4d608 802a4a14
bec0: bfd4d608 7f062bd4 bfd4d63c 00000000 80041704 802a4bac 7f062bd4 ba11bee8
bee0: 802a4b20 802a4254 bffd4040 bff03f38 7f065000 7f062bd4 80a934c8 bfc8cd20
bf00: 00000000 802a3be0 7f062b1c 7f062bd4 00000000 7f017ec8 7f062bd4 00000000
bf20: 7f065000 80041704 00000000 802a51a0 7f017ec8 80aae500 00000000 7f065000
bf40: 80041704 7f065058 000a79e8 8003b4c4 00000000 00000000 00000000 80a14834
bf60: 000a79e8 000a79e8 7f062c20 00000000 0000e67b 80041704 ba11a000 00000000
bf80: 000a76e0 800aa428 ba076740 800f58dc 000a79e8 0000e67b 00000000 000a75d0
bfa0: 00000080 80041580 0000e67b 00000000 000a79e8 0000e67b 000a75d0 000a76e0
bfc0: 0000e67b 00000000 000a75d0 00000080 000a6a78 00000008 000a76a0 000a76e0
bfe0: 7ec7ab50 7ec7ab40 0001a32c 2ace6490 20000010 000a79e8 4fffe821 4fffec21
[<80062b58>] (fsl_usb_host_uninit_ext+0xc/0x28) from [<7f060934>]
	(usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd])
[<7f060934>] (usb_hcd_fsl_probe+0x2c8/0x44c [ehci_hcd]) from [<802a5cec>]
	(platform_drv_probe+0x18/0x1c)
[<802a5cec>] (platform_drv_probe+0x18/0x1c) from [<802a4a14>]
	(driver_probe_device+0x98/0x1a4)
[<802a4a14>] (driver_probe_device+0x98/0x1a4) from [<802a4bac>]
	(__driver_attach+0x8c/0x90)
[<802a4bac>] (__driver_attach+0x8c/0x90) from [<802a4254>]
	(bus_for_each_dev+0x60/0x8c)
[<802a4254>] (bus_for_each_dev+0x60/0x8c) from [<802a3be0>]
	(bus_add_driver+0x184/0x25c)
[<802a3be0>] (bus_add_driver+0x184/0x25c) from [<802a51a0>]
	(driver_register+0x78/0x13c)
[<802a51a0>] (driver_register+0x78/0x13c) from [<7f065058>]
	(ehci_hcd_init+0x58/0x88 [ehci_hcd])
[<7f065058>] (ehci_hcd_init+0x58/0x88 [ehci_hcd]) from [<8003b4c4>]
	(do_one_initcall+0x30/0x16c)
[<8003b4c4>] (do_one_initcall+0x30/0x16c) from [<800aa428>]
	(sys_init_module+0x84/0x19c)
[<800aa428>] (sys_init_module+0x84/0x19c) from [<80041580>]
	(ret_fast_syscall+0x0/0x30)
Code: 80aaee48 e92d4010 e30e4e48 e34840aa (e590005c)
---[ end trace 719afdfe4af3a442 ]---

Signed-off-by: Peter Chen <peter.chen@freescale.com>
f1a46ba
Stephen Warren swarren referenced this pull request from a commit in swarren/linux-tegra
Andrew Morton initramfs-support-initramfs-that-is-more-than-2g-checkpatch-fixes
WARNING: quoted string split across lines
#60: FILE: fs/isofs/compress.c:163:
 					       " page idx = %d, bh idx = %d,"
+					       " avail_in = %ld,"

WARNING: quoted string split across lines
#61: FILE: fs/isofs/compress.c:164:
+					       " avail_in = %ld,"
+					       " avail_out = %ld\n",

WARNING: missing space after return type
#76: FILE: include/linux/decompress/bunzip2.h:5:
+	    long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#77: FILE: include/linux/decompress/bunzip2.h:6:
+	    long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#94: FILE: include/linux/decompress/generic.h:5:
+			      long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#95: FILE: include/linux/decompress/generic.h:6:
+			      long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#122: FILE: include/linux/decompress/inflate.h:5:
+	   long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#123: FILE: include/linux/decompress/inflate.h:6:
+	   long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#140: FILE: include/linux/decompress/unlz4.h:5:
+	long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#141: FILE: include/linux/decompress/unlz4.h:6:
+	long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#158: FILE: include/linux/decompress/unlzma.h:5:
+	   long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#159: FILE: include/linux/decompress/unlzma.h:6:
+	   long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#177: FILE: include/linux/decompress/unlzo.h:5:
+	long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#178: FILE: include/linux/decompress/unlzo.h:6:
+	long(*flush)(void*, unsigned long),

WARNING: please, no spaces at the start of a line
#210: FILE: include/linux/zlib.h:86:
+    uLong     avail_in;  /* number of bytes available at next_in */$

WARNING: please, no spaces at the start of a line
#215: FILE: include/linux/zlib.h:90:
+    uLong     avail_out; /* remaining free space at next_out */$

WARNING: __initdata should be placed after count
#259: FILE: init/initramfs.c:177:
+static __initdata unsigned long count;

WARNING: __initdata should be placed after remains
#268: FILE: init/initramfs.c:189:
+static __initdata long remains;

WARNING: missing space after return type
#385: FILE: lib/decompress_bunzip2.c:679:
+			long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#386: FILE: lib/decompress_bunzip2.c:680:
+			long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#401: FILE: lib/decompress_bunzip2.c:747:
+			long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#402: FILE: lib/decompress_bunzip2.c:748:
+			long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#427: FILE: lib/decompress_inflate.c:37:
+		       long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#428: FILE: lib/decompress_inflate.c:38:
+		       long(*flush)(void*, unsigned long),

WARNING: Unnecessary space before function pointer arguments
#456: FILE: lib/decompress_unlz4.c:35:
+				long (*fill) (void *, unsigned long),

WARNING: Unnecessary space before function pointer arguments
#457: FILE: lib/decompress_unlz4.c:36:
+				long (*flush) (void *, unsigned long),

WARNING: missing space after return type
#479: FILE: lib/decompress_unlz4.c:179:
+			      long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#480: FILE: lib/decompress_unlz4.c:180:
+			      long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#529: FILE: lib/decompress_unlzma.c:283:
+	long(*flush)(void*, unsigned long);

WARNING: missing space after return type
#541: FILE: lib/decompress_unlzma.c:538:
+			      long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#542: FILE: lib/decompress_unlzma.c:539:
+			      long(*flush)(void*, unsigned long),

WARNING: missing space after return type
#557: FILE: lib/decompress_unlzma.c:671:
+			      long(*fill)(void*, unsigned long),

WARNING: missing space after return type
#558: FILE: lib/decompress_unlzma.c:672:
+			      long(*flush)(void*, unsigned long),

WARNING: Unnecessary space before function pointer arguments
#586: FILE: lib/decompress_unlzo.c:112:
+				long (*fill) (void *, unsigned long),

WARNING: Unnecessary space before function pointer arguments
#587: FILE: lib/decompress_unlzo.c:113:
+				long (*flush) (void *, unsigned long),

total: 0 errors, 35 warnings, 479 lines checked

./patches/initramfs-support-initramfs-that-is-more-than-2g.patch has style problems, please review.

If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
c923ec1
JoonsooKim JoonsooKim referenced this pull request from a commit in JoonsooKim/linux
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations
of multiple const * types.

This can produce false positives for things like:

$ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
WARNING: Missing a blank line after declarations
#60: FILE: drivers/staging/comedi/comedidev.h:60:
+       const struct comedi_lrange *range_table;
+       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
5e60328
Andrey Utkin krieger-od referenced this pull request from a commit in krieger-od/linux
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations
of multiple const * types.

This can produce false positives for things like:

$ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
WARNING: Missing a blank line after declarations
#60: FILE: drivers/staging/comedi/comedidev.h:60:
+       const struct comedi_lrange *range_table;
+       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
5f9ccb9
Andrey Utkin krieger-od referenced this pull request from a commit in krieger-od/linux
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations
of multiple const * types.

This can produce false positives for things like:

$ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
WARNING: Missing a blank line after declarations
#60: FILE: drivers/staging/comedi/comedidev.h:60:
+       const struct comedi_lrange *range_table;
+       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
9798659
ddstreet ddstreet referenced this pull request from a commit in ddstreet/linux
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations
of multiple const * types.

This can produce false positives for things like:

$ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
WARNING: Missing a blank line after declarations
#60: FILE: drivers/staging/comedi/comedidev.h:60:
+       const struct comedi_lrange *range_table;
+       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
cff267b
Andrey Utkin krieger-od referenced this pull request from a commit in krieger-od/linux
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations
of multiple const * types.

This can produce false positives for things like:

$ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
WARNING: Missing a blank line after declarations
#60: FILE: drivers/staging/comedi/comedidev.h:60:
+       const struct comedi_lrange *range_table;
+       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
f53aa40
Naoya Horiguchi Naoya-Horiguchi referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
Linus Torvalds torvalds referenced this pull request from a commit
Joe Perches checkpatch: allow multiple const * types
checkpatch's $Type variable does not match declarations of multiple
const * types.

This can produce false positives for things like:

  $ ./scripts/checkpatch.pl -f drivers/staging/comedi/comedidev.h
  WARNING: Missing a blank line after declarations
  #60: FILE: drivers/staging/comedi/comedidev.h:60:
  +       const struct comedi_lrange *range_table;
  +       const struct comedi_lrange *const *range_table_list;

Fix the $Type variable to support matching multiple "* const" uses.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1574a29
pstglia pstglia referenced this pull request from a commit in pstglia/linux
Azat Khuzhin azat ext4: fix ext4_count_free_clusters() with EXT4FS_DEBUG and bigalloc e…
…nabled

With bigalloc enabled we must use EXT4_CLUSTERS_PER_GROUP() instead of
EXT4_BLOCKS_PER_GROUP() otherwise we will go beyond the allocated buffer.

$ mount -t ext4 /dev/vde /vde
[   70.573993] EXT4-fs DEBUG (fs/ext4/mballoc.c, 2346): ext4_mb_alloc_groupinfo:
[   70.575174] allocated s_groupinfo array for 1 meta_bg's
[   70.576172] EXT4-fs DEBUG (fs/ext4/super.c, 2092): ext4_check_descriptors:
[   70.576972] Checking group descriptorsBUG: unable to handle kernel paging request at ffff88006ab56000
[   72.463686] IP: [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.464168] PGD 295e067 PUD 2961067 PMD 7fa8e067 PTE 800000006ab56060
[   72.464738] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[   72.465139] Modules linked in:
[   72.465402] CPU: 1 PID: 3560 Comm: mount Tainted: G        W    3.14.0-rc2-00069-ge57bce1 #60
[   72.466079] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[   72.466505] task: ffff88007ce6c8a0 ti: ffff88006b7f0000 task.ti: ffff88006b7f0000
[   72.466505] RIP: 0010:[<ffffffff81394eb9>]  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505] RSP: 0018:ffff88006b7f1c00  EFLAGS: 00010206
[   72.466505] RAX: 0000000000000000 RBX: 000000000000050a RCX: 0000000000000040
[   72.466505] RDX: 0000000000000000 RSI: 0000000000080000 RDI: 0000000000000000
[   72.466505] RBP: ffff88006b7f1c28 R08: 0000000000000002 R09: 0000000000000000
[   72.466505] R10: 000000000000babe R11: 0000000000000400 R12: 0000000000080000
[   72.466505] R13: 0000000000000200 R14: 0000000000002000 R15: ffff88006ab55000
[   72.466505] FS:  00007f43ba1fa840(0000) GS:ffff88007f800000(0000) knlGS:0000000000000000
[   72.466505] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   72.466505] CR2: ffff88006ab56000 CR3: 000000006b7e6000 CR4: 00000000000006e0
[   72.466505] Stack:
[   72.466505]  ffff88006ab65000 0000000000000000 0000000000000000 0000000000010000
[   72.466505]  ffff88006ab6f400 ffff88006b7f1c58 ffffffff81396bb8 0000000000010000
[   72.466505]  0000000000000000 ffff88007b869a90 ffff88006a48a000 ffff88006b7f1c70
[   72.466505] Call Trace:
[   72.466505]  [<ffffffff81396bb8>] memweight+0x5f/0x8a
[   72.466505]  [<ffffffff811c3b19>] ext4_count_free+0x13/0x21
[   72.466505]  [<ffffffff811c396c>] ext4_count_free_clusters+0xdb/0x171
[   72.466505]  [<ffffffff811e3bdd>] ext4_fill_super+0x117c/0x28ef
[   72.466505]  [<ffffffff81391569>] ? vsnprintf+0x1c7/0x3f7
[   72.466505]  [<ffffffff8114d8dc>] mount_bdev+0x145/0x19c
[   72.466505]  [<ffffffff811e2a61>] ? ext4_calculate_overhead+0x2a1/0x2a1
[   72.466505]  [<ffffffff811dab1d>] ext4_mount+0x15/0x17
[   72.466505]  [<ffffffff8114e3aa>] mount_fs+0x67/0x150
[   72.466505]  [<ffffffff811637ea>] vfs_kern_mount+0x64/0xde
[   72.466505]  [<ffffffff81165d19>] do_mount+0x6fe/0x7f5
[   72.466505]  [<ffffffff81126cc8>] ? strndup_user+0x3a/0xd9
[   72.466505]  [<ffffffff8116604b>] SyS_mount+0x85/0xbe
[   72.466505]  [<ffffffff81619e90>] tracesys+0xdd/0xe2
[   72.466505] Code: c3 89 f0 b9 40 00 00 00 55 99 48 89 e5 41 57 f7 f9 41 56 49 89 ff 41 55 45 31 ed 41 54 41 89 f4 53 31 db 41 89 c6 45 39 ee 7e 10 <4b> 8b 3c ef 49 ff c5 e8 bf ff ff ff 01 c3 eb eb 31 c0 45 85 f6
[   72.466505] RIP  [<ffffffff81394eb9>] __bitmap_weight+0x2a/0x7f
[   72.466505]  RSP <ffff88006b7f1c00>
[   72.466505] CR2: ffff88006ab56000
[   72.466505] ---[ end trace 7d051a08ae138573 ]---
Killed

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
b33afc0
Andy Shevchenko andy-shev referenced this pull request from a commit in andy-shev/linux
Jens Axboe axboe fs: make inode_to_bdi() handle NULL inode
Running a heavy fs workload, I ran into a situation where we pass
down a page for writeback/swap that doesn't have an inode mapping:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: [<ffffffff8119589f>] inode_to_bdi+0xf/0x50
PGD 0
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: wl(O) tun cfg80211 btusb joydev hid_apple hid_generic usbhid hid bcm5974 usb_storage nouveau snd_hda_codec_hdmi snd_hda_codec_cirrus snd_hda_codec_generic x86_pkg_temp_thermal snd_hda_intel kvm_intel snd_hda_controller snd_hda_codec kvm snd_hwdep snd_pcm applesmc input_polldev snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_timer snd_seq_device snd xhci_pci xhci_hcd ttm thunderbolt soundcore apple_gmux apple_bl bluetooth binfmt_misc fuse nls_iso8859_1 nls_cp437 vfat fat [last unloaded: wl]
CPU: 4 PID: 50 Comm: kswapd0 Tainted: G     U     O   3.19.0-rc5+ #60
Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS MBP112.88Z.0138.B02.1310181745 10/18/2013
task: ffff880462e917f0 ti: ffff880462edc000 task.ti: ffff880462edc000
RIP: 0010:[<ffffffff8119589f>]  [<ffffffff8119589f>] inode_to_bdi+0xf/0x50
RSP: 0000:ffff880462edf8e8  EFLAGS: 00010282
RAX: ffffffff81c4cd80 RBX: ffffea0001b3abc0 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff880462edf8f8 R08: 00000000001e8500 R09: ffff880460f7cb68
R10: ffff880462edfa00 R11: 0000000000000101 R12: 0000000000000000
R13: ffffffff81c4cd98 R14: 0000000000000000 R15: ffff880460f7c9c0
FS:  0000000000000000(0000) GS:ffff88047f300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000028 CR3: 00000002b6341000 CR4: 00000000001407e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Stack:
 ffffea0001b3abc0 ffffffff81c4cd80 ffff880462edf948 ffffffff811244aa
 ffffffff811565b0 ffff880460f7c9c0 ffff880462edf948 ffffea0001b3abc0
 0000000000000001 ffff880462edfb40 ffff880008b999c0 ffff880460f7c9c0
Call Trace:
 [<ffffffff811244aa>] __test_set_page_writeback+0x3a/0x170
 [<ffffffff811565b0>] ? SyS_madvise+0x790/0x790
 [<ffffffff81156bb6>] __swap_writepage+0x216/0x280
 [<ffffffff8133d592>] ? radix_tree_insert+0x32/0xe0
 [<ffffffff81157741>] ? swap_info_get+0x61/0xf0
 [<ffffffff81159bfc>] ? page_swapcount+0x4c/0x60
 [<ffffffff81156c4d>] swap_writepage+0x2d/0x50
 [<ffffffff81131658>] shmem_writepage+0x198/0x2c0
 [<ffffffff8112cae4>] shrink_page_list+0x464/0xa00
 [<ffffffff8112d666>] shrink_inactive_list+0x266/0x500
 [<ffffffff8112e215>] shrink_lruvec+0x5d5/0x720
 [<ffffffff8112e3bb>] shrink_zone+0x5b/0x190
 [<ffffffff8112ee3f>] kswapd+0x48f/0x8d0
 [<ffffffff8112e9b0>] ? try_to_free_pages+0x4c0/0x4c0
 [<ffffffff81067be2>] kthread+0xd2/0xf0
 [<ffffffff81060000>] ? workqueue_congested+0x30/0x80
 [<ffffffff81067b10>] ? kthread_create_on_node+0x180/0x180
 [<ffffffff816b556c>] ret_from_fork+0x7c/0xb0
 [<ffffffff81067b10>] ? kthread_create_on_node+0x180/0x180
Code: 00 48 c7 c7 8d 8d a4 81 e8 3f 62 eb ff e9 fc fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 54 49 89 fc 53 <48> 8b 5f 28 48 89 df e8 15 f8 00 00 85 c0 75 11 48 8b 83 d8 00
RIP  [<ffffffff8119589f>] inode_to_bdi+0xf/0x50
 RSP <ffff880462edf8e8>
CR2: 0000000000000028
---[ end trace eb0e21aa7dad3ddf ]---

Handle this in inode_to_bdi() by punting it to noop_backing_dev_info,
if mapping->host is NULL.

Signed-off-by: Jens Axboe <axboe@fb.com>
b520252
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Dec 1, 2013
  1. Yang Le

    fix some typos

    yang-le authored
This page is out of date. Refresh to see the latest.
Showing with 4 additions and 4 deletions.
  1. +4 −4 Documentation/zh_CN/volatile-considered-harmful.txt
8 Documentation/zh_CN/volatile-considered-harmful.txt
View
@@ -48,7 +48,7 @@ C程序员通常认为volatile表示某个变量可以在当前执行的线程
do_something_else_with(&shared_data);
spin_unlock(&the_lock);
-如果所有的代码都遵循加锁规则,当持有the_lock的时候,不可能意外的改变shared_data的
+如果所有的代码都遵循加锁规则,当持有the_lock的时候,不可能意外地改变shared_data的
值。任何可能访问该数据的其他代码都会在这个锁上等待。自旋锁原语跟内存屏障一样—— 它
们显式的用来书写成这样 —— 意味着数据访问不会跨越它们而被优化。所以本来编译器认为
它知道在shared_data里面将有什么,但是因为spin_lock()调用跟内存屏障一样,会强制编
@@ -76,11 +76,11 @@ cpu_relax()调用会降低CPU的能量消耗或者让位于超线程双处理器
在内核中,一些稀少的情况下volatile仍然是有意义的:
- - 在一些体系架构的系统上,允许直接的I/0内存访问,那么前面提到的访问函数可以使用
+ - 在一些体系架构的系统上,允许直接的I/O内存访问,那么前面提到的访问函数可以使用
volatile。基本上,每一个访问函数调用它自己都是一个小的临界区域并且保证了按照
程序员期望的那样发生访问操作。
- - 某些会改变内存的内联汇编代码虽然没有什么其他明显的附作用,但是有被GCC删除的可
+ - 某些会改变内存的内联汇编代码虽然没有什么其他明显的副作用,但是有被GCC删除的可
能性。在汇编声明中加上volatile关键字可以防止这种删除操作。
- Jiffies变量是一种特殊情况,虽然每次引用它的时候都可以有不同的值,但读jiffies
@@ -88,7 +88,7 @@ cpu_relax()调用会降低CPU的能量消耗或者让位于超线程双处理器
其他跟jiffies相同类型变量使用volatile。Jiffies被认为是一种“愚蠢的遗留物"
(Linus的话)因为解决这个问题比保持现状要麻烦的多。
- - 由于某些I/0设备可能会修改连续一致的内存,所以有时,指向连续一致内存的数据结构
+ - 由于某些I/O设备可能会修改连续一致的内存,所以有时,指向连续一致内存的数据结构
的指针需要正确的使用volatile。网络适配器使用的环状缓存区正是这类情形的一个例
子,其中适配器用改变指针来表示哪些描述符已经处理过了。
Something went wrong with that request. Please try again.