]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
12 years agoSCSI: ibmvscsi: Fix host config length field overflow
Benjamin Herrenschmidt [Mon, 30 Jul 2012 01:33:05 +0000 (11:33 +1000)]
SCSI: ibmvscsi: Fix host config length field overflow

commit 225c56960fcafeccc2b6304f96cd3f0dbf42a16a upstream.

The length field in the host config packet is only 16-bit long, so
passing it 0x10000 (64K which is our standard PAGE_SIZE) doesn't
work and result in an empty config from the server.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoIncrease XHCI suspend timeout to 16ms
Michael Spang [Fri, 14 Sep 2012 17:05:49 +0000 (13:05 -0400)]
Increase XHCI suspend timeout to 16ms

commit a6e097dfdfd189b6929af6efa1d289af61858386 upstream.

The Intel XHCI specification says that after clearing the run/stop bit
the controller may take up to 16ms to halt. We've seen a device take
14ms, which with the current timeout of 10ms causes the kernel to
abort the suspend. Increasing the timeout to the recommended value
fixes the problem.

This patch should be backported to kernels as old as 2.6.37, that
contain the commit 5535b1d5f8885695c6ded783c692e3c0d0eda8ca "USB: xHCI:
PCI power management implementation".

Signed-off-by: Michael Spang <spang@chromium.org>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agocoredump: prevent double-free on an error path in core dumper
Denys Vlasenko [Wed, 26 Sep 2012 01:34:50 +0000 (11:34 +1000)]
coredump: prevent double-free on an error path in core dumper

commit f34f9d186df35e5c39163444c43b4fc6255e39c5 upstream.

In !CORE_DUMP_USE_REGSET case, if elf_note_info_init fails to allocate
memory for info->fields, it frees already allocated stuff and returns
error to its caller, fill_note_info.  Which in turn returns error to its
caller, elf_core_dump.  Which jumps to cleanup label and calls
free_note_info, which will happily try to free all info->fields again.
BOOM.

This is the fix.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Cc: Venu Byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agofirmware: Add missing attributes to EFI variable attribute print out from sysfs
Khalid Aziz [Mon, 10 Sep 2012 18:52:42 +0000 (12:52 -0600)]
firmware: Add missing attributes to EFI variable attribute print out from sysfs

commit 7083909023bbe29b3176e92d2d089def1aa7aa1e upstream.

