<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hwtracing/stm, branch linux-4.20.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-01-13T08:24:08Z</updated>
<entry>
<title>stm class: Fix a module refcount leak in policy creation error path</title>
<updated>2019-01-13T08:24:08Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-12-19T15:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a64a09edaba6b426c61f8f48fa50f0a6d6c96028'/>
<id>urn:sha1:a64a09edaba6b426c61f8f48fa50f0a6d6c96028</id>
<content type='text'>
commit c18614a1a11276837bdd44403d84d207c9951538 upstream.

Commit c7fd62bc69d0 ("stm class: Introduce framing protocol drivers")
adds a bug into the error path of policy creation, that would do a
module_put() on a wrong module, if one tried to create a policy for
an stm device which already has a policy, using a different protocol.
IOW,

| mkdir /config/stp-policy/dummy_stm.0:p_basic.test
| mkdir /config/stp-policy/dummy_stm.0:p_sys-t.test # puts "p_basic"
| mkdir /config/stp-policy/dummy_stm.0:p_sys-t.test # "p_basic" -&gt; -1

throws:

| general protection fault: 0000 [#1] SMP PTI
| CPU: 3 PID: 2887 Comm: mkdir
| RIP: 0010:module_put.part.31+0xe/0x90
| Call Trace:
|  module_put+0x13/0x20
|  stm_put_protocol+0x11/0x20 [stm_core]
|  stp_policy_make+0xf1/0x210 [stm_core]
|  ? __kmalloc+0x183/0x220
|  ? configfs_mkdir+0x10d/0x4c0
|  configfs_mkdir+0x169/0x4c0
|  vfs_mkdir+0x108/0x1c0
|  do_mkdirat+0xe8/0x110
|  __x64_sys_mkdir+0x1b/0x20
|  do_syscall_64+0x5a/0x140
|  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Correct this sad mistake by calling calling 'put' on the correct
reference, which happens to match another error path in the same
function, so we consolidate the two at the same time.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Fixes: c7fd62bc69d0 ("stm class: Introduce framing protocol drivers")
Reported-by: Ammy Yi &lt;ammy.yi@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>stm class: Use memcat_p()</title>
<updated>2018-10-11T10:12:55Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a23bbec205b9b9b5f75af1811fe89d0598104b88'/>
<id>urn:sha1:a23bbec205b9b9b5f75af1811fe89d0598104b88</id>
<content type='text'>
Instead of a local copy, use the memcat_p() helper to merge policy
node attributes.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: heartbeat: Fix whitespace</title>
<updated>2018-10-11T10:12:55Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:43:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c7e4b6882ad080dad623ba2f4c1a4db578313cb'/>
<id>urn:sha1:6c7e4b6882ad080dad623ba2f4c1a4db578313cb</id>
<content type='text'>
Fix whitespace in the code for better readability, no functional changes.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: p_sys-t: Add support for CLOCKSYNC packets</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=39f10239df751e4ec5190ef851a3e71c052c2539'/>
<id>urn:sha1:39f10239df751e4ec5190ef851a3e71c052c2539</id>
<content type='text'>
This adds support for CLOCKSYNC SyS-T packets, that establish correlation
between the transport clock (STP timestamps) and SyS-T timestamps. These
packets are sent periodically to allow the decoder to keep both time
sources in sync.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Add MIPI SyS-T protocol support</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d69d5e83110fedd15ff463ed2d5320ab3dec75f1'/>
<id>urn:sha1:d69d5e83110fedd15ff463ed2d5320ab3dec75f1</id>
<content type='text'>
This adds support for MIPI SyS-T protocol as specified in an open
standard [1]. In addition to marking message boundaries, it also
supports tagging messages with the source UUID, to provide better
distinction between trace sources, including payload length and
timestamp in the message's metadata.

This driver adds attributes to STP policy nodes to control/configure
these metadata features.

[1] https://www.mipi.org/specifications/sys-t

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Switch over to the protocol driver</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24c7bcb6a74914b529859a07fde27a1a55e13ade'/>
<id>urn:sha1:24c7bcb6a74914b529859a07fde27a1a55e13ade</id>
<content type='text'>
Now that the default framing protocol is factored out into its own driver,
switch over to using the driver for writing data. To that end, make the
policy code require a valid protocol name (or absence thereof, which is
equivalent to "p_basic").

Also, to make transition easier, make stm class request "p_basic" module
at initialization time.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Factor out default framing protocol</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a02509f301c68c9a7f01d75d7d326f7a9b81a630'/>
<id>urn:sha1:a02509f301c68c9a7f01d75d7d326f7a9b81a630</id>
<content type='text'>
The STP framing pattern that the stm class implicitly applies to the
data payload is, in fact, a protocol. This patch moves the relevant code
out of the stm core into its own driver module.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Add a helper for writing data packets</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d279a38020d2483cb75f5f82f5e4ab5f73bc94f2'/>
<id>urn:sha1:d279a38020d2483cb75f5f82f5e4ab5f73bc94f2</id>
<content type='text'>
Add a helper to write a sequence of bytes as STP data packets. This
is used by protocol drivers to output their metadata, as well as the
actual data payload.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Introduce framing protocol drivers</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7fd62bc69d0224877a49383e606f0fe52cba741'/>
<id>urn:sha1:c7fd62bc69d0224877a49383e606f0fe52cba741</id>
<content type='text'>
At the moment, the stm class applies a certain STP framing pattern to
the data as it is written to the underlying STM device. In order to
allow different framing patterns (aka protocols), this patch introduces
the concept of STP protocol drivers, defines data structures and APIs
for the protocol drivers to use.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>stm class: Clean up stp_configfs_init</title>
<updated>2018-10-11T10:12:54Z</updated>
<author>
<name>Alexander Shishkin</name>
</author>
<published>2018-10-05T12:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e967b8bdd462def829b1722ea2f0babdc9806bc2'/>
<id>urn:sha1:e967b8bdd462def829b1722ea2f0babdc9806bc2</id>
<content type='text'>
Minor code shortening, no functional changes.

Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Tested-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
