<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/powerpc/kernel, branch v3.8.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/powerpc/kernel?h=v3.8.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/powerpc/kernel?h=v3.8.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-14T18:26:36Z</updated>
<entry>
<title>powerpc: Apply early paca fixups to boot_paca and the boot cpu's paca</title>
<updated>2013-03-14T18:26:36Z</updated>
<author>
<name>Michael Ellerman</name>
<email>michael@ellerman.id.au</email>
</author>
<published>2013-02-12T14:44:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=849149f2dfcf52e682e3e04cf3fe80bb0ce0e61c'/>
<id>urn:sha1:849149f2dfcf52e682e3e04cf3fe80bb0ce0e61c</id>
<content type='text'>
commit 25e138149c19fa0680147b825be475f5fd57f155 upstream.

In commit 466921c we added a hack to set the paca data_offset to zero so
that per-cpu accesses would work on the boot cpu prior to per-cpu areas
being setup. This fixed a problem with lockdep touching per-cpu areas
very early in boot.

However if we combine CONFIG_LOCK_STAT=y with any of the PPC_EARLY_DEBUG
options, we can hit the same problem in udbg_early_init(). To avoid that
we need to set the data_offset of the boot_paca also. So factor out the
fixup logic and call it for both the boot_paca, and "the paca of the
boot cpu".

Signed-off-by: Michael Ellerman &lt;michael@ellerman.id.au&gt;
Tested-by: Geoff Levand &lt;geoff@infradead.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc/eeh: Fix crash when adding a device in a slot with DDW</title>
<updated>2013-02-28T13:38:39Z</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@linux.vnet.ibm.com</email>
</author>
<published>2012-12-28T09:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d6b8eaa075f9b994dac9fd63cf8622761ef62bfa'/>
<id>urn:sha1:d6b8eaa075f9b994dac9fd63cf8622761ef62bfa</id>
<content type='text'>
commit 6a040ce72598159a74969a2d01ab0ba5ee6536b3 upstream.

The DDW code uses a eeh_dev struct from the pci_dev. However, this is
not set until eeh_add_device_late is called.

Since pci_bus_add_devices is called before eeh_add_device_late, the PCI
devices are added to the bus, making drivers' probe hooks to be called.
These will call set_dma_mask, which will call the DDW code, which will
require the eeh_dev struct from pci_dev. This would result in a crash,
due to a NULL dereference.

Calling eeh_add_device_late after pci_bus_add_devices would make the
system BUG, because device files shouldn't be added to devices there
were not added to the system. So, a new function is needed to add such
files only after pci_bus_add_devices have been called.

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@linux.vnet.ibm.com&gt;
Acked-by: Gavin Shan &lt;shangw@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc/kexec: Disable hard IRQ before kexec</title>
<updated>2013-02-28T13:38:38Z</updated>
<author>
<name>Phileas Fogg</name>
<email>phileas-fogg@mail.ru</email>
</author>
<published>2013-02-22T23:32:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ba16f36f25b9c2fd8b51477256f9a5698de2581b'/>
<id>urn:sha1:ba16f36f25b9c2fd8b51477256f9a5698de2581b</id>
<content type='text'>
commit 8520e443aa56cc157b015205ea53e7b9fc831291 upstream.

Disable hard IRQ before kexec a new kernel image.
Not doing it can result in corrupted data in the memory segments
reserved for the new kernel.

Signed-off-by: Phileas Fogg &lt;phileas-fogg@mail.ru&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc: Max next_tb to prevent from replaying timer interrupt</title>
<updated>2013-01-28T23:18:16Z</updated>
<author>
<name>Tiejun Chen</name>
<email>tiejun.chen@windriver.com</email>
</author>
<published>2013-01-15T17:01:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=689dfa894c57842a05bf6dc9f97e6bb71ec5f386'/>
<id>urn:sha1:689dfa894c57842a05bf6dc9f97e6bb71ec5f386</id>
<content type='text'>
With lazy interrupt, we always call __check_irq_replaysome with
decrementers_next_tb to check if we need to replay timer interrupt.
So in hotplug case we also need to set decrementers_next_tb as MAX
to make sure __check_irq_replay don't replay timer interrupt
when return as we expect, otherwise we'll trap here infinitely.

Signed-off-by: Tiejun Chen &lt;tiejun.chen@windriver.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: kernel/kgdb.c: Fix memory leakage</title>
<updated>2013-01-28T23:18:15Z</updated>
<author>
<name>Cong Ding</name>
<email>dinggnu@gmail.com</email>
</author>
<published>2013-01-14T07:26:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fefd9e6f8860249b2c284d89cb2e51fa71a9503a'/>
<id>urn:sha1:fefd9e6f8860249b2c284d89cb2e51fa71a9503a</id>
<content type='text'>
the variable backup_current_thread_info isn't freed before existing the
function.

