<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/watchdog, branch v5.9</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v5.9</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v5.9'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2020-08-23T22:36:59Z</updated>
<entry>
<title>treewide: Use fallthrough pseudo-keyword</title>
<updated>2020-08-23T22:36:59Z</updated>
<author>
<name>Gustavo A. R. Silva</name>
<email>gustavoars@kernel.org</email>
</author>
<published>2020-08-23T22:36:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=df561f6688fef775baa341a0f5d960becd248b11'/>
<id>urn:sha1:df561f6688fef775baa341a0f5d960becd248b11</id>
<content type='text'>
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.

[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

Signed-off-by: Gustavo A. R. Silva &lt;gustavoars@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'linux-watchdog-5.9-rc1' of git://www.linux-watchdog.org/linux-watchdog</title>
<updated>2020-08-12T19:13:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-08-12T19:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4586039427fab2b8c4edd49c73002e13e04315cf'/>
<id>urn:sha1:4586039427fab2b8c4edd49c73002e13e04315cf</id>
<content type='text'>
Pull watchdog updates from Wim Van Sebroeck:

 - f71808e_wdt imporvements

 - dw_wdt improvements

 - mlx-wdt: support new watchdog type with longer timeout period

 - fallthrough pseudo-keyword replacements

 - overall small fixes and improvements

* tag 'linux-watchdog-5.9-rc1' of git://www.linux-watchdog.org/linux-watchdog: (35 commits)
  watchdog: rti-wdt: balance pm runtime enable calls
  watchdog: rti-wdt: attach to running watchdog during probe
  watchdog: add support for adjusting last known HW keepalive time
  watchdog: use __watchdog_ping in startup
  watchdog: softdog: Add options 'soft_reboot_cmd' and 'soft_active_on_boot'
  watchdog: pcwd_usb: remove needless check before usb_free_coherent()
  watchdog: Replace HTTP links with HTTPS ones
  dt-bindings: watchdog: renesas,wdt: Document r8a774e1 support
  watchdog: initialize device before misc_register
  watchdog: booke_wdt: Add common nowayout parameter driver
  watchdog: scx200_wdt: Use fallthrough pseudo-keyword
  watchdog: Use fallthrough pseudo-keyword
  watchdog: f71808e_wdt: do stricter parameter validation
  watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  docs: watchdog: codify ident.options as superset of possible status flags
  dt-bindings: watchdog: Add compatible for QCS404, SC7180, SDM845, SM8150
  dt-bindings: watchdog: Convert QCOM watchdog timer bindings to YAML
  watchdog: dw_wdt: Add DebugFS files
  ...
</content>
</entry>
<entry>
<title>watchdog: rti-wdt: balance pm runtime enable calls</title>
<updated>2020-08-05T16:43:03Z</updated>
<author>
<name>Tero Kristo</name>
<email>t-kristo@ti.com</email>
</author>
<published>2020-07-17T13:29:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=d5b29c2c5ba2bd5bbdb5b744659984185d17d079'/>
<id>urn:sha1:d5b29c2c5ba2bd5bbdb5b744659984185d17d079</id>
<content type='text'>
PM runtime should be disabled in the fail path of probe and when
the driver is removed.

Fixes: 2d63908bdbfb ("watchdog: Add K3 RTI watchdog support")
Signed-off-by: Tero Kristo &lt;t-kristo@ti.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200717132958.14304-5-t-kristo@ti.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: rti-wdt: attach to running watchdog during probe</title>
<updated>2020-08-05T16:43:02Z</updated>
<author>
<name>Tero Kristo</name>
<email>t-kristo@ti.com</email>
</author>
<published>2020-07-17T13:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=5527483f8f7c8edadb5ad4fe8fcb569f565369ea'/>
<id>urn:sha1:5527483f8f7c8edadb5ad4fe8fcb569f565369ea</id>
<content type='text'>
If the RTI watchdog is running already during probe, the driver must
configure itself to match the HW. Window size and timeout is probed from
hardware, and the last keepalive ping is adjusted to match it also.

Signed-off-by: Tero Kristo &lt;t-kristo@ti.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200717132958.14304-4-t-kristo@ti.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: add support for adjusting last known HW keepalive time</title>
<updated>2020-08-05T16:43:02Z</updated>
<author>
<name>Tero Kristo</name>
<email>t-kristo@ti.com</email>
</author>
<published>2020-07-17T13:29:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=cef9572e9af373cefd1adc9e771e89670da5da3c'/>
<id>urn:sha1:cef9572e9af373cefd1adc9e771e89670da5da3c</id>
<content type='text'>
Certain watchdogs require the watchdog only to be pinged within a
specific time window, pinging too early or too late cause the watchdog
to fire. In cases where this sort of watchdog has been started before
kernel comes up, we must adjust the watchdog keepalive window to match
the actually running timer, so add a new driver API for this purpose.

Signed-off-by: Tero Kristo &lt;t-kristo@ti.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200717132958.14304-3-t-kristo@ti.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: use __watchdog_ping in startup</title>
<updated>2020-08-05T16:43:02Z</updated>
<author>
<name>Tero Kristo</name>
<email>t-kristo@ti.com</email>
</author>
<published>2020-07-17T13:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=fbbe35dfcf949f4d6cf987648e52a85fc0c2a23a'/>
<id>urn:sha1:fbbe35dfcf949f4d6cf987648e52a85fc0c2a23a</id>
<content type='text'>
Current watchdog startup functionality does not respect the minimum hw
heartbeat setup and the last watchdog ping timeframe when watchdog is
already running and userspace process attaches to it. Fix this by using
the __watchdog_ping from the startup also. For this code path, we can
also let the __watchdog_ping handle the bookkeeping for the worker and
last keepalive times.

Signed-off-by: Tero Kristo &lt;t-kristo@ti.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200717132958.14304-2-t-kristo@ti.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: softdog: Add options 'soft_reboot_cmd' and 'soft_active_on_boot'</title>
<updated>2020-08-05T16:43:02Z</updated>
<author>
<name>Woody Lin</name>
<email>woodylin@google.com</email>
</author>
<published>2020-07-08T08:32:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=36a8947c6b5423b2fb867a7af87ae40eb12f4123'/>
<id>urn:sha1:36a8947c6b5423b2fb867a7af87ae40eb12f4123</id>
<content type='text'>
Add module parameters 'soft_reboot_cmd' and 'soft_active_on_boot' for
customizing softdog configuration; config reboot command by assigning
soft_reboot_cmd, and set soft_active_on_boot to start up softdog
timer at module initialization stage.

Signed-off-by: Woody Lin &lt;woodylin@google.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200708083218.3157213-1-woodylin@google.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: pcwd_usb: remove needless check before usb_free_coherent()</title>
<updated>2020-08-05T16:43:01Z</updated>
<author>
<name>Xu Wang</name>
<email>vulab@iscas.ac.cn</email>
</author>
<published>2020-07-13T05:53:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f1889c9066722f56428978ce9431a6cacabecb57'/>
<id>urn:sha1:f1889c9066722f56428978ce9431a6cacabecb57</id>
<content type='text'>
usb_free_coherent() is safe with NULL usb_pcwd-&gt;intr_buffer and
this check is not required.

Signed-off-by: Xu Wang &lt;vulab@iscas.ac.cn&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lore.kernel.org/r/20200713055348.21620-1-vulab@iscas.ac.cn
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: Replace HTTP links with HTTPS ones</title>
<updated>2020-08-05T16:43:01Z</updated>
<author>
<name>Alexander A. Klimov</name>
<email>grandmaster@al2klimov.de</email>
</author>
<published>2020-07-13T20:58:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=2ab77a34d070b1611a52b50c7cfae074153d475b'/>
<id>urn:sha1:2ab77a34d070b1611a52b50c7cfae074153d475b</id>
<content type='text'>
Rationale:
Reduces attack surface on kernel devs opening the links for MITM
as HTTPS traffic is much harder to manipulate.

Deterministic algorithm:
For each file:
  If not .svg:
    For each line:
      If doesn't contain `\bxmlns\b`:
        For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
            If both the HTTP and HTTPS versions
            return 200 OK and serve the same content:
              Replace HTTP with HTTPS.

Signed-off-by: Alexander A. Klimov &lt;grandmaster@al2klimov.de&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Rob Herring &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/r/20200713205821.38223-1-grandmaster@al2klimov.de
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
<entry>
<title>watchdog: initialize device before misc_register</title>
<updated>2020-08-05T16:43:00Z</updated>
<author>
<name>Krzysztof Sobota</name>
<email>krzysztof.sobota@nokia.com</email>
</author>
<published>2020-07-17T10:31:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=cb36e29bb0e4b0c33c3d5866a0a4aebace4c99b7'/>
<id>urn:sha1:cb36e29bb0e4b0c33c3d5866a0a4aebace4c99b7</id>
<content type='text'>
When watchdog device is being registered, it calls misc_register that
makes watchdog available for systemd to open. This is a data race
scenario, because when device is open it may still have device struct
not initialized - this in turn causes a crash. This patch moves
device initialization before misc_register call and it solves the
problem printed below.

------------[ cut here ]------------
WARNING: CPU: 3 PID: 1 at lib/kobject.c:612 kobject_get+0x50/0x54
kobject: '(null)' ((ptrval)): is not initialized, yet kobject_get() is being called.
Modules linked in: k2_reset_status(O) davinci_wdt(+) sfn_platform_hwbcn(O) fsmddg_sfn(O) clk_misc_mmap(O) clk_sw_bcn(O) fsp_reset(O) cma_mod(O) slave_sup_notif(O) fpga_master(O) latency(O+) evnotify(O) enable_arm_pmu(O) xge(O) rio_mport_cdev br_netfilter bridge stp llc nvrd_checksum(O) ipv6
CPU: 3 PID: 1 Comm: systemd Tainted: G           O      4.19.113-g2579778-fsm4_k2 #1
Hardware name: Keystone
[&lt;c02126c4&gt;] (unwind_backtrace) from [&lt;c020da94&gt;] (show_stack+0x18/0x1c)
[&lt;c020da94&gt;] (show_stack) from [&lt;c07f87d8&gt;] (dump_stack+0xb4/0xe8)
[&lt;c07f87d8&gt;] (dump_stack) from [&lt;c0221f70&gt;] (__warn+0xfc/0x114)
[&lt;c0221f70&gt;] (__warn) from [&lt;c0221fd8&gt;] (warn_slowpath_fmt+0x50/0x74)
[&lt;c0221fd8&gt;] (warn_slowpath_fmt) from [&lt;c07fd394&gt;] (kobject_get+0x50/0x54)
[&lt;c07fd394&gt;] (kobject_get) from [&lt;c0602ce8&gt;] (get_device+0x1c/0x24)
[&lt;c0602ce8&gt;] (get_device) from [&lt;c06961e0&gt;] (watchdog_open+0x90/0xf0)
[&lt;c06961e0&gt;] (watchdog_open) from [&lt;c06001dc&gt;] (misc_open+0x130/0x17c)
[&lt;c06001dc&gt;] (misc_open) from [&lt;c0388228&gt;] (chrdev_open+0xec/0x1a8)
[&lt;c0388228&gt;] (chrdev_open) from [&lt;c037fa98&gt;] (do_dentry_open+0x204/0x3cc)
[&lt;c037fa98&gt;] (do_dentry_open) from [&lt;c0391e2c&gt;] (path_openat+0x330/0x1148)
[&lt;c0391e2c&gt;] (path_openat) from [&lt;c0394518&gt;] (do_filp_open+0x78/0xec)
[&lt;c0394518&gt;] (do_filp_open) from [&lt;c0381100&gt;] (do_sys_open+0x130/0x1f4)
[&lt;c0381100&gt;] (do_sys_open) from [&lt;c0201000&gt;] (ret_fast_syscall+0x0/0x28)
Exception stack(0xd2ceffa8 to 0xd2cefff0)
ffa0:                   b6f69968 00000000 ffffff9c b6ebd210 000a0001 00000000
ffc0: b6f69968 00000000 00000000 00000142 fffffffd ffffffff 00b65530 bed7bb78
ffe0: 00000142 bed7ba70 b6cc2503 b6cc41d6
---[ end trace 7b16eb105513974f ]---

------------[ cut here ]------------
WARNING: CPU: 3 PID: 1 at lib/refcount.c:153 kobject_get+0x24/0x54
refcount_t: increment on 0; use-after-free.
Modules linked in: k2_reset_status(O) davinci_wdt(+) sfn_platform_hwbcn(O) fsmddg_sfn(O) clk_misc_mmap(O) clk_sw_bcn(O) fsp_reset(O) cma_mod(O) slave_sup_notif(O) fpga_master(O) latency(O+) evnotify(O) enable_arm_pmu(O) xge(O) rio_mport_cdev br_netfilter bridge stp llc nvrd_checksum(O) ipv6
CPU: 3 PID: 1 Comm: systemd Tainted: G        W  O      4.19.113-g2579778-fsm4_k2 #1
Hardware name: Keystone
[&lt;c02126c4&gt;] (unwind_backtrace) from [&lt;c020da94&gt;] (show_stack+0x18/0x1c)
[&lt;c020da94&gt;] (show_stack) from [&lt;c07f87d8&gt;] (dump_stack+0xb4/0xe8)
[&lt;c07f87d8&gt;] (dump_stack) from [&lt;c0221f70&gt;] (__warn+0xfc/0x114)
[&lt;c0221f70&gt;] (__warn) from [&lt;c0221fd8&gt;] (warn_slowpath_fmt+0x50/0x74)
[&lt;c0221fd8&gt;] (warn_slowpath_fmt) from [&lt;c07fd368&gt;] (kobject_get+0x24/0x54)
[&lt;c07fd368&gt;] (kobject_get) from [&lt;c0602ce8&gt;] (get_device+0x1c/0x24)
[&lt;c0602ce8&gt;] (get_device) from [&lt;c06961e0&gt;] (watchdog_open+0x90/0xf0)
[&lt;c06961e0&gt;] (watchdog_open) from [&lt;c06001dc&gt;] (misc_open+0x130/0x17c)
[&lt;c06001dc&gt;] (misc_open) from [&lt;c0388228&gt;] (chrdev_open+0xec/0x1a8)
[&lt;c0388228&gt;] (chrdev_open) from [&lt;c037fa98&gt;] (do_dentry_open+0x204/0x3cc)
[&lt;c037fa98&gt;] (do_dentry_open) from [&lt;c0391e2c&gt;] (path_openat+0x330/0x1148)
[&lt;c0391e2c&gt;] (path_openat) from [&lt;c0394518&gt;] (do_filp_open+0x78/0xec)
[&lt;c0394518&gt;] (do_filp_open) from [&lt;c0381100&gt;] (do_sys_open+0x130/0x1f4)
[&lt;c0381100&gt;] (do_sys_open) from [&lt;c0201000&gt;] (ret_fast_syscall+0x0/0x28)
Exception stack(0xd2ceffa8 to 0xd2cefff0)
ffa0:                   b6f69968 00000000 ffffff9c b6ebd210 000a0001 00000000
ffc0: b6f69968 00000000 00000000 00000142 fffffffd ffffffff 00b65530 bed7bb78
ffe0: 00000142 bed7ba70 b6cc2503 b6cc41d6
---[ end trace 7b16eb1055139750 ]---

Fixes: 72139dfa2464 ("watchdog: Fix the race between the release of watchdog_core_data and cdev")
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Reviewed-by: Alexander Sverdlin &lt;alexander.sverdlin@nokia.com&gt;
Signed-off-by: Krzysztof Sobota &lt;krzysztof.sobota@nokia.com&gt;
Link: https://lore.kernel.org/r/20200717103109.14660-1-krzysztof.sobota@nokia.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@linux-watchdog.org&gt;
</content>
</entry>
</feed>
