Revision 8cd9da85d2bd87ce889043e7b1735723dd10eb89 authored by Frederic Weisbecker on 13 September 2021, 14:53:32 UTC, committed by Thomas Gleixner on 23 September 2021, 09:53:51 UTC
Resetting/stopping an itimer eventually leads to it being reprogrammed with an actual "0" value. As a result the itimer expires on the next tick, triggering an unexpected signal. To fix this, make sure that struct signal_struct::it[CPUCLOCK_PROF/VIRT]::expires is set to 0 when setitimer() passes a 0 it_value, indicating that the timer must stop. Fixes: 406dd42bd1ba ("posix-cpu-timers: Force next expiration recalc after itimer reset") Reported-by: Victor Stinner <vstinner@redhat.com> Reported-by: Chris Hixon <linux-kernel-bugs@hixontech.com> Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20210913145332.232023-1-frederic@kernel.org
1 parent e4e737b
File | Mode | Size |
---|---|---|
ila | ||
netfilter | ||
Kconfig | -rw-r--r-- | 9.7 KB |
Makefile | -rw-r--r-- | 1.9 KB |
addrconf.c | -rw-r--r-- | 177.3 KB |
addrconf_core.c | -rw-r--r-- | 8.3 KB |
addrlabel.c | -rw-r--r-- | 15.6 KB |
af_inet6.c | -rw-r--r-- | 31.0 KB |
ah6.c | -rw-r--r-- | 17.8 KB |
anycast.c | -rw-r--r-- | 12.9 KB |
calipso.c | -rw-r--r-- | 37.8 KB |
datagram.c | -rw-r--r-- | 25.2 KB |
esp6.c | -rw-r--r-- | 28.7 KB |
esp6_offload.c | -rw-r--r-- | 9.3 KB |
exthdrs.c | -rw-r--r-- | 32.7 KB |
exthdrs_core.c | -rw-r--r-- | 7.5 KB |
exthdrs_offload.c | -rw-r--r-- | 711 bytes |
fib6_notifier.c | -rw-r--r-- | 1.5 KB |
fib6_rules.c | -rw-r--r-- | 12.1 KB |
fou6.c | -rw-r--r-- | 5.1 KB |
icmp.c | -rw-r--r-- | 28.9 KB |
inet6_connection_sock.c | -rw-r--r-- | 4.2 KB |
inet6_hashtables.c | -rw-r--r-- | 9.2 KB |
ioam6.c | -rw-r--r-- | 20.2 KB |
ioam6_iptunnel.c | -rw-r--r-- | 6.5 KB |
ip6_checksum.c | -rw-r--r-- | 3.5 KB |
ip6_fib.c | -rw-r--r-- | 62.6 KB |
ip6_flowlabel.c | -rw-r--r-- | 20.4 KB |
ip6_gre.c | -rw-r--r-- | 58.1 KB |
ip6_icmp.c | -rw-r--r-- | 2.0 KB |
ip6_input.c | -rw-r--r-- | 14.0 KB |
ip6_offload.c | -rw-r--r-- | 11.0 KB |
ip6_offload.h | -rw-r--r-- | 302 bytes |
ip6_output.c | -rw-r--r-- | 50.9 KB |
ip6_tunnel.c | -rw-r--r-- | 57.7 KB |
ip6_udp_tunnel.c | -rw-r--r-- | 2.7 KB |
ip6_vti.c | -rw-r--r-- | 31.5 KB |
ip6mr.c | -rw-r--r-- | 58.9 KB |
ipcomp6.c | -rw-r--r-- | 4.9 KB |
ipv6_sockglue.c | -rw-r--r-- | 32.0 KB |
mcast.c | -rw-r--r-- | 75.8 KB |
mcast_snoop.c | -rw-r--r-- | 4.4 KB |
mip6.c | -rw-r--r-- | 10.1 KB |
ndisc.c | -rw-r--r-- | 48.9 KB |
netfilter.c | -rw-r--r-- | 6.6 KB |
output_core.c | -rw-r--r-- | 3.7 KB |
ping.c | -rw-r--r-- | 7.1 KB |
proc.c | -rw-r--r-- | 10.4 KB |
protocol.c | -rw-r--r-- | 1.9 KB |
raw.c | -rw-r--r-- | 30.3 KB |
reassembly.c | -rw-r--r-- | 14.8 KB |
route.c | -rw-r--r-- | 165.9 KB |
rpl.c | -rw-r--r-- | 3.2 KB |
rpl_iptunnel.c | -rw-r--r-- | 8.0 KB |
seg6.c | -rw-r--r-- | 10.0 KB |
seg6_hmac.c | -rw-r--r-- | 9.5 KB |
seg6_iptunnel.c | -rw-r--r-- | 13.6 KB |
seg6_local.c | -rw-r--r-- | 46.8 KB |
sit.c | -rw-r--r-- | 47.1 KB |
syncookies.c | -rw-r--r-- | 7.4 KB |
sysctl_net_ipv6.c | -rw-r--r-- | 8.8 KB |
tcp_ipv6.c | -rw-r--r-- | 58.3 KB |
tcpv6_offload.c | -rw-r--r-- | 1.9 KB |
tunnel6.c | -rw-r--r-- | 7.0 KB |
udp.c | -rw-r--r-- | 44.9 KB |
udp_impl.h | -rw-r--r-- | 1.0 KB |
udp_offload.c | -rw-r--r-- | 5.5 KB |
udplite.c | -rw-r--r-- | 2.9 KB |
xfrm6_input.c | -rw-r--r-- | 6.0 KB |
xfrm6_output.c | -rw-r--r-- | 2.3 KB |
xfrm6_policy.c | -rw-r--r-- | 6.7 KB |
xfrm6_protocol.c | -rw-r--r-- | 7.4 KB |
xfrm6_state.c | -rw-r--r-- | 699 bytes |
xfrm6_tunnel.c | -rw-r--r-- | 9.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...