Signed-off-by: Cong Ding &lt;dinggnu@gmail.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/book3e: Disable interrupt after preempt_schedule_irq</title>
<updated>2013-01-28T23:18:15Z</updated>
<author>
<name>Tiejun Chen</name>
<email>tiejun.chen@windriver.com</email>
</author>
<published>2013-01-06T00:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=572177d7c77db1981ba2563e01478126482c43bc'/>
<id>urn:sha1:572177d7c77db1981ba2563e01478126482c43bc</id>
<content type='text'>
In preempt case current arch_local_irq_restore() from
preempt_schedule_irq() may enable hard interrupt but we really
should disable interrupts when we return from the interrupt,
and so that we don't get interrupted after loading SRR0/1.

Signed-off-by: Tiejun Chen &lt;tiejun.chen@windriver.com&gt;
CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning for ppc32</title>
<updated>2013-01-28T23:10:22Z</updated>
<author>
<name>Li Zhong</name>
<email>zhong@linux.vnet.ibm.com</email>
</author>
<published>2012-12-02T20:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=41d82bdb40af74a88cff4589ea7a60091b11070e'/>
<id>urn:sha1:41d82bdb40af74a88cff4589ea7a60091b11070e</id>
<content type='text'>
This patch fixes MAX_STACK_TRACE_ENTRIES too low warning for ppc32,
which is similar to commit 12660b17.

Reported-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Signed-off-by: Li Zhong &lt;zhong@linux.vnet.ibm.com&gt;
Tested-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'driver-core-3.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core</title>
<updated>2013-01-04T00:17:50Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-01-04T00:17:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49569646b2413ee1a4fb7c4537fca058ac22292e'/>
<id>urn:sha1:49569646b2413ee1a4fb7c4537fca058ac22292e</id>
<content type='text'>
Pull driver core __dev* removal patches - take 3 - from Greg Kroah-Hartman:
 "Here are the remaining __dev* removal patches against the 3.8-rc2
  tree.  All of these patches were previously sent to the subsystem
  maintainers, most of them were picked up and pushed to you, but there
  were a number that fell through the cracks, and new drivers were added
  during the merge window, so this series cleans up the rest of the
  instances of these markings.

  Third time's the charm...

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

Fixed up trivial conflict with the pinctrl pull in pinctrl-sirf.c.

* tag 'driver-core-3.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (54 commits)
  misc: remove __dev* attributes.
  include: remove __dev* attributes.
  Documentation: remove __dev* attributes.
  Drivers: misc: remove __dev* attributes.
  Drivers: block: remove __dev* attributes.
  Drivers: bcma: remove __dev* attributes.
  Drivers: char: remove __dev* attributes.
  Drivers: clocksource: remove __dev* attributes.
  Drivers: ssb: remove __dev* attributes.
  Drivers: dma: remove __dev* attributes.
  Drivers: gpu: remove __dev* attributes.
  Drivers: infinband: remove __dev* attributes.
  Drivers: memory: remove __dev* attributes.
  Drivers: mmc: remove __dev* attributes.
  Drivers: iommu: remove __dev* attributes.
  Drivers: power: remove __dev* attributes.
  Drivers: message: remove __dev* attributes.
  Drivers: macintosh: remove __dev* attributes.
  Drivers: mfd: remove __dev* attributes.
  pstore: remove __dev* attributes.
  ...
</content>
</entry>
<entry>
<title>POWERPC: drivers: remove __dev* attributes.</title>
<updated>2013-01-03T23:57:04Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-12-21T22:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cad5cef62a5a0c525d39118d2e94b6e2034d5e05'/>
<id>urn:sha1:cad5cef62a5a0c525d39118d2e94b6e2034d5e05</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
markings need to be removed.

This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.

Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.

Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>powerpc/vdso: Remove redundant locking in update_vsyscall_tz()</title>
<updated>2013-01-03T05:45:51Z</updated>
<author>
<name>Shan Hai</name>
<email>shan.hai@windriver.com</email>
</author>
<published>2012-11-08T15:57:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ce73ec6db47af84d1466402781ae0872a9e7873c'/>
<id>urn:sha1:ce73ec6db47af84d1466402781ae0872a9e7873c</id>
<content type='text'>
The locking in update_vsyscall_tz() is not only unnecessary because the vdso
code copies the data unproteced in __kernel_gettimeofday() but also
introduces a hard to reproduce race condition between update_vsyscall()
and update_vsyscall_tz(), which causes user space process to loop
forever in vdso code.

The following patch removes the locking from update_vsyscall_tz().

Locking is not only unnecessary because the vdso code copies the data
unprotected in __kernel_gettimeofday() but also erroneous because updating
the tb_update_count is not atomic and introduces a hard to reproduce race
condition between update_vsyscall() and update_vsyscall_tz(), which further
causes user space process to loop forever in vdso code.

The below scenario describes the race condition,
x==0	Boot CPU			other CPU
	proc_P: x==0
	    timer interrupt
		update_vsyscall
x==1		    x++;sync		settimeofday
					    update_vsyscall_tz
x==2						x++;sync
x==3		    sync;x++
						sync;x++
	proc_P: x==3 (loops until x becomes even)

Because the ++ operator would be implemented as three instructions and not
atomic on powerpc.

A similar change was made for x86 in commit 6c260d58634
("x86: vdso: Remove bogus locking in update_vsyscall_tz")

Signed-off-by: Shan Hai &lt;shan.hai@windriver.com&gt;
CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