Some of the EFI variable attributes are missing from print out from
/sys/firmware/efi/vars/*/attributes. This patch adds those in. It also
updates code to use pre-defined constants for masking current value
of attributes.

Signed-off-by: Khalid Aziz <khalid.aziz@hp.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agob43legacy: Fix crash on unload when firmware not available
Larry Finger [Wed, 26 Sep 2012 17:32:02 +0000 (12:32 -0500)]
b43legacy: Fix crash on unload when firmware not available

commit 2d838bb608e2d1f6cb4280e76748cb812dc822e7 upstream.

When b43legacy is loaded without the firmware being available, a following
unload generates a kernel NULL pointer dereference BUG as follows:

[  214.330789] BUG: unable to handle kernel NULL pointer dereference at 0000004c
[  214.330997] IP: [<c104c395>] drain_workqueue+0x15/0x170
[  214.331179] *pde = 00000000
[  214.331311] Oops: 0000 [#1] SMP
[  214.331471] Modules linked in: b43legacy(-) ssb pcmcia mac80211 cfg80211 af_packet mperf arc4 ppdev sr_mod cdrom sg shpchp yenta_socket pcmcia_rsrc pci_hotplug pcmcia_core battery parport_pc parport floppy container ac button edd autofs4 ohci_hcd ehci_hcd usbcore usb_common thermal processor scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc scsi_dh_alua scsi_dh fan thermal_sys hwmon ata_generic pata_ali libata [last unloaded: cfg80211]
[  214.333421] Pid: 3639, comm: modprobe Not tainted 3.6.0-rc6-wl+ #163 Source Technology VIC 9921/ALI Based Notebook
[  214.333580] EIP: 0060:[<c104c395>] EFLAGS: 00010246 CPU: 0
[  214.333687] EIP is at drain_workqueue+0x15/0x170
[  214.333788] EAX: c162ac40 EBX: cdfb8360 ECX: 0000002a EDX: 00002a2a
[  214.333890] ESI: 00000000 EDI: 00000000 EBP: cd767e7c ESP: cd767e5c
[  214.333957]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[  214.333957] CR0: 8005003b CR2: 0000004c CR3: 0c96a000 CR4: 00000090
[  214.333957] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[  214.333957] DR6: ffff0ff0 DR7: 00000400
[  214.333957] Process modprobe (pid: 3639, ti=cd766000 task=cf802e90 task.ti=cd766000)
[  214.333957] Stack:
[  214.333957]  00000292 cd767e74 c12c5e09 00000296 00000296 cdfb8360 cdfb9220 00000000
[  214.333957]  cd767e90 c104c4fd cdfb8360 cdfb9220 cd682800 cd767ea4 d0c10184 cd682800
[  214.333957]  cd767ea4 cba31064 cd767eb8 d0867908 cba31064 d087e09c cd96f034 cd767ec4
[  214.333957] Call Trace:
[  214.333957]  [<c12c5e09>] ? skb_dequeue+0x49/0x60
[  214.333957]  [<c104c4fd>] destroy_workqueue+0xd/0x150
[  214.333957]  [<d0c10184>] ieee80211_unregister_hw+0xc4/0x100 [mac80211]
[  214.333957]  [<d0867908>] b43legacy_remove+0x78/0x80 [b43legacy]
[  214.333957]  [<d083654d>] ssb_device_remove+0x1d/0x30 [ssb]
[  214.333957]  [<c126f15a>] __device_release_driver+0x5a/0xb0
[  214.333957]  [<c126fb07>] driver_detach+0x87/0x90
[  214.333957]  [<c126ef4c>] bus_remove_driver+0x6c/0xe0
[  214.333957]  [<c1270120>] driver_unregister+0x40/0x70
[  214.333957]  [<d083686b>] ssb_driver_unregister+0xb/0x10 [ssb]
[  214.333957]  [<d087c488>] b43legacy_exit+0xd/0xf [b43legacy]
[  214.333957]  [<c1089dde>] sys_delete_module+0x14e/0x2b0
[  214.333957]  [<c110a4a7>] ? vfs_write+0xf7/0x150
[  214.333957]  [<c1240050>] ? tty_write_lock+0x50/0x50
[  214.333957]  [<c110a6f8>] ? sys_write+0x38/0x70
[  214.333957]  [<c1397c55>] syscall_call+0x7/0xb
[  214.333957] Code: bc 27 00 00 00 00 a1 74 61 56 c1 55 89 e5 e8 a3 fc ff ff 5d c3 90 55 89 e5 57 56 89 c6 53 b8 40 ac 62 c1 83 ec 14 e8 bb b7 34 00 <8b> 46 4c 8d 50 01 85 c0 89 56 4c 75 03 83 0e 40 80 05 40 ac 62
[  214.333957] EIP: [<c104c395>] drain_workqueue+0x15/0x170 SS:ESP 0068:cd767e5c
[  214.333957] CR2: 000000000000004c
[  214.341110] ---[ end trace c7e90ec026d875a6 ]---Index: wireless-testing/drivers/net/wireless/b43legacy/main.c

The problem is fixed by making certain that the ucode pointer is not NULL
before deregistering the driver in mac80211.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoserial: set correct baud_base for EXSYS EX-41092 Dual 16950
Flavio Leitner [Sat, 22 Sep 2012 00:04:34 +0000 (21:04 -0300)]
serial: set correct baud_base for EXSYS EX-41092 Dual 16950

commit 26e8220adb0aec43b7acafa0f1431760eee28522 upstream.

Apparently the same card model has two IDs, so this patch
complements the commit 39aced68d664291db3324d0fcf0985ab5626aac2
adding the missing one.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoTTY: ttyprintk, don't touch behind tty->write_buf
Jiri Slaby [Tue, 7 Aug 2012 19:47:39 +0000 (21:47 +0200)]
TTY: ttyprintk, don't touch behind tty->write_buf

commit ee8b593affdf893012e57f4c54a21984d1b0d92e upstream.

If a user provides a buffer larger than a tty->write_buf chunk and
passes '\r' at the end of the buffer, we touch an out-of-bound memory.

Add a check there to prevent this.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Samo Pogacnik <samo_pogacnik@t-2.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoRemove BUG_ON from n_tty_read()
Stanislav Kozina [Thu, 16 Aug 2012 11:01:47 +0000 (12:01 +0100)]
Remove BUG_ON from n_tty_read()

commit e9490e93c1978b6669f3e993caa3189be13ce459 upstream.

Change the BUG_ON to WARN_ON and return in case of tty->read_buf==NULL. We want to track a
couple of long standing reports of this but at the same time we can avoid killing the box.

Signed-off-by: Stanislav Kozina <skozina@redhat.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agodm: handle requests beyond end of device instead of using BUG_ON
Mike Snitzer [Wed, 26 Sep 2012 22:45:42 +0000 (23:45 +0100)]
dm: handle requests beyond end of device instead of using BUG_ON

commit ba1cbad93dd47223b1f3b8edd50dd9ef2abcb2ed upstream.

The access beyond the end of device BUG_ON that was introduced to
dm_request_fn via commit 29e4013de7ad950280e4b2208 ("dm: implement
REQ_FLUSH/FUA support for request-based dm") was an overly
drastic (but simple) response to this situation.

I have received a report that this BUG_ON was hit and now think
it would be better to use dm_kill_unmapped_request() to fail the clone
and original request with -EIO.

map_request() will assign the valid target returned by
dm_table_find_target to tio->ti.  But when the target
isn't valid tio->ti is never assigned (because map_request isn't
called); so add a check for tio->ti != NULL to dm_done().

Reported-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agovfs: dcache: fix deadlock in tree traversal
Miklos Szeredi [Mon, 17 Sep 2012 20:23:30 +0000 (22:23 +0200)]
vfs: dcache: fix deadlock in tree traversal

commit 8110e16d42d587997bcaee0c864179e6d93603fe upstream.

IBM reported a deadlock in select_parent().  This was found to be caused
by taking rename_lock when already locked when restarting the tree
traversal.

There are two cases when the traversal needs to be restarted:

 1) concurrent d_move(); this can only happen when not already locked,
    since taking rename_lock protects against concurrent d_move().

 2) racing with final d_put() on child just at the moment of ascending
    to parent; rename_lock doesn't protect against this rare race, so it
    can happen when already locked.

Because of case 2, we need to be able to handle restarting the traversal
when rename_lock is already held.  This patch fixes all three callers of
try_to_ascend().

IBM reported that the deadlock is gone with this patch.

[ I rewrote the patch to be smaller and just do the "goto again" if the
  lock was already held, but credit goes to Miklos for the real work.
   - Linus ]

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoSPEC: v2.6.39-400.1.0
Maxim Uvarov [Mon, 24 Sep 2012 10:22:09 +0000 (03:22 -0700)]
SPEC: v2.6.39-400.1.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
12 years agoMerge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public
Maxim Uvarov [Fri, 21 Sep 2012 12:07:22 +0000 (05:07 -0700)]
Merge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public

12 years agoMerge branch 'stable/for-linus-3.6.rebased' into uek2-merge
Konrad Rzeszutek Wilk [Wed, 19 Sep 2012 15:02:41 +0000 (11:02 -0400)]
Merge branch 'stable/for-linus-3.6.rebased' into uek2-merge

* stable/for-linus-3.6.rebased:
  xen/boot: Disable BIOS SMP MP table search.
  xen/m2p: do not reuse kmap_op->dev_bus_addr
  xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.

Conflicts:
arch/x86/xen/enlighten.c

12 years agoMerge branch 'stable/xen-pciback-0.6.3.bugfixes' into uek2-merge
Konrad Rzeszutek Wilk [Wed, 19 Sep 2012 15:02:09 +0000 (11:02 -0400)]
Merge branch 'stable/xen-pciback-0.6.3.bugfixes' into uek2-merge

* stable/xen-pciback-0.6.3.bugfixes:
  xen-pciback: support wild cards in slot specifications
  xen/pciback: Fix proper FLR steps.

12 years agoxen-pciback: support wild cards in slot specifications
Jan Beulich [Tue, 18 Sep 2012 11:29:03 +0000 (12:29 +0100)]
xen-pciback: support wild cards in slot specifications

Particularly for hiding sets of SR-IOV devices, specifying them all
individually is rather cumbersome. Therefore, allow function and slot
numbers to be replaced by a wildcard character ('*').

Unfortunately this gets complicated by the in-kernel sscanf()
implementation not being really standard conformant - matching of
plain text tails cannot be checked by the caller (a patch to overcome
this will be sent shortly, and a follow-up patch for simplifying the
code is planned to be sent when that fixed went upstream).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit c3cb4709809e655a4ba5a716086c8bc5bbbbccdb)

12 years agoxen/boot: Disable BIOS SMP MP table search.
Konrad Rzeszutek Wilk [Wed, 19 Sep 2012 12:30:55 +0000 (08:30 -0400)]
xen/boot: Disable BIOS SMP MP table search.

As the initial domain we are able to search/map certain regions
of memory to harvest configuration data. For all low-level we
use ACPI tables - for interrupts we use exclusively ACPI _PRT
(so DSDT) and MADT for INT_SRC_OVR.

The SMP MP table is not used at all. As a matter of fact we do
not even support machines that only have SMP MP but no ACPI tables.

Lets follow how Moorestown does it and just disable searching
for BIOS SMP tables.

This also fixes an issue on HP Proliant BL680c G5 and DL380 G6:

9f->100 for 1:1 PTE
Freeing 9f-100 pfn range: 97 pages freed
1-1 mapping on 9f->100
.. snip..
e820: BIOS-provided physical RAM map:
Xen: [mem 0x0000000000000000-0x000000000009efff] usable
Xen: [mem 0x000000000009f400-0x00000000000fffff] reserved
Xen: [mem 0x0000000000100000-0x00000000cfd1dfff] usable
.. snip..
Scan for SMP in [mem 0x00000000-0x000003ff]
Scan for SMP in [mem 0x0009fc00-0x0009ffff]
Scan for SMP in [mem 0x000f0000-0x000fffff]
found SMP MP-table at [mem 0x000f4fa0-0x000f4faf] mapped at [ffff8800000f4fa0]
(XEN) mm.c:908:d0 Error getting mfn 100 (pfn 5555555555555555) from L1 entry 0000000000100461 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4995:d0 ptwr_emulate: could not get_page_from_l1e()
BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<ffffffff81ac07e2>] xen_set_pte_init+0x66/0x71
. snip..
Pid: 0, comm: swapper Not tainted 3.6.0-rc6upstream-00188-gb6fb969-dirty #2 HP ProLiant BL680c G5
.. snip..
Call Trace:
 [<ffffffff81ad31c6>] __early_ioremap+0x18a/0x248
 [<ffffffff81624731>] ? printk+0x48/0x4a
 [<ffffffff81ad32ac>] early_ioremap+0x13/0x15
 [<ffffffff81acc140>] get_mpc_size+0x2f/0x67
 [<ffffffff81acc284>] smp_scan_config+0x10c/0x136
 [<ffffffff81acc2e4>] default_find_smp_config+0x36/0x5a
 [<ffffffff81ac3085>] setup_arch+0x5b3/0xb5b
 [<ffffffff81624731>] ? printk+0x48/0x4a
 [<ffffffff81abca7f>] start_kernel+0x90/0x390
 [<ffffffff81abc356>] x86_64_start_reservations+0x131/0x136
 [<ffffffff81abfa83>] xen_start_kernel+0x65f/0x661
(XEN) Domain 0 crashed: 'noreboot' set - not rebooting.

which is that ioremap would end up mapping 0xff using _PAGE_IOMAP
(which is what early_ioremap sticks as a flag) - which meant
we would get MFN 0xFF (pte ff461, which is OK), and then it would
also map 0x100 (b/c ioremap tries to get page aligned request, and
it was trying to map 0xf4fa0 + PAGE_SIZE - so it mapped the next page)
as _PAGE_IOMAP. Since 0x100 is actually a RAM page, and the _PAGE_IOMAP
bypasses the P2M lookup we would happily set the PTE to 1000461.
Xen would deny the request since we do not have access to the
Machine Frame Number (MFN) of 0x100. The P2M[0x100] is for example
0x80140.

CC: stable@kernel.org
Fixes-Oracle-Bugzilla: https://bugzilla.oracle.com/bugzilla/show_bug.cgi?id=13665
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit c205ce318b53a73340cad92a14297d213f2f679e)

Conflicts:

arch/x86/xen/enlighten.c

12 years agoxen/m2p: do not reuse kmap_op->dev_bus_addr
Stefano Stabellini [Wed, 12 Sep 2012 11:44:30 +0000 (12:44 +0100)]
xen/m2p: do not reuse kmap_op->dev_bus_addr

If the caller passes a valid kmap_op to m2p_add_override, we use
kmap_op->dev_bus_addr to store the original mfn, but dev_bus_addr is
part of the interface with Xen and if we are batching the hypercalls it
might not have been written by the hypervisor yet. That means that later
on Xen will write to it and we'll think that the original mfn is
actually what Xen has written to it.

Rather than "stealing" struct members from kmap_op, keep using
page->index to store the original mfn and add another parameter to
m2p_remove_override to get the corresponding kmap_op instead.
It is now responsibility of the caller to keep track of which kmap_op
corresponds to a particular page in the m2p_override (gntdev, the only
user of this interface that passes a valid kmap_op, is already doing that).

CC: stable@kernel.org
Reported-and-Tested-By: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit 2fc136eecd0c647a6b13fcd00d0c41a1a28f35a5)

12 years agoxen/pciback: Fix proper FLR steps.
Konrad Rzeszutek Wilk [Wed, 5 Sep 2012 20:35:20 +0000 (16:35 -0400)]
xen/pciback: Fix proper FLR steps.

When we do FLR and save PCI config we did it in the wrong order.
The end result was that if a PCI device was unbind from
its driver, then binded to xen-pciback, and then back to its
driver we would get:

> lspci -s 04:00.0
04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
13:42:12 # 4 :~/
> echo "0000:04:00.0" > /sys/bus/pci/drivers/pciback/unbind
> modprobe e1000e
e1000e: Intel(R) PRO/1000 Network Driver - 2.0.0-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
e1000e 0000:04:00.0: Disabling ASPM L0s L1
e1000e 0000:04:00.0: enabling device (0000 -> 0002)
xen: registering gsi 48 triggering 0 polarity 1
Already setup the GSI :48
e1000e 0000:04:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
e1000e: probe of 0000:04:00.0 failed with error -2

This fixes it by first saving the PCI configuration space, then
doing the FLR.

Reported-by: Ren, Yongjie <yongjie.ren@intel.com>
Reported-and-Tested-by: Tobias Geiger <tobias.geiger@vido.info>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: stable@vger.kernel.org
(cherry picked from commit 80ba77dfbce85f2d1be54847de3c866de1b18a9a)

12 years agoxen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.
Konrad Rzeszutek Wilk [Fri, 17 Aug 2012 20:43:28 +0000 (16:43 -0400)]
xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.

When we are finished with return PFNs to the hypervisor, then
populate it back, and also mark the E820 MMIO and E820 gaps
as IDENTITY_FRAMEs, we then call P2M to set areas that can
be used for ballooning. We were off by one, and ended up
over-writting a P2M entry that most likely was an IDENTITY_FRAME.
For example:

1-1 mapping on 40000->40200
1-1 mapping on bc558->bc5ac
1-1 mapping on bc5b4->bc8c5
1-1 mapping on bc8c6->bcb7c
1-1 mapping on bcd00->100000
Released 614 pages of unused memory
Set 277889 page(s) to 1-1 mapping
Populating 40200-40466 pfn range: 614 pages added

=> here we set from 40466 up to bc559 P2M tree to be
INVALID_P2M_ENTRY. We should have done it up to bc558.

The end result is that if anybody is trying to construct
a PTE for PFN bc558 they end up with ~PAGE_PRESENT.

CC: stable@vger.kernel.org
Reported-by-and-Tested-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit c96aae1f7f393387d160211f60398d58463a7e65)

12 years agoSPEC: v2.6.39-300.8.0
Guru Anbalagane [Wed, 12 Sep 2012 23:45:50 +0000 (16:45 -0700)]
SPEC: v2.6.39-300.8.0
Signed-off-by: Guru Anbalagane <guru.anbalagane@oracle.com>
12 years agoocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
Xiaowei.Hu [Wed, 12 Sep 2012 07:40:06 +0000 (15:40 +0800)]
ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path

from ocfs2-devel
Reported-and-Tested-by: Vincent Etienne <vetienne@aprogsys.com>
Signed-off-by: Sunil Mushran <sunil.mushran@gmail.com>
12 years agoSPEC: v2.6.39-300.7.0
Maxim Uvarov [Thu, 6 Sep 2012 16:15:10 +0000 (09:15 -0700)]
SPEC: v2.6.39-300.7.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
12 years agoMerge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public
Maxim Uvarov [Thu, 6 Sep 2012 14:52:06 +0000 (07:52 -0700)]
Merge branch 'uek2-merge' of git://ca-git.us.oracle.com/linux-konrad-public

12 years agoMerge branch 'uek2-2.6.39-300-lpfc-update' of git://ca-git.us.oracle.com/linux-snits...
Maxim Uvarov [Thu, 6 Sep 2012 14:46:42 +0000 (07:46 -0700)]
Merge branch 'uek2-2.6.39-300-lpfc-update' of git://ca-git.us.oracle.com/linux-snits-public

12 years agohtrimer: fix kabi break.
Joe Jin [Tue, 28 Aug 2012 11:57:55 +0000 (19:57 +0800)]
htrimer: fix kabi break.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotimekeeping: Add missing update call in timekeeping_resume()
Thomas Gleixner [Tue, 17 Jul 2012 17:33:58 +0000 (13:33 -0400)]
timekeeping: Add missing update call in timekeeping_resume()

This is a backport of 3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0

The leap second rework unearthed another issue of inconsistent data.

On timekeeping_resume() the timekeeper data is updated, but nothing
calls timekeeping_update(), so now the update code in the timer
interrupt sees stale values.

This has been the case before those changes, but then the timer
interrupt was using stale data as well so this went unnoticed for quite
some time.

Add the missing update call, so all the data is consistent everywhere.

Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Reported-and-tested-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Reported-and-tested-by: Martin Steigerwald <Martin@lichtvoll.de>
Cc: John Stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Cc: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0851978b661f25192ff763289698f3175b1bab42)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agohrtimer: Update hrtimer base offsets each hrtimer_interrupt
John Stultz [Tue, 17 Jul 2012 17:33:57 +0000 (13:33 -0400)]
hrtimer: Update hrtimer base offsets each hrtimer_interrupt

This is a backport of 5baefd6d84163443215f4a99f6a20f054ef11236

The update of the hrtimer base offsets on all cpus cannot be made
atomically from the timekeeper.lock held and interrupt disabled region
as smp function calls are not allowed there.

clock_was_set(), which enforces the update on all cpus, is called
either from preemptible process context in case of do_settimeofday()
or from the softirq context when the offset modification happened in
the timer interrupt itself due to a leap second.

In both cases there is a race window for an hrtimer interrupt between
dropping timekeeper lock, enabling interrupts and clock_was_set()
issuing the updates. Any interrupt which arrives in that window will
see the new time but operate on stale offsets.

So we need to make sure that an hrtimer interrupt always sees a
consistent state of time and offsets.

ktime_get_update_offsets() allows us to get the current monotonic time
and update the per cpu hrtimer base offsets from hrtimer_interrupt()
to capture a consistent state of monotonic time and the offsets. The
function replaces the existing ktime_get() calls in hrtimer_interrupt().

The overhead of the new function vs. ktime_get() is minimal as it just
adds two store operations.

This ensures that any changes to realtime or boottime offsets are
noticed and stored into the per-cpu hrtimer base structures, prior to
any hrtimer expiration and guarantees that timers are not expired early.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1341960205-56738-8-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit bb6ed34f2a6eeb40608b8ca91f3ec90ec9dca26f)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotimekeeping: Provide hrtimer update function
Thomas Gleixner [Tue, 17 Jul 2012 17:33:56 +0000 (13:33 -0400)]
timekeeping: Provide hrtimer update function

This is a backport of f6c06abfb3972ad4914cef57d8348fcb2932bc3b

To finally fix the infamous leap second issue and other race windows
caused by functions which change the offsets between the various time
bases (CLOCK_MONOTONIC, CLOCK_REALTIME and CLOCK_BOOTTIME) we need a
function which atomically gets the current monotonic time and updates
the offsets of CLOCK_REALTIME and CLOCK_BOOTTIME with minimalistic
overhead. The previous patch which provides ktime_t offsets allows us
to make this function almost as cheap as ktime_get() which is going to
be replaced in hrtimer_interrupt().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Link: http://lkml.kernel.org/r/1341960205-56738-7-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 22f4bbcfb131e2392c78ad67af35fdd436d4dd54)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agohrtimers: Move lock held region in hrtimer_interrupt()
Thomas Gleixner [Tue, 17 Jul 2012 17:33:55 +0000 (13:33 -0400)]
hrtimers: Move lock held region in hrtimer_interrupt()

This is a backport of 196951e91262fccda81147d2bcf7fdab08668b40

We need to update the base offsets from this code and we need to do
that under base->lock. Move the lock held region around the
ktime_get() calls. The ktime_get() calls are going to be replaced with
a function which gets the time and the offsets atomically.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Link: http://lkml.kernel.org/r/1341960205-56738-6-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 6c89f2ce05ea7e26a7580ad9eb950f2c4f10891b)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotimekeeping: Maintain ktime_t based offsets for hrtimers
Thomas Gleixner [Tue, 17 Jul 2012 17:33:54 +0000 (13:33 -0400)]
timekeeping: Maintain ktime_t based offsets for hrtimers

This is a backport of 5b9fe759a678e05be4937ddf03d50e950207c1c0

We need to update the hrtimer clock offsets from the hrtimer interrupt
context. To avoid conversions from timespec to ktime_t maintain a
ktime_t based representation of those offsets in the timekeeper. This
puts the conversion overhead into the code which updates the
underlying offsets and provides fast accessible values in the hrtimer
interrupt.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1341960205-56738-4-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 03a90b9a6f7eec70edde4eb1f88fa8a5c058d85e)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotimekeeping: Fix leapsecond triggered load spike issue
John Stultz [Tue, 17 Jul 2012 17:33:53 +0000 (13:33 -0400)]
timekeeping: Fix leapsecond triggered load spike issue

This is a backport of 4873fa070ae84a4115f0b3c9dfabc224f1bc7c51

The timekeeping code misses an update of the hrtimer subsystem after a
leap second happened. Due to that timers based on CLOCK_REALTIME are
either expiring a second early or late depending on whether a leap
second has been inserted or deleted until an operation is initiated
which causes that update. Unless the update happens by some other
means this discrepancy between the timekeeping and the hrtimer data
stays forever and timers are expired either early or late.

The reported immediate workaround - $ data -s "`date`" - is causing a
call to clock_was_set() which updates the hrtimer data structures.
See: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix

Add the missing clock_was_set() call to update_wall_time() in case of
a leap second event. The actual update is deferred to softirq context
as the necessary smp function call cannot be invoked from hard
interrupt context.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Reported-by: Jan Engelhardt <jengelh@inai.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d21e4baf4523fec26e3c70cb78b013ad3b245c83)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agohrtimer: Provide clock_was_set_delayed()
John Stultz [Tue, 17 Jul 2012 17:33:52 +0000 (13:33 -0400)]
hrtimer: Provide clock_was_set_delayed()

This is a backport of f55a6faa384304c89cfef162768e88374d3312cb

clock_was_set() cannot be called from hard interrupt context because
it calls on_each_cpu().

For fixing the widely reported leap seconds issue it is necessary to
call it from hard interrupt context, i.e. the timer tick code, which
does the timekeeping updates.

Provide a new function which denotes it in the hrtimer cpu base
structure of the cpu on which it is called and raise the hrtimer
softirq. We then execute the clock_was_set() notificiation from
softirq context in run_hrtimer_softirq(). The hrtimer softirq is
rarely used, so polling the flag there is not a performance issue.

[ tglx: Made it depend on CONFIG_HIGH_RES_TIMERS. We really should get
  rid of all this ifdeffery ASAP ]

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Reported-by: Jan Engelhardt <jengelh@inai.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1341960205-56738-2-git-send-email-johnstul@us.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 62b787f886e2d96cc7c5428aeee05dbe32a9531b)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotime: Move common updates to a function
Thomas Gleixner [Tue, 17 Jul 2012 17:33:51 +0000 (13:33 -0400)]
time: Move common updates to a function

This is a backport of cc06268c6a87db156af2daed6e96a936b955cc82

While not a bugfix itself, it allows following fixes to backport
in a more straightforward manner.

CC: Thomas Gleixner <tglx@linutronix.de>
CC: Eric Dumazet <eric.dumazet@gmail.com>
CC: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c7e2580578671c4d19a1a83e6fdb2482cc136283)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agotimekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond
John Stultz [Tue, 17 Jul 2012 17:33:50 +0000 (13:33 -0400)]
timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond

This is a backport of fad0c66c4bb836d57a5f125ecd38bed653ca863a
which resolves a bug the previous commit.

Commit 6b43ae8a61 (ntp: Fix leap-second hrtimer livelock) broke the
leapsecond update of CLOCK_MONOTONIC. The missing leapsecond update to
wall_to_monotonic causes discontinuities in CLOCK_MONOTONIC.

Adjust wall_to_monotonic when NTP inserted a leapsecond.

Reported-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Tested-by: Richard Cochran <richardcochran@gmail.com>
Link: http://lkml.kernel.org/r/1338400497-12420-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c33f2424c3941986d402c81d380d4e805870a20f)
Conflicts:
kernel/time/timekeeping.c

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agontp: Correct TAI offset during leap second
Richard Cochran [Tue, 17 Jul 2012 17:33:49 +0000 (13:33 -0400)]
ntp: Correct TAI offset during leap second

This is a backport of dd48d708ff3e917f6d6b6c2b696c3f18c019feed

When repeating a UTC time value during a leap second (when the UTC
time should be 23:59:60), the TAI timescale should not stop. The kernel
NTP code increments the TAI offset one second too late. This patch fixes
the issue by incrementing the offset during the leap second itself.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 96bab736bad82423c2b312d602689a9078481fa9)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agoRevert "3.0.x: hrtimer: Fix clock_was_set so it is safe to call from irq context"
Joe Jin [Tue, 28 Aug 2012 10:13:13 +0000 (18:13 +0800)]
Revert "3.0.x: hrtimer: Fix clock_was_set so it is safe to call from irq context"

This reverts commit c51e012012e48ca262d4b489e33bc113bb5ac74d.

12 years agoRevert "3.0.x: time: Fix leapsecond triggered hrtimer/futex load spike issue"
Joe Jin [Tue, 28 Aug 2012 10:13:11 +0000 (18:13 +0800)]
Revert "3.0.x: time: Fix leapsecond triggered hrtimer/futex load spike issue"

This reverts commit aac67aba83c32bd03f4b59bdd932a076afbee089.

12 years agoRevert "3.0.x: hrtimer: Update hrtimer base offsets each hrtimer_interrupt"
Joe Jin [Tue, 28 Aug 2012 10:13:05 +0000 (18:13 +0800)]
Revert "3.0.x: hrtimer: Update hrtimer base offsets each hrtimer_interrupt"

This reverts commit 54b16ee687c86dfd6c94e49bdaa1535a3bf3cc9f.

12 years agoscsi/lpfc: Resolve spinlock issue
Vaios Papadimitriou [Wed, 5 Sep 2012 19:20:32 +0000 (12:20 -0700)]
scsi/lpfc: Resolve spinlock issue

Modify lpfc_scsi_cmd_iocb_cmpl() and lpfc_abort_handler() to use
spin_lock_irqsave/spin_unlock_irqrestore to lock phba->hbalock.

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Update lpfc version for 8.3.5.82.2p driver release
Vaios Papadimitriou [Tue, 28 Aug 2012 23:04:27 +0000 (16:04 -0700)]
scsi/lpfc: Update lpfc version for 8.3.5.82.2p driver release

commit id: None

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix null pointer error for piocbq
Vaios Papadimitriou [Tue, 28 Aug 2012 23:03:38 +0000 (16:03 -0700)]
scsi/lpfc: Fix null pointer error for piocbq

commit id: a629852ab810015223eec7a2f31a6bd5f93c83cf

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Add missing jumps to mempool_free to fix potential memory leak
Vaios Papadimitriou [Tue, 28 Aug 2012 23:03:13 +0000 (16:03 -0700)]
scsi/lpfc: Add missing jumps to mempool_free to fix potential memory leak

commit id: 4f4c18634d2a05079194ba333c7882349f25d6f7

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed leaking memory from pci dma pool
Vaios Papadimitriou [Tue, 28 Aug 2012 23:02:43 +0000 (16:02 -0700)]
scsi/lpfc: Fixed leaking memory from pci dma pool

commit id: http://marc.info/?l=linux-scsi&m=134496910830011

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Logged XRI of the SCSI command to be aborted on abort handler timeout
Vaios Papadimitriou [Tue, 28 Aug 2012 23:02:15 +0000 (16:02 -0700)]
scsi/lpfc: Logged XRI of the SCSI command to be aborted on abort handler timeout

commit id: http://marc.info/?l=linux-scsi&m=134496908630003

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver logging too many fcp underrun messages
Vaios Papadimitriou [Tue, 28 Aug 2012 23:01:45 +0000 (16:01 -0700)]
scsi/lpfc: Fix bug with driver logging too many fcp underrun messages

commit id: http://marc.info/?l=linux-scsi&m=134496907930001

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed unnecessary SCSI device reset escalation due to LLD handling of...
Vaios Papadimitriou [Tue, 28 Aug 2012 23:01:10 +0000 (16:01 -0700)]
scsi/lpfc: Fixed unnecessary SCSI device reset escalation due to LLD handling of I/O abort

commit id: http://marc.info/?l=linux-scsi&m=134496910030010

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed system panic due to midlayer abort and driver complete race on SCSI cmd
Vaios Papadimitriou [Tue, 28 Aug 2012 23:00:44 +0000 (16:00 -0700)]
scsi/lpfc: Fixed system panic due to midlayer abort and driver complete race on SCSI cmd

commit id: 4f2e66c6d225a14fcf77d826fe71f6137cb27352

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix unable to create vports on FCoE SLI4 adapter
Vaios Papadimitriou [Tue, 28 Aug 2012 23:00:20 +0000 (16:00 -0700)]
scsi/lpfc: Fix unable to create vports on FCoE SLI4 adapter

commit id: a7dd9c0f44966b4328b52c5e32f8c3345e3482e5

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix BlockGuard lpfc_printf_vlog messages
Vaios Papadimitriou [Tue, 28 Aug 2012 22:59:53 +0000 (15:59 -0700)]
scsi/lpfc: Fix BlockGuard lpfc_printf_vlog messages

commit id: http://marc.info/?l=linux-scsi&m=134496906329998

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix parameter field in CQE to mask for LOCAL_REJECT status
Vaios Papadimitriou [Tue, 28 Aug 2012 22:59:25 +0000 (15:59 -0700)]
scsi/lpfc: Fix parameter field in CQE to mask for LOCAL_REJECT status

commit id: http://marc.info/?l=linux-scsi&m=134496905829996

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed new requirement compatibility with Resource and Capacity Descriptors
Vaios Papadimitriou [Tue, 28 Aug 2012 22:58:52 +0000 (15:58 -0700)]
scsi/lpfc: Fixed new requirement compatibility with Resource and Capacity Descriptors

commit id: http://marc.info/?l=linux-scsi&m=134496904429993

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed incomplete list of SLI4 commands with extended 300 second timeout...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:58:28 +0000 (15:58 -0700)]
scsi/lpfc: Fixed incomplete list of SLI4 commands with extended 300 second timeout value

commit id: http://marc.info/?l=linux-scsi&m=134401210706394

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix switching ports on Fabric causing additional fc_host rport entries
Vaios Papadimitriou [Tue, 28 Aug 2012 22:58:03 +0000 (15:58 -0700)]
scsi/lpfc: Fix switching ports on Fabric causing additional fc_host rport entries

commit id: http://marc.info/?l=linux-scsi&m=134401198306327

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix conflicts in log message numbers
Vaios Papadimitriou [Tue, 28 Aug 2012 22:57:39 +0000 (15:57 -0700)]
scsi/lpfc: Fix conflicts in log message numbers

commit id: http://marc.info/?l=linux-scsi&m=134401198306327

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed kernel panic after scsi_eh escalation by checking the proper return...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:57:17 +0000 (15:57 -0700)]
scsi/lpfc: Fixed kernel panic after scsi_eh escalation by checking the proper return status

commit id: http://marc.info/?l=linux-scsi&m=134401197206322

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix driver not checking data transfered on write commands
Vaios Papadimitriou [Tue, 28 Aug 2012 22:56:41 +0000 (15:56 -0700)]
scsi/lpfc: Fix driver not checking data transfered on write commands

commit id: http://marc.info/?l=linux-scsi&m=134401196206316

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with message 2520 appearing in the messages file
Vaios Papadimitriou [Tue, 28 Aug 2012 22:56:11 +0000 (15:56 -0700)]
scsi/lpfc: Fix bug with message 2520 appearing in the messages file

commit id: http://marc.info/?l=linux-scsi&m=134401194806312

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with rrq_pool not being destroyed during driver removal
Vaios Papadimitriou [Tue, 28 Aug 2012 22:55:47 +0000 (15:55 -0700)]
scsi/lpfc: Fix bug with rrq_pool not being destroyed during driver removal

commit id: http://marc.info/?l=linux-scsi&m=134401193306311

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix Driver not attaching to OCe14000 adapters
Vaios Papadimitriou [Tue, 28 Aug 2012 22:55:13 +0000 (15:55 -0700)]
scsi/lpfc: Fix Driver not attaching to OCe14000 adapters

commit id: http://marc.info/?l=linux-scsi&m=134401245106524

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver not setting the diag set valid bit for loopback testing
Vaios Papadimitriou [Tue, 28 Aug 2012 22:54:45 +0000 (15:54 -0700)]
scsi/lpfc: Fix bug with driver not setting the diag set valid bit for loopback testing

commit id: http://marc.info/?l=linux-scsi&m=134401185006275

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver does not reporting misconfigured ports for Ganymede
Vaios Papadimitriou [Tue, 28 Aug 2012 22:54:20 +0000 (15:54 -0700)]
scsi/lpfc: Fix bug with driver does not reporting misconfigured ports for Ganymede

commit id: 4b8bae08b296a1199ef40f21ea7f4685b2c56ec7

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix System Panic During IO Test using Medusa tool
Vaios Papadimitriou [Tue, 28 Aug 2012 22:53:54 +0000 (15:53 -0700)]
scsi/lpfc: Fix System Panic During IO Test using Medusa tool

commit id: 6b415f5d6c05eb7f4808e98baf539c5dbc53cdbc

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix fcp_imax module parameter to dynamically change FCP EQ delay multiplier
Vaios Papadimitriou [Tue, 28 Aug 2012 22:53:24 +0000 (15:53 -0700)]
scsi/lpfc: Fix fcp_imax module parameter to dynamically change FCP EQ delay multiplier

commit id: 173edbb2c326ce4839bae8caa868fe83ce46dda3

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix successful aborts returning incorrect status
Vaios Papadimitriou [Tue, 28 Aug 2012 22:52:36 +0000 (15:52 -0700)]
scsi/lpfc: Fix successful aborts returning incorrect status

commit id: 3a70730aa06c37d46086ecdbca7107531fe2d2c5

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed system held-up when performing resource provsion through same PCI...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:51:44 +0000 (15:51 -0700)]
scsi/lpfc: Fixed system held-up when performing resource provsion through same PCI function

commit id: 618a5230b8fa62bc7901b8b754b4379b3fcfa0f9

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed debug helper routine failed to dump CQ and EQ entries in non-MSI...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:51:06 +0000 (15:51 -0700)]
scsi/lpfc: Fixed debug helper routine failed to dump CQ and EQ entries in non-MSI-X mode

commit id: 3b3da6a974357887c73c5ee61988dbe3a8f62d88

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed system crash due to not providing SCSI error-handling host reset...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:50:32 +0000 (15:50 -0700)]
scsi/lpfc: Fixed system crash due to not providing SCSI error-handling host reset handler

commit id: 27b01b821f136e657c28078007a865a307816c1a

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver using the wrong xritag when sending an els echo
Vaios Papadimitriou [Tue, 28 Aug 2012 22:49:43 +0000 (15:49 -0700)]
scsi/lpfc: Fix bug with driver using the wrong xritag when sending an els echo

commit id: 93d1379e6924daef1968779d97c46ba2e0915fd2

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Increment capability to dump various SLI4 queues via debug helper routines
Vaios Papadimitriou [Tue, 28 Aug 2012 22:48:48 +0000 (15:48 -0700)]
scsi/lpfc: Increment capability to dump various SLI4 queues via debug helper routines

commit id: 809c75368d94d73c1fb4f1e6e3578ae3b5b72b1c

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix unsol abts xri lookup
Vaios Papadimitriou [Tue, 28 Aug 2012 22:48:00 +0000 (15:48 -0700)]
scsi/lpfc: Fix unsol abts xri lookup

commit id: ee0f4fe17b0fda87c7f4eb3ec6e96ef8291419bd

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Bug fixes for LPe16000 to LPe16000 discovery (CR 130446)
Vaios Papadimitriou [Tue, 28 Aug 2012 22:47:20 +0000 (15:47 -0700)]
scsi/lpfc: Bug fixes for LPe16000 to LPe16000 discovery (CR 130446)

commit id: 939723a4a680a7863fc95179b1480c5529f31d88

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Reregister VPI for SLI3 after cable moved to new 8Gb FC Adapter port
Vaios Papadimitriou [Tue, 28 Aug 2012 22:46:46 +0000 (15:46 -0700)]
scsi/lpfc: Reregister VPI for SLI3 after cable moved to new 8Gb FC Adapter port

commit id: 27aa1b73539f2c7118a68c9baaad590d3a92462f

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix driver crash during back-to-back ramp events
Vaios Papadimitriou [Tue, 28 Aug 2012 22:46:21 +0000 (15:46 -0700)]
scsi/lpfc: Fix driver crash during back-to-back ramp events

commit id: 75ad83a452116c00c092bdc4c842c4401cd24080

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix log message 2597 displayed when no error is detected
Vaios Papadimitriou [Tue, 28 Aug 2012 22:45:21 +0000 (15:45 -0700)]
scsi/lpfc: Fix log message 2597 displayed when no error is detected

commit id: cc459f19e32bdc783f9f0ce5c872c1ff399e3e82

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Address FCP LOG support for Finisar trace correlation
Vaios Papadimitriou [Tue, 28 Aug 2012 22:44:58 +0000 (15:44 -0700)]
scsi/lpfc: Address FCP LOG support for Finisar trace correlation

commit id: 5a0d80fc0dd3c134d42df34e66e0f5fc91261b53

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix kernel panic when going into to sleep state
Vaios Papadimitriou [Tue, 28 Aug 2012 22:44:18 +0000 (15:44 -0700)]
scsi/lpfc: Fix kernel panic when going into to sleep state

commit id: 043c956f50ee9e19a02a681cdf198b0b964cf772

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix error message displayed even when not an error
Vaios Papadimitriou [Tue, 28 Aug 2012 22:43:46 +0000 (15:43 -0700)]
scsi/lpfc: Fix error message displayed even when not an error

commit id: 81378052645b137e9973aa5e5b2bc0ddd69023d8

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix Read Link status data
Vaios Papadimitriou [Tue, 28 Aug 2012 22:43:01 +0000 (15:43 -0700)]
scsi/lpfc: Fix Read Link status data

commit id: 37db57e32bd1b00170fdd38ab36a7f2acdd7557c

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix initiator sending flogi after acking flogi from target
Vaios Papadimitriou [Tue, 28 Aug 2012 22:42:33 +0000 (15:42 -0700)]
scsi/lpfc: Fix initiator sending flogi after acking flogi from target

commit id: e64464391d39b69c950d3645f001eb1af7a8bfd0

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver not supporting the get controller attributes command
Vaios Papadimitriou [Tue, 28 Aug 2012 22:41:58 +0000 (15:41 -0700)]
scsi/lpfc: Fix bug with driver not supporting the get controller attributes command

commit id: b99570dd63757834cd0c21e1b117c857af90a04a

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Incremented capability for handling SLI4-port XRI resource-provisioning...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:41:27 +0000 (15:41 -0700)]
scsi/lpfc: Incremented capability for handling SLI4-port XRI resource-provisioning profile change

commit id: 8a9d2e8003040d2e1cd24ac5e83bb30b68f7f488

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Sync driver base with upstream code
Vaios Papadimitriou [Tue, 28 Aug 2012 22:41:00 +0000 (15:41 -0700)]
scsi/lpfc: Sync driver base with upstream code

commit id: None

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Change default DA_ID support from disabled to enabled
Vaios Papadimitriou [Tue, 28 Aug 2012 22:40:30 +0000 (15:40 -0700)]
scsi/lpfc: Change default DA_ID support from disabled to enabled

commit id: cf9712403f384f9e832f489e7f41ab535c8f1a74

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix bug with driver unload leaving a scsi host for a vport around
Vaios Papadimitriou [Tue, 28 Aug 2012 22:39:34 +0000 (15:39 -0700)]
scsi/lpfc: Fix bug with driver unload leaving a scsi host for a vport around

commit id: bdcd2b926192c7f690a9cb4fb2de30eb820983fc

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Incremented capability for T10 DIF debugfs error injection (CR 123966)
Vaios Papadimitriou [Tue, 28 Aug 2012 22:37:54 +0000 (15:37 -0700)]
scsi/lpfc: Incremented capability for T10 DIF debugfs error injection (CR 123966)

commit id: 4ac9b22625333f9d86c01df702c83d2dfe732131

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Update copyright date for files modified in 2012
Vaios Papadimitriou [Tue, 28 Aug 2012 22:36:58 +0000 (15:36 -0700)]
scsi/lpfc: Update copyright date for files modified in 2012

commit id: d85296cfddb0a4702bc9b05a6f288516b0adb6ba

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Refine T10 DIF debugfs error injection capability for verification usage...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:36:29 +0000 (15:36 -0700)]
scsi/lpfc: Refine T10 DIF debugfs error injection capability for verification usage (CR 123966)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Update copyright date for files modified in 2012
Vaios Papadimitriou [Tue, 28 Aug 2012 22:35:53 +0000 (15:35 -0700)]
scsi/lpfc: Update copyright date for files modified in 2012

commit id: d85296cfddb0a4702bc9b05a6f288516b0adb6ba

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Make BA_ACC work on a fully qualified exchange (CR 126289)
Vaios Papadimitriou [Tue, 28 Aug 2012 22:35:08 +0000 (15:35 -0700)]
scsi/lpfc: Make BA_ACC work on a fully qualified exchange (CR 126289)

commit id: f09c3acc451670a6f635a45acc6bdf4dc7ef2a4b

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix KERNEL allocation while lock held
Vaios Papadimitriou [Tue, 28 Aug 2012 22:34:26 +0000 (15:34 -0700)]
scsi/lpfc: Fix KERNEL allocation while lock held

commit id: b42c07c8ade6ae9d74f0fd01638760650b049cdd

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Incorrect usage of bghm for BlockGuard errors (CR 127022)
Vaios Papadimitriou [Tue, 28 Aug 2012 22:33:50 +0000 (15:33 -0700)]
scsi/lpfc: Incorrect usage of bghm for BlockGuard errors (CR 127022)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed capability to inject T10 DIF errors via debugfs (CR 123966)
Vaios Papadimitriou [Tue, 28 Aug 2012 22:33:08 +0000 (15:33 -0700)]
scsi/lpfc: Fixed capability to inject T10 DIF errors via debugfs (CR 123966)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fix SLI4 BlockGuard behavior when protection data is generated by HBA...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:32:19 +0000 (15:32 -0700)]
scsi/lpfc: Fix SLI4 BlockGuard behavior when protection data is generated by HBA (CR 121980)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed driver logging in area of SLI4 port error attention and reset recovery
Vaios Papadimitriou [Tue, 28 Aug 2012 22:31:25 +0000 (15:31 -0700)]
scsi/lpfc: Fixed driver logging in area of SLI4 port error attention and reset recovery

commit id: 6b5151fd7baec6812fece993ddd7a2cf9fd0125f

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed the ability to process T10 DIF/Blockguard with SLI4 16Gb FC Adapters...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:30:55 +0000 (15:30 -0700)]
scsi/lpfc: Fixed the ability to process T10 DIF/Blockguard with SLI4 16Gb FC Adapters (CR 121980)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Fixed the ability to process T10 DIF/Blockguard with SLI4 16Gb FC Adapters...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:30:16 +0000 (15:30 -0700)]
scsi/lpfc: Fixed the ability to process T10 DIF/Blockguard with SLI4 16Gb FC Adapters (CR 121980)

commit id: acd6859b084d1e1b3ec8bc9befe6532223260d33

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoscsi/lpfc: Merge from upstream: scsi: Fix up files implicitly depending on module...
Vaios Papadimitriou [Tue, 28 Aug 2012 22:29:09 +0000 (15:29 -0700)]
scsi/lpfc: Merge from upstream: scsi: Fix up files implicitly depending on module.h inclusion

commit id: acf3368ffb75fc4a83726655d697e79646fe4eb3

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoMerge branch 'stable/for-linus-3.7.rebased' into uek2-merge
Konrad Rzeszutek Wilk [Tue, 4 Sep 2012 21:12:02 +0000 (17:12 -0400)]
Merge branch 'stable/for-linus-3.7.rebased' into uek2-merge

* stable/for-linus-3.7.rebased:
  xen/p2m: Fix one by off error in checking the P2M tree directory.

12 years agoxen/p2m: Fix one by off error in checking the P2M tree directory.
Konrad Rzeszutek Wilk [Tue, 4 Sep 2012 19:45:17 +0000 (15:45 -0400)]
xen/p2m: Fix one by off error in checking the P2M tree directory.

We would traverse the full P2M top directory (from 0->MAX_DOMAIN_PAGES
inclusive) when trying to figure out whether we can re-use some of the
P2M middle leafs.

Which meant that if the kernel was compiled with MAX_DOMAIN_PAGES=512
we would try to use the 512th entry. Fortunately for us the p2m_top_index
has a check for this:

 BUG_ON(pfn >= MAX_P2M_PFN);

which we hit and saw this:

(XEN) domain_crash_sync called from entry.S
(XEN) Domain 0 (vcpu#0) crashed on cpu#0:
(XEN) ----[ Xen-4.1.2-OVM  x86_64  debug=n  Tainted:    C ]----
(XEN) CPU:    0
(XEN) RIP:    e033:[<ffffffff819cadeb>]
(XEN) RFLAGS: 0000000000000212   EM: 1   CONTEXT: pv guest
(XEN) rax: ffffffff81db5000   rbx: ffffffff81db4000   rcx: 0000000000000000
(XEN) rdx: 0000000000480211   rsi: 0000000000000000   rdi: ffffffff81db4000
(XEN) rbp: ffffffff81793db8   rsp: ffffffff81793d38   r8:  0000000008000000
(XEN) r9:  4000000000000000   r10: 0000000000000000   r11: ffffffff81db7000
(XEN) r12: 0000000000000ff8   r13: ffffffff81df1ff8   r14: ffffffff81db6000
(XEN) r15: 0000000000000ff8   cr0: 000000008005003b   cr4: 00000000000026f0
(XEN) cr3: 0000000661795000   cr2: 0000000000000000

Fixes-Oracle-Bug: 14570662
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoSPEC: v2.6.39-300.6.0
Maxim Uvarov [Tue, 4 Sep 2012 20:37:24 +0000 (13:37 -0700)]
SPEC: v2.6.39-300.6.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>