profile
viewpoint

zonque/AlRide 11

Very simple ride sharing tool, based on Ruby on Rails

zonque/121gw-qt5 8

A Qt5 based application for the 121GW BLE enabled multimeter

zonque/CocoaUSBDeviceRequester 8

a Cocoa frontend for IOUSBDeviceInterface::DeviceRequest()

holoplot/go-avahi 7

Golang bindings for the Avahi mDNS daemon

holoplot/go-rauc 6

Golang bindings for the RAUC update service

agalii/surfin-silvia 3

PID for temperature control + special features for Rancilio Silvia

zonque/hashttp 3

An http server that serves content by its hash sum

zonque/hass-colorclock 2

A Home Assistant component to control the color of lights based on the current time

svenfoo/KassaBlanca 1

Simple cash register system

issue closedsystemd/systemd

networkd fails to bring up links occasionally

systemd version the issue has been seen with systemd 243.2+ running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 defau lt-hierarchy=hybrid)

Used distribution Self-made Yocto-based

Description

networkd is used to form 2 bridges of 3 devices each.

br-pri.netdev

[NetDev]
Name=br-pri
Kind=bridge

[Bridge]
MulticastSnooping=yes

br-pri.network

[Match]
Name=br-pri

[Network]
DHCP=yes
BindCarrier=pri-uplink pri-downlink
ConfigureWithoutCarrier=yes

For the sake of simplicity, only one config is posted here. The other ones are identical except for the [Match] section.

pr-uplink.network

[Match]
Name=pri-uplink

[Network]
Bridge=br-pri
ConfigureWithoutCarrier=yes

In around 50% of the cases, networkd fails to bring up at least one out of 6 of the links, with the logs yielding this:

Mar 24 08:18:27 EP-BVR-PFR kernel: mv88e6085 e000b000.ethernet-ffffffff:02 pri-uplink (uninitialized): PHY [!amba!ethernet@e000b000!switch@2!mdio:03] driver [Marvell 88E1540] (irq=75)
Mar 24 08:18:29 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: New device has no master, continuing without
Mar 24 08:18:29 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Flags change: +MULTICAST +BROADCAST
Mar 24 08:18:29 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Link 7 added
Mar 24 08:18:29 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: link pending udev initialization...
Mar 24 08:18:29 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Saved original MTU: 1500
Mar 24 08:18:30 EP-BVR-PFR systemd-resolved[1787]: Found new link 7/pri-uplink
Mar 24 08:18:32 EP-BVR-PFR kernel: br-pri: port 1(pri-uplink) entered blocking state
Mar 24 08:18:32 EP-BVR-PFR kernel: br-pri: port 1(pri-uplink) entered disabled state
Mar 24 08:18:32 EP-BVR-PFR kernel: device pri-uplink entered promiscuous mode
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: udev initialized link
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: State changed: pending -> initialized
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Link state is up-to-date
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: found matching network '/etc/systemd/network/pri-uplink.network'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: Setting '/proc/sys/net/ipv6/conf/pri-uplink/proxy_ndp' to '0'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: Setting '/proc/sys/net/ipv6/conf/pri-uplink/use_tempaddr' to '0'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: Setting '/proc/sys/net/ipv6/conf/pri-uplink/accept_ra' to '0'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Setting address genmode for link
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: State changed: initialized -> configuring
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Enslaving by 'br-pri'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: br-pri: Enslaving link 'pri-uplink'
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: rtnl: received neighbor message with invalid family, ignoring.
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: rtnl: received neighbor message with invalid family, ignoring.
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Joined netdev
Mar 24 08:18:32 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Bringing link up
Mar 24 08:18:34 EP-BVR-PFR systemd-networkd[1770]: pri-uplink: Could not bring up interface: Network is down

Which of the multiple devices are affected varies, it's not always the same one. FWIW, i haven't yet seen more than one fail at the same time, but that might be a coincidence.

The link can later be brought up with ip link set up dev pri-uplink without any issues.

closed time in a day

zonque

issue commentsystemd/systemd

networkd fails to bring up links occasionally

Duplicate of https://github.com/systemd/systemd/issues/7478, closing

zonque

comment created time in a day

push eventzonque/jewitterwolke

Daniel Mack

commit sha a148b3b35b77ed3ff5a4fb9a4a2f4fe1504cd9da

Use gyro for jump detection

view details

push time in 6 days

push eventzonque/jewitterwolke

Daniel Mack

commit sha 167aea04f851671343ff75ac4a0c1c9f31df10fa

initial commit

view details

push time in 8 days

issue commentlathiat/avahi

Avahi-browse can't get notified when service's IP address was changed

The address of that service is only looked up once by avahi-browse, and the ServiceResolver is then thrown away. If you implement that logic yourself using the D-Bus API, you can just keep the ServiceResolver around and wait for the Found signal to be emitted, which will then update you on any IP address change.

briancui

comment created time in 8 days

create barnchzonque/jewitterwolke

branch : main

created branch time in 8 days

created repositoryzonque/jewitterwolke

created time in 8 days

issue commentholoplot/go-avahi

Handling avahi-daemon restarts for announced services

Yes, you're right. The code in the package currently fully relies on the Avahi daemon to persist the client's state, and does not do any extra caching.

A cheap way out would be to inform the user of the package about the connection loss and off-load the work its way. But we could as well cache in the library. For browser functionality, the best thing we can do is to start from the beginning anyway. The only thing that needs attention is the entry group for publishing, right?

alecpetrosky

comment created time in 15 days

push eventholoplot/linux

Mingming Cao

commit sha 68c7abb8302ab8c67b07ab342a85a6e53ae1aab8

ibmvnic fix NULL tx_pools and rx_tools issue at do_reset [ Upstream commit 9f13457377907fa253aef560e1a37e1ca4197f9b ] At the time of do_rest, ibmvnic tries to re-initalize the tx_pools and rx_pools to avoid re-allocating the long term buffer. However there is a window inside do_reset that the tx_pools and rx_pools were freed before re-initialized making it possible to deference null pointers. This patch fix this issue by always check the tx_pool and rx_pool are not NULL after ibmvnic_login. If so, re-allocating the pools. This will avoid getting into calling reset_tx/rx_pools with NULL adapter tx_pools/rx_pools pointer. Also add null pointer check in reset_tx_pools and reset_rx_pools to safe handle NULL pointer case. Signed-off-by: Mingming Cao <mmc@linux.vnet.ibm.com> Signed-off-by: Dany Madden <drt@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jakub Kicinski

commit sha 9215385638b70b5d4b050a42933cbaf884f8a6f3

ibmvnic: add missing parenthesis in do_reset() [ Upstream commit 8ae4dff882eb879c17bf46574201bd37fc6bc8b5 ] Indentation and logic clearly show that this code is missing parenthesis. Fixes: 9f1345737790 ("ibmvnic fix NULL tx_pools and rx_tools issue at do_reset") Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Cong Wang

commit sha 946fc6d847682b6feb2f7100079b1ddcd5fd52f7

act_ife: load meta modules before tcf_idr_check_alloc() [ Upstream commit cc8e58f8325cdf14b9516b61c384cdfd02a4f408 ] The following deadlock scenario is triggered by syzbot: Thread A: Thread B: tcf_idr_check_alloc() ... populate_metalist() rtnl_unlock() rtnl_lock() ... request_module() tcf_idr_check_alloc() rtnl_lock() At this point, thread A is waiting for thread B to release RTNL lock, while thread B is waiting for thread A to commit the IDR change with tcf_idr_insert() later. Break this deadlock situation by preloading ife modules earlier, before tcf_idr_check_alloc(), this is fine because we only need to load modules we need potentially. Reported-and-tested-by: syzbot+80e32b5d1f9923f8ace6@syzkaller.appspotmail.com Fixes: 0190c1d452a9 ("net: sched: atomically check-allocate action") Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: Vlad Buslov <vladbu@mellanox.com> Cc: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Vasundhara Volam

commit sha 67eb902e033523f5afd0eae2bc6dab8e4066138d

bnxt_en: Avoid sending firmware messages when AER error is detected. [ Upstream commit b340dc680ed48dcc05b56e1ebe1b9535813c3ee0 ] When the driver goes through PCIe AER reset in error state, all firmware messages will timeout because the PCIe bus is no longer accessible. This can lead to AER reset taking many minutes to complete as each firmware command takes time to timeout. Define a new macro BNXT_NO_FW_ACCESS() to skip these firmware messages when either firmware is in fatal error state or when pci_channel_offline() is true. It now takes a more reasonable 20 to 30 seconds to complete AER recovery. Fixes: b4fff2079d10 ("bnxt_en: Do not send firmware messages if firmware is in error state.") Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Vasundhara Volam

commit sha 0d7002517f9bb2de70ab42787413bd2767862692

bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() [ Upstream commit b16939b59cc00231a75d224fd058d22c9d064976 ] bnxt_fw_reset_task() which runs from a workqueue can race with bnxt_remove_one(). For example, if firmware reset and VF FLR are happening at about the same time. bnxt_remove_one() already cancels the workqueue and waits for it to finish, but we need to do this earlier before the devlink reporters are destroyed. This will guarantee that the devlink reporters will always be valid when bnxt_fw_reset_task() is still running. Fixes: b148bb238c02 ("bnxt_en: Fix possible crash in bnxt_fw_reset_task().") Reviewed-by: Edwin Peer <edwin.peer@broadcom.com> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Raju Rangoju

commit sha a01b4105d2f00aaeb0425d420d0794cde7c80c4c

cxgb4: fix memory leak during module unload [ Upstream commit f4a26a9b311d7ff9db461278faf2869d06496ef8 ] Fix the memory leak in mps during module unload path by freeing mps reference entries if the list adpter->mps_ref is not already empty Fixes: 28b3870578ef ("cxgb4: Re-work the logic for mps refcounting") Signed-off-by: Raju Rangoju <rajur@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Ganji Aravind

commit sha 732a8eb73c5118078d70af0bfeb9536873ccb9b8

cxgb4: Fix offset when clearing filter byte counters [ Upstream commit 94cc242a067a869c29800aa789d38b7676136e50 ] Pass the correct offset to clear the stale filter hit bytes counter. Otherwise, the counter starts incrementing from the stale information, instead of 0. Fixes: 12b276fbf6e0 ("cxgb4: add support to create hash filters") Signed-off-by: Ganji Aravind <ganji.aravind@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Mark Gray

commit sha e76c0f41d7b1951ef4161e079c832c2e904fd29f

geneve: add transport ports in route lookup for geneve [ Upstream commit 34beb21594519ce64a55a498c2fe7d567bc1ca20 ] This patch adds transport ports information for route lookup so that IPsec can select Geneve tunnel traffic to do encryption. This is needed for OVS/OVN IPsec with encrypted Geneve tunnels. This can be tested by configuring a host-host VPN using an IKE daemon and specifying port numbers. For example, for an Openswan-type configuration, the following parameters should be configured on both hosts and IPsec set up as-per normal: $ cat /etc/ipsec.conf conn in ... left=$IP1 right=$IP2 ... leftprotoport=udp/6081 rightprotoport=udp ... conn out ... left=$IP1 right=$IP2 ... leftprotoport=udp rightprotoport=udp/6081 ... The tunnel can then be setup using "ip" on both hosts (but changing the relevant IP addresses): $ ip link add tun type geneve id 1000 remote $IP2 $ ip addr add 192.168.0.1/24 dev tun $ ip link set tun up This can then be tested by pinging from $IP1: $ ping 192.168.0.2 Without this patch the traffic is unencrypted on the wire. Fixes: 2d07dc79fe04 ("geneve: add initial netdev driver for GENEVE tunnels") Signed-off-by: Qiuyu Xiao <qiuyu.xiao.qyx@gmail.com> Signed-off-by: Mark Gray <mark.d.gray@redhat.com> Reviewed-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Dan Carpenter

commit sha 6070a0f58d95a13234fecae40424c6978ec09ef6

hdlc_ppp: add range checks in ppp_cp_parse_cr() [ Upstream commit 66d42ed8b25b64eb63111a2b8582c5afc8bf1105 ] There are a couple bugs here: 1) If opt[1] is zero then this results in a forever loop. If the value is less than 2 then it is invalid. 2) It assumes that "len" is more than sizeof(valid_accm) or 6 which can result in memory corruption. In the case of LCP_OPTION_ACCM, then we should check "opt[1]" instead of "len" because, if "opt[1]" is less than sizeof(valid_accm) then "nak_len" gets out of sync and it can lead to memory corruption in the next iterations through the loop. In case of LCP_OPTION_MAGIC, the only valid value for opt[1] is 6, but the code is trying to log invalid data so we should only discard the data when "len" is less than 6 because that leads to a read overflow. Reported-by: ChenNan Of Chaitin Security Research Lab <whutchennan@gmail.com> Fixes: e022c2f07ae5 ("WAN: new synchronous PPP implementation for generic HDLC.") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Luo bin

commit sha 584ff7bb14a65b0796afe824dc5a29b7b95af765

hinic: bump up the timeout of SET_FUNC_STATE cmd [ Upstream commit 4e4269ebe7e18038fffacf113e2dd5ded6d49942 ] We free memory regardless of the return value of SET_FUNC_STATE cmd in hinic_close function to avoid memory leak and this cmd may timeout when fw is busy with handling other cmds, so we bump up the timeout of this cmd to ensure it won't return failure. Fixes: 00e57a6d4ad3 ("net-next/hinic: Add Tx operation") Signed-off-by: Luo bin <luobin9@huawei.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Wei Wang

commit sha f49e5618fd5429ba537d5449b263cf704bdef4be

ip: fix tos reflection in ack and reset packets [ Upstream commit ba9e04a7ddf4f22a10e05bf9403db6b97743c7bf ] Currently, in tcp_v4_reqsk_send_ack() and tcp_v4_send_reset(), we echo the TOS value of the received packets in the response. However, we do not want to echo the lower 2 ECN bits in accordance with RFC 3168 6.1.5 robustness principles. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Wei Wang <weiwan@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

David Ahern

commit sha a8faee58f55a047bd25da710368f6cad68168fa1

ipv4: Initialize flowi4_multipath_hash in data path [ Upstream commit 1869e226a7b3ef75b4f70ede2f1b7229f7157fa4 ] flowi4_multipath_hash was added by the commit referenced below for tunnels. Unfortunately, the patch did not initialize the new field for several fast path lookups that do not initialize the entire flow struct to 0. Fix those locations. Currently, flowi4_multipath_hash is random garbage and affects the hash value computed by fib_multipath_hash for multipath selection. Fixes: 24ba14406c5c ("route: Add multipath_hash in flowi_common to make user-define hash") Signed-off-by: David Ahern <dsahern@gmail.com> Cc: wenxu <wenxu@ucloud.cn> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

David Ahern

commit sha 2b1be6c925cdf4638811765a9160796291494b89

ipv4: Update exception handling for multipath routes via same device [ Upstream commit 2fbc6e89b2f1403189e624cabaf73e189c5e50c6 ] Kfir reported that pmtu exceptions are not created properly for deployments where multipath routes use the same device. After some digging I see 2 compounding problems: 1. ip_route_output_key_hash_rcu is updating the flowi4_oif *after* the route lookup. This is the second use case where this has been a problem (the first is related to use of vti devices with VRF). I can not find any reason for the oif to be changed after the lookup; the code goes back to the start of git. It does not seem logical so remove it. 2. fib_lookups for exceptions do not call fib_select_path to handle multipath route selection based on the hash. The end result is that the fib_lookup used to add the exception always creates it based using the first leg of the route. An example topology showing the problem: | host1 +------+ | eth0 | .209 +------+ | +------+ switch | br0 | +------+ | +---------+---------+ | host2 | host3 +------+ +------+ | eth0 | .250 | eth0 | 192.168.252.252 +------+ +------+ +-----+ +-----+ | vti | .2 | vti | 192.168.247.3 +-----+ +-----+ \ / ================================= tunnels 192.168.247.1/24 for h in host1 host2 host3; do ip netns add ${h} ip -netns ${h} link set lo up ip netns exec ${h} sysctl -wq net.ipv4.ip_forward=1 done ip netns add switch ip -netns switch li set lo up ip -netns switch link add br0 type bridge stp 0 ip -netns switch link set br0 up for n in 1 2 3; do ip -netns switch link add eth-sw type veth peer name eth-h${n} ip -netns switch li set eth-h${n} master br0 up ip -netns switch li set eth-sw netns host${n} name eth0 done ip -netns host1 addr add 192.168.252.209/24 dev eth0 ip -netns host1 link set dev eth0 up ip -netns host1 route add 192.168.247.0/24 \ nexthop via 192.168.252.250 dev eth0 nexthop via 192.168.252.252 dev eth0 ip -netns host2 addr add 192.168.252.250/24 dev eth0 ip -netns host2 link set dev eth0 up ip -netns host2 addr add 192.168.252.252/24 dev eth0 ip -netns host3 link set dev eth0 up ip netns add tunnel ip -netns tunnel li set lo up ip -netns tunnel li add br0 type bridge ip -netns tunnel li set br0 up for n in $(seq 11 20); do ip -netns tunnel addr add dev br0 192.168.247.${n}/24 done for n in 2 3 do ip -netns tunnel link add vti${n} type veth peer name eth${n} ip -netns tunnel link set eth${n} mtu 1360 master br0 up ip -netns tunnel link set vti${n} netns host${n} mtu 1360 up ip -netns host${n} addr add dev vti${n} 192.168.247.${n}/24 done ip -netns tunnel ro add default nexthop via 192.168.247.2 nexthop via 192.168.247.3 ip netns exec host1 ping -M do -s 1400 -c3 -I 192.168.252.209 192.168.247.11 ip netns exec host1 ping -M do -s 1400 -c3 -I 192.168.252.209 192.168.247.15 ip -netns host1 ro ls cache Before this patch the cache always shows exceptions against the first leg in the multipath route; 192.168.252.250 per this example. Since the hash has an initial random seed, you may need to vary the final octet more than what is listed. In my tests, using addresses between 11 and 19 usually found 1 that used both legs. With this patch, the cache will have exceptions for both legs. Fixes: 4895c771c7f0 ("ipv4: Add FIB nexthop exceptions") Reported-by: Kfir Itzhak <mastertheknife@gmail.com> Signed-off-by: David Ahern <dsahern@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Eric Dumazet

commit sha 176b2e5140afa957095c84fade39f6fa87a07b0c

ipv6: avoid lockdep issue in fib6_del() [ Upstream commit 843d926b003ea692468c8cc5bea1f9f58dfa8c75 ] syzbot reported twice a lockdep issue in fib6_del() [1] which I think is caused by net->ipv6.fib6_null_entry having a NULL fib6_table pointer. fib6_del() already checks for fib6_null_entry special case, we only need to return earlier. Bug seems to occur very rarely, I have thus chosen a 'bug origin' that makes backports not too complex. [1] WARNING: suspicious RCU usage 5.9.0-rc4-syzkaller #0 Not tainted ----------------------------- net/ipv6/ip6_fib.c:1996 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 4 locks held by syz-executor.5/8095: #0: ffffffff8a7ea708 (rtnl_mutex){+.+.}-{3:3}, at: ppp_release+0x178/0x240 drivers/net/ppp/ppp_generic.c:401 #1: ffff88804c422dd8 (&net->ipv6.fib6_gc_lock){+.-.}-{2:2}, at: spin_trylock_bh include/linux/spinlock.h:414 [inline] #1: ffff88804c422dd8 (&net->ipv6.fib6_gc_lock){+.-.}-{2:2}, at: fib6_run_gc+0x21b/0x2d0 net/ipv6/ip6_fib.c:2312 #2: ffffffff89bd6a40 (rcu_read_lock){....}-{1:2}, at: __fib6_clean_all+0x0/0x290 net/ipv6/ip6_fib.c:2613 #3: ffff8880a82e6430 (&tb->tb6_lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:359 [inline] #3: ffff8880a82e6430 (&tb->tb6_lock){+.-.}-{2:2}, at: __fib6_clean_all+0x107/0x290 net/ipv6/ip6_fib.c:2245 stack backtrace: CPU: 1 PID: 8095 Comm: syz-executor.5 Not tainted 5.9.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x198/0x1fd lib/dump_stack.c:118 fib6_del+0x12b4/0x1630 net/ipv6/ip6_fib.c:1996 fib6_clean_node+0x39b/0x570 net/ipv6/ip6_fib.c:2180 fib6_walk_continue+0x4aa/0x8e0 net/ipv6/ip6_fib.c:2102 fib6_walk+0x182/0x370 net/ipv6/ip6_fib.c:2150 fib6_clean_tree+0xdb/0x120 net/ipv6/ip6_fib.c:2230 __fib6_clean_all+0x120/0x290 net/ipv6/ip6_fib.c:2246 fib6_clean_all net/ipv6/ip6_fib.c:2257 [inline] fib6_run_gc+0x113/0x2d0 net/ipv6/ip6_fib.c:2320 ndisc_netdev_event+0x217/0x350 net/ipv6/ndisc.c:1805 notifier_call_chain+0xb5/0x200 kernel/notifier.c:83 call_netdevice_notifiers_info+0xb5/0x130 net/core/dev.c:2033 call_netdevice_notifiers_extack net/core/dev.c:2045 [inline] call_netdevice_notifiers net/core/dev.c:2059 [inline] dev_close_many+0x30b/0x650 net/core/dev.c:1634 rollback_registered_many+0x3a8/0x1210 net/core/dev.c:9261 rollback_registered net/core/dev.c:9329 [inline] unregister_netdevice_queue+0x2dd/0x570 net/core/dev.c:10410 unregister_netdevice include/linux/netdevice.h:2774 [inline] ppp_release+0x216/0x240 drivers/net/ppp/ppp_generic.c:403 __fput+0x285/0x920 fs/file_table.c:281 task_work_run+0xdd/0x190 kernel/task_work.c:141 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_user_mode_loop kernel/entry/common.c:163 [inline] exit_to_user_mode_prepare+0x1e1/0x200 kernel/entry/common.c:190 syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:265 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Fixes: 421842edeaf6 ("net/ipv6: Add fib6_null_entry") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: David Ahern <dsahern@gmail.com> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Vladimir Oltean

commit sha 0b9c3f8de6abfc422e2d570ac99d69f4e289780a

net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU [ Upstream commit 99f62a746066fa436aa15d4606a538569540db08 ] When calling the RCU brother of br_vlan_get_pvid(), lockdep warns: ============================= WARNING: suspicious RCU usage 5.9.0-rc3-01631-g13c17acb8e38-dirty #814 Not tainted ----------------------------- net/bridge/br_private.h:1054 suspicious rcu_dereference_protected() usage! Call trace: lockdep_rcu_suspicious+0xd4/0xf8 __br_vlan_get_pvid+0xc0/0x100 br_vlan_get_pvid_rcu+0x78/0x108 The warning is because br_vlan_get_pvid_rcu() calls nbp_vlan_group() which calls rtnl_dereference() instead of rcu_dereference(). In turn, rtnl_dereference() calls rcu_dereference_protected() which assumes operation under an RCU write-side critical section, which obviously is not the case here. So, when the incorrect primitive is used to access the RCU-protected VLAN group pointer, READ_ONCE() is not used, which may cause various unexpected problems. I'm sad to say that br_vlan_get_pvid() and br_vlan_get_pvid_rcu() cannot share the same implementation. So fix the bug by splitting the 2 functions, and making br_vlan_get_pvid_rcu() retrieve the VLAN groups under proper locking annotations. Fixes: 7582f5b70f9a ("bridge: add br_vlan_get_pvid_rcu()") Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Petr Machata

commit sha 7e9939f0fef81043af9038b921287a460ff03f96

net: DCB: Validate DCB_ATTR_DCB_BUFFER argument [ Upstream commit 297e77e53eadb332d5062913447b104a772dc33b ] The parameter passed via DCB_ATTR_DCB_BUFFER is a struct dcbnl_buffer. The field prio2buffer is an array of IEEE_8021Q_MAX_PRIORITIES bytes, where each value is a number of a buffer to direct that priority's traffic to. That value is however never validated to lie within the bounds set by DCBX_MAX_BUFFERS. The only driver that currently implements the callback is mlx5 (maintainers CCd), and that does not do any validation either, in particual allowing incorrect configuration if the prio2buffer value does not fit into 4 bits. Instead of offloading the need to validate the buffer index to drivers, do it right there in core, and bounce the request if the value is too large. CC: Parav Pandit <parav@nvidia.com> CC: Saeed Mahameed <saeedm@nvidia.com> Fixes: e549f6f9c098 ("net/dcb: Add dcbnl buffer attribute") Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Linus Walleij

commit sha 4979e51c318caceb72208f4ed8e8d8c9842af6cf

net: dsa: rtl8366: Properly clear member config [ Upstream commit 4ddcaf1ebb5e4e99240f29d531ee69d4244fe416 ] When removing a port from a VLAN we are just erasing the member config for the VLAN, which is wrong: other ports can be using it. Just mask off the port and only zero out the rest of the member config once ports using of the VLAN are removed from it. Reported-by: Florian Fainelli <f.fainelli@gmail.com> Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver") Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Ido Schimmel

commit sha 894514e1785690949371c9ff4e9184841828a447

net: Fix bridge enslavement failure [ Upstream commit e1b9efe6baebe79019a2183176686a0e709388ae ] When a netdev is enslaved to a bridge, its parent identifier is queried. This is done so that packets that were already forwarded in hardware will not be forwarded again by the bridge device between netdevs belonging to the same hardware instance. The operation fails when the netdev is an upper of netdevs with different parent identifiers. Instead of failing the enslavement, have dev_get_port_parent_id() return '-EOPNOTSUPP' which will signal the bridge to skip the query operation. Other callers of the function are not affected by this change. Fixes: 7e1146e8c10c ("net: devlink: introduce devlink_compat_switch_id_get() helper") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reported-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Nikolay Aleksandrov <nikolay@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Necip Fazil Yildiran

commit sha 320df8ef04c6742a44a99680b83bce99e467c6aa

net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC [ Upstream commit db7cd91a4be15e1485d6b58c6afc8761c59c4efb ] When IPV6_SEG6_HMAC is enabled and CRYPTO is disabled, it results in the following Kbuild warning: WARNING: unmet direct dependencies detected for CRYPTO_HMAC Depends on [n]: CRYPTO [=n] Selected by [y]: - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y] WARNING: unmet direct dependencies detected for CRYPTO_SHA1 Depends on [n]: CRYPTO [=n] Selected by [y]: - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y] WARNING: unmet direct dependencies detected for CRYPTO_SHA256 Depends on [n]: CRYPTO [=n] Selected by [y]: - IPV6_SEG6_HMAC [=y] && NET [=y] && INET [=y] && IPV6 [=y] The reason is that IPV6_SEG6_HMAC selects CRYPTO_HMAC, CRYPTO_SHA1, and CRYPTO_SHA256 without depending on or selecting CRYPTO while those configs are subordinate to CRYPTO. Honor the kconfig menu hierarchy to remove kconfig dependency warnings. Fixes: bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support") Signed-off-by: Necip Fazil Yildiran <fazilyildiran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Maor Gottlieb

commit sha e9fd16fc0c7ddcdd66025e614c4120a6b97a5721

net/mlx5: Fix FTE cleanup [ Upstream commit cefc23554fc259114e78a7b0908aac4610ee18eb ] Currently, when an FTE is allocated, its refcount is decreased to 0 with the purpose it will not be a stand alone steering object and every rule (destination) of the FTE would increase the refcount. When mlx5_cleanup_fs is called while not all rules were deleted by the steering users, it hit refcount underflow on the FTE once clean_tree calls to tree_remove_node after the deleted rules already decreased the refcount to 0. FTE is no longer destroyed implicitly when the last rule (destination) is deleted. mlx5_del_flow_rules avoids it by increasing the refcount on the FTE and destroy it explicitly after all rules were deleted. So we can avoid the refcount underflow by making FTE as stand alone object. In addition need to set del_hw_func to FTE so the HW object will be destroyed when the FTE is deleted from the cleanup_tree flow. refcount_t: underflow; use-after-free. WARNING: CPU: 2 PID: 15715 at lib/refcount.c:28 refcount_warn_saturate+0xd9/0xe0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 Call Trace: tree_put_node+0xf2/0x140 [mlx5_core] clean_tree+0x4e/0xf0 [mlx5_core] clean_tree+0x4e/0xf0 [mlx5_core] clean_tree+0x4e/0xf0 [mlx5_core] clean_tree+0x5f/0xf0 [mlx5_core] clean_tree+0x4e/0xf0 [mlx5_core] clean_tree+0x5f/0xf0 [mlx5_core] mlx5_cleanup_fs+0x26/0x270 [mlx5_core] mlx5_unload+0x2e/0xa0 [mlx5_core] mlx5_unload_one+0x51/0x120 [mlx5_core] mlx5_devlink_reload_down+0x51/0x90 [mlx5_core] devlink_reload+0x39/0x120 ? devlink_nl_cmd_reload+0x43/0x220 genl_rcv_msg+0x1e4/0x420 ? genl_family_rcv_msg_attrs_parse+0x100/0x100 netlink_rcv_skb+0x47/0x110 genl_rcv+0x24/0x40 netlink_unicast+0x217/0x2f0 netlink_sendmsg+0x30f/0x430 sock_sendmsg+0x30/0x40 __sys_sendto+0x10e/0x140 ? handle_mm_fault+0xc4/0x1f0 ? do_page_fault+0x33f/0x630 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x48/0x130 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Fixes: 718ce4d601db ("net/mlx5: Consolidate update FTE for all removal changes") Fixes: bd71b08ec2ee ("net/mlx5: Support multiple updates of steering rules in parallel") Signed-off-by: Maor Gottlieb <maorg@nvidia.com> Reviewed-by: Mark Bloch <mbloch@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

push time in 15 days

issue commentimprobable-eng/grpc-web

Maximum number of server-side streaming requests

Alright, thanks a lot!

zonque

comment created time in 17 days

issue commentimprobable-eng/grpc-web

Maximum number of server-side streaming requests

Too bad. Are the limits at least documented somewhere?

zonque

comment created time in 17 days

issue openedimprobable-eng/grpc-web

Maximum number of server-side streaming requests

I'm running Vue.js a application that makes use of server-side streaming gRPC protocols. Per invocation of the application, about 6 streams are opened and read from. This usually works fine if there is only one window per browser, but it breaks when a second instance to the same server is opened. The effect I see then is that the POST requests to the streaming endpoints remain in a 'pending' state, but once the other instance is ended (the window is closed), they proceed just fine.

I haven't found any documentation on this, but apparently there is a per-remote, per-browser limit of some sort that also seems to differ on different platforms and browsers.

Is this a known issue? Are there any ideas in how to work around this?

created time in 17 days

startedimprobable-eng/grpc-web

started time in 17 days

push eventzonque/kicad-symbols

Daniel Mack

commit sha 2e85d105d095970724b632b4804e966fecd85c4a

Amplifier_Operational: TLV9064: switch to already existing footprint

view details

push time in a month

push eventzonque/kicad-symbols

Daniel Mack

commit sha 33206e9eae1a96a2bff36c010a4e5b271c80b294

Amplifier_Operational: TLV9064: switch to existing footprint

view details

push time in a month

pull request commentpointhi/kicad-footprint-generator

Add S-PWQFN-N16 with 1.7x1.7 EP

Thanks for the feedback. While adding moving it to the other location, I realized there is a definition already that serves the need quite well. Don't know why I didn't see that before. Sorry for the noise, I'll just go for the already existing option then.

zonque

comment created time in a month

push eventholoplot/linux

Jing Xiangfeng

commit sha aab25ff4643ebdd2a4462f49005042a48866d554

ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm() [ Upstream commit a58cfdba2039ff2d5758840e97a23a2dedecf1e8 ] The of_clk_get() function returns error pointers, it never returns NULL. Fixes: 4ea3711aece4 ("ARM: OMAP2+: omap-iommu.c conversion to ti-sysc") Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Adam Ford

commit sha c486743abc1bdb10cbe80ccc33d2a151e9af4803

ARM: dts: logicpd-torpedo-baseboard: Fix broken audio [ Upstream commit d7dfee67688ac7f2dfd4c3bc70c053ee990c40b5 ] Older versions of U-Boot would pinmux the whole board, but as the bootloader got updated, it started to only pinmux the pins it needed, and expected Linux to configure what it needed. Unfortunately this caused an issue with the audio, because the mcbsp2 pins were configured in the device tree, they were never referenced by the driver. When U-Boot stopped muxing the audio pins, the audio died. This patch adds the references to the associate the pin controller with the mcbsp2 driver which makes audio operate again. Fixes: 739f85bba5ab ("ARM: dts: Move most of logicpd-torpedo-37xx-devkit to logicpd-torpedo-baseboard") Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Adam Ford

commit sha 2a0b7124e5a123b87b6bff2e5093e69c7742149d

ARM: dts: logicpd-som-lv-baseboard: Fix broken audio [ Upstream commit 4d26e9a028e3d88223e06fa133c3d55af7ddbceb ] Older versions of U-Boot would pinmux the whole board, but as the bootloader got updated, it started to only pinmux the pins it needed, and expected Linux to configure what it needed. Unfortunately this caused an issue with the audio, because the mcbsp2 pins were configured in the device tree but never referenced by the driver. When U-Boot stopped muxing the audio pins, the audio died. This patch adds the references to the associate the pin controller with the mcbsp2 driver which makes audio operate again. Fixes: 5cb8b0fa55a9 ("ARM: dts: Move most of logicpd-som-lv-37xx-devkit.dts to logicpd-som-lv-baseboard.dtsi") Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Adam Ford

commit sha 421d06d4643726a6fd099c825932f13b34049cac

ARM: dts: logicpd-som-lv-baseboard: Fix missing video [ Upstream commit d1db7b80a6c8c5f81db0e80664d29b374750e2c6 ] A previous commit removed the panel-dpi driver, which made the SOM-LV video stop working because it relied on the DPI driver for setting video timings. Now that the simple-panel driver is available in omap2plus, this patch migrates the SOM-LV dev kits to use a similar panel and remove the manual timing requirements. A similar patch was already done and applied to the Torpedo family. Fixes: 8bf4b1621178 ("drm/omap: Remove panel-dpi driver") Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Michał Mirosław

commit sha 8dc8bed9be37ca33556a0606695956398621409d

regulator: push allocation in regulator_ena_gpio_request() out of lock [ Upstream commit 467bf30142c64f2eb64e2ac67fa4595126230efd ] Move another allocation out of regulator_list_mutex-protected region, as reclaim might want to take the same lock. WARNING: possible circular locking dependency detected 5.7.13+ #534 Not tainted ------------------------------------------------------ kswapd0/383 is trying to acquire lock: c0e5d920 (regulator_list_mutex){+.+.}-{3:3}, at: regulator_lock_dependent+0x54/0x2c0 but task is already holding lock: c0e38518 (fs_reclaim){+.+.}-{0:0}, at: __fs_reclaim_acquire+0x0/0x50 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (fs_reclaim){+.+.}-{0:0}: fs_reclaim_acquire.part.11+0x40/0x50 fs_reclaim_acquire+0x24/0x28 kmem_cache_alloc_trace+0x40/0x1e8 regulator_register+0x384/0x1630 devm_regulator_register+0x50/0x84 reg_fixed_voltage_probe+0x248/0x35c [...] other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(fs_reclaim); lock(regulator_list_mutex); lock(fs_reclaim); lock(regulator_list_mutex); *** DEADLOCK *** [...] 2 locks held by kswapd0/383: #0: c0e38518 (fs_reclaim){+.+.}-{0:0}, at: __fs_reclaim_acquire+0x0/0x50 #1: cb70e5e0 (hctx->srcu){....}-{0:0}, at: hctx_lock+0x60/0xb8 [...] Fixes: 541d052d7215 ("regulator: core: Only support passing enable GPIO descriptors") [this commit only changes context] Fixes: f8702f9e4aa7 ("regulator: core: Use ww_mutex for regulators locking") [this is when the regulator_list_mutex was introduced in reclaim locking path] Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Link: https://lore.kernel.org/r/41fe6a9670335721b48e8f5195038c3d67a3bf92.1597195321.git.mirq-linux@rere.qmqm.pl Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Michał Mirosław

commit sha 1dc746dfc129ac62df219ca95ebc5b0296d68da4

regulator: remove superfluous lock in regulator_resolve_coupling() [ Upstream commit a577f3456c0a2fac3dee037c483753e6e68f3e49 ] The code modifies rdev, but locks c_rdev instead. Remove the lock as this is held together by regulator_list_mutex taken in the caller. Fixes: f9503385b187 ("regulator: core: Mutually resolve regulators coupling") Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Reviewed-by: Dmitry Osipenko <digetx@gmail.com> Link: https://lore.kernel.org/r/25eb81cefb37a646f3e44eaaf1d8ae8881cfde52.1597195321.git.mirq-linux@rere.qmqm.pl Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Dinh Nguyen

commit sha 91dff93e5584278c23b1e787435210e94369de75

ARM: dts: socfpga: fix register entry for timer3 on Arria10 [ Upstream commit 0ff5a4812be4ebd4782bbb555d369636eea164f7 ] Fixes the register address for the timer3 entry on Arria10. Fixes: 475dc86d08de4 ("arm: dts: socfpga: Add a base DTSI for Altera's Arria10 SOC") Signed-off-by: Dinh Nguyen <dinguyen@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

David Shah

commit sha 2e173929f1d4c978c6d0d32c69daae2245db10e3

ARM: dts: omap5: Fix DSI base address and clocks [ Upstream commit 6542e2b613c2b1952e83973dc434831332ce8e27 ] DSI was not probing due to base address off by 0x1000, and sys_clk missing. With this patch, the Pyra display works if HDMI is disabled in the device tree. Fixes: 5a507162f096 ("ARM: dts: Configure interconnect target module for omap5 dsi1") Signed-off-by: David Shah <dave@ds0.me> Tested-by: H. Nikolaus Schaller <hns@goldelico.com> [tony@atomide.com: standardized subject line, added fixes tag] Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Po-Hsu Lin

commit sha 82649acf840dede59d0eeef82dfb90507bcd7e57

selftests/timers: Turn off timeout setting [ Upstream commit 5c1e4f7e9e49b6925b1fb5c507d2c614f3edb292 ] The following 4 tests in timers can take longer than the default 45 seconds that added in commit 852c8cbf34d3 ("selftests/kselftest/runner.sh: Add 45 second timeout per test") to run: * nsleep-lat - 2m7.350s * set-timer-lat - 2m0.66s * inconsistency-check - 1m45.074s * raw_skew - 2m0.013s Thus they will be marked as failed with the current 45s setting: not ok 3 selftests: timers: nsleep-lat # TIMEOUT not ok 4 selftests: timers: set-timer-lat # TIMEOUT not ok 6 selftests: timers: inconsistency-check # TIMEOUT not ok 7 selftests: timers: raw_skew # TIMEOUT Disable the timeout setting for timers can make these tests finish properly: ok 3 selftests: timers: nsleep-lat ok 4 selftests: timers: set-timer-lat ok 6 selftests: timers: inconsistency-check ok 7 selftests: timers: raw_skew https://bugs.launchpad.net/bugs/1864626 Fixes: 852c8cbf34d3 ("selftests/kselftest/runner.sh: Add 45 second timeout per test") Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> Acked-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Matthias Schiffer

commit sha 23057a8452f65dc983b47c94c422d8cebbf63aae

ARM: dts: ls1021a: fix QuadSPI-memory reg range [ Upstream commit 81dbbb417da4d1ac407dca5b434d39d5b6b91ef3 ] According to the Reference Manual, the correct size is 512 MiB. Without this fix, probing the QSPI fails: fsl-quadspi 1550000.spi: ioremap failed for resource [mem 0x40000000-0x7fffffff] fsl-quadspi 1550000.spi: Freescale QuadSPI probe failed fsl-quadspi: probe of 1550000.spi failed with error -12 Fixes: 85f8ee78ab72 ("ARM: dts: ls1021a: Add support for QSPI with ls1021a SoC") Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Anson Huang

commit sha c29e3108c40cfdcd460f041881a7df034f9e33ed

ARM: dts: imx7ulp: Correct gpio ranges [ Upstream commit deb6323b739c54e1a1e83cd3a2bae4901e3eebf6 ] Correct gpio ranges according to i.MX7ULP pinctrl driver: gpio_ptc: ONLY pin 0~19 are available; gpio_ptd: ONLY pin 0~11 are available; gpio_pte: ONLY pin 0~15 are available; gpio_ptf: ONLY pin 0~19 are available; Fixes: 20434dc92c05 ("ARM: dts: imx: add common imx7ulp dtsi support") Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Rob Herring

commit sha 86047782e0f97e49b8051024a01274d8d39f16a5

arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build [ Upstream commit 56e79dfd036b538940227fb31371c1cd67b2467f ] The imx8mm-beacon-kit.dtb was never added to dtbs-y and wasn't getting built. Fix it. Fixes: 593816fa2f35 ("arm64: dts: imx: Add Beacon i.MX8m-Mini development kit") Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP Linux Team <linux-imx@nxp.com> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Chris Healy

commit sha 8edf8c890ee27b0a4973afdebf4a89f6791573cf

ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy [ Upstream commit 5cbb80d5236b47b149da292b86d5fc99a680894b ] Since commit bcf3440c6dd7 ("net: phy: micrel: add phy-mode support for the KSZ9031 PHY") the networking is broken on the imx7d-zii-rmu2 board. The end result is that network receive behaviour is marginal with lots of RX CRC errors experienced and NFS frequently failing. Quoting the explanation from Andrew Lunn in commit 0672d22a19244 ("ARM: dts: imx: Fix the AR803X phy-mode"): "The problem here is, all the DTs were broken since day 0. However, because the PHY driver was also broken, nobody noticed and it worked. Now that the PHY driver has been fixed, all the bugs in the DTs now become an issue" Fix it by switching to phy-mode = "rgmii-id". Fixes: bcf3440c6dd7 ("net: phy: micrel: add phy-mode support for the KSZ9031 PHY") Signed-off-by: Chris Healy <cphealy@gmail.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Md Haris Iqbal

commit sha 81aaf0645c8135b354c4df91bfcb96f5e26f7d01

RDMA/rtrs-srv: Replace device_register with device_initialize and device_add [ Upstream commit baa5b28b7a474f66a511ebf71a2ade510652a2f6 ] There are error cases when we will call free_srv before device kobject is initialized; in such cases calling put_device generates the following warning: kobject: '(null)' (000000009f5445ed): is not initialized, yet kobject_put() is being called. So call device_initialize() only once when the server is allocated. If we end up calling put_srv() and subsequently free_srv(), our call to put_device() would result in deletion of the obj. Call device_add() later when we actually have a connection. Correspondingly, call device_del() instead of device_unregister() when srv->dev_ref falls to 0. Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality") Link: https://lore.kernel.org/r/20200811092722.2450-1-haris.iqbal@cloud.ionos.com Suggested-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Md Haris Iqbal <haris.iqbal@cloud.ionos.com> Reviewed-by: Jack Wang <jinpu.wang@cloud.ionos.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Dinghao Liu

commit sha bc7a51ca9cef842487878d932b5011a30d4419ad

RDMA/rxe: Fix memleak in rxe_mem_init_user [ Upstream commit e3ddd6067ee62f6e76ebcf61ff08b2c729ae412b ] When page_address() fails, umem should be freed just like when rxe_mem_alloc() fails. Fixes: 8700e3e7c485 ("Soft RoCE driver") Link: https://lore.kernel.org/r/20200819075632.22285-1-dinghao.liu@zju.edu.cn Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kamal Heib

commit sha 2b993e2073a755a20caf2d6d8b1b426f343d4a82

RDMA/rxe: Drop pointless checks in rxe_init_ports [ Upstream commit 6112ef62826e91afbae5446d5d47b38e25f47e3f ] Both pkey_tbl_len and gid_tbl_len are set in rxe_init_port_param() - so no need to check if they aren't set. Fixes: 8700e3e7c485 ("Soft RoCE driver") Link: https://lore.kernel.org/r/20200705104313.283034-2-kamalheib1@gmail.com Signed-off-by: Kamal Heib <kamalheib1@gmail.com> Reviewed-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kamal Heib

commit sha 9a65a5142af4cbaad644146662299c448b988bc1

RDMA/rxe: Fix panic when calling kmem_cache_create() [ Upstream commit d862060a4b43479887ae8e2c0b74a58c4e27e5f3 ] To avoid the following kernel panic when calling kmem_cache_create() with a NULL pointer from pool_cache(), Block the rxe_param_set_add() from running if the rdma_rxe module is not initialized. BUG: unable to handle kernel NULL pointer dereference at 000000000000000b PGD 0 P4D 0 Oops: 0000 [#1] SMP NOPTI CPU: 4 PID: 8512 Comm: modprobe Kdump: loaded Not tainted 4.18.0-231.el8.x86_64 #1 Hardware name: HPE ProLiant DL385 Gen10/ProLiant DL385 Gen10, BIOS A40 10/02/2018 RIP: 0010:kmem_cache_alloc+0xd1/0x1b0 Code: 8b 57 18 45 8b 77 1c 48 8b 5c 24 30 0f 1f 44 00 00 5b 48 89 e8 5d 41 5c 41 5d 41 5e 41 5f c3 81 e3 00 00 10 00 75 0e 4d 89 fe <41> f6 47 0b 04 0f 84 6c ff ff ff 4c 89 ff e8 cc da 01 00 49 89 c6 RSP: 0018:ffffa2b8c773f9d0 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000005 RDX: 0000000000000004 RSI: 00000000006080c0 RDI: 0000000000000000 RBP: ffff8ea0a8634fd0 R08: ffffa2b8c773f988 R09: 00000000006000c0 R10: 0000000000000000 R11: 0000000000000230 R12: 00000000006080c0 R13: ffffffffc0a97fc8 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f9138ed9740(0000) GS:ffff8ea4ae800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000000b CR3: 000000046d59a000 CR4: 00000000003406e0 Call Trace: rxe_alloc+0xc8/0x160 [rdma_rxe] rxe_get_dma_mr+0x25/0xb0 [rdma_rxe] __ib_alloc_pd+0xcb/0x160 [ib_core] ib_mad_init_device+0x296/0x8b0 [ib_core] add_client_context+0x11a/0x160 [ib_core] enable_device_and_get+0xdc/0x1d0 [ib_core] ib_register_device+0x572/0x6b0 [ib_core] ? crypto_create_tfm+0x32/0xe0 ? crypto_create_tfm+0x7a/0xe0 ? crypto_alloc_tfm+0x58/0xf0 rxe_register_device+0x19d/0x1c0 [rdma_rxe] rxe_net_add+0x3d/0x70 [rdma_rxe] ? dev_get_by_name_rcu+0x73/0x90 rxe_param_set_add+0xaf/0xc0 [rdma_rxe] parse_args+0x179/0x370 ? ref_module+0x1b0/0x1b0 load_module+0x135e/0x17e0 ? ref_module+0x1b0/0x1b0 ? __do_sys_init_module+0x13b/0x180 __do_sys_init_module+0x13b/0x180 do_syscall_64+0x5b/0x1a0 entry_SYSCALL_64_after_hwframe+0x65/0xca RIP: 0033:0x7f9137ed296e This can be triggered if a user tries to use the 'module option' which is not actually a real module option but some idiotic (and thankfully no obsolete) sysfs interface. Fixes: 8700e3e7c485 ("Soft RoCE driver") Link: https://lore.kernel.org/r/20200825151725.254046-1-kamalheib1@gmail.com Signed-off-by: Kamal Heib <kamalheib1@gmail.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Selvin Xavier

commit sha 6bcab9b51bab1a36cdf7bb3e5c814cabe8325d8e

RDMA/bnxt_re: Do not report transparent vlan from QP1 [ Upstream commit 2d0e60ee322d512fa6bc62d23a6760b39a380847 ] QP1 Rx CQE reports transparent VLAN ID in the completion and this is used while reporting the completion for received MAD packet. Check if the vlan id is configured before reporting it in the work completion. Fixes: 84511455ac5b ("RDMA/bnxt_re: report vlan_id and sl in qp1 recv completion") Link: https://lore.kernel.org/r/1598292876-26529-3-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Selvin Xavier

commit sha 1e608f9308aa30b2e42ddd06b5e9d8e13b97758d

RDMA/bnxt_re: Fix the qp table indexing [ Upstream commit 84cf229f4001c1216afc3e4c7f05e1620a0dd4bc ] qp->id can be a value outside the max number of qp. Indexing the qp table with the id can cause out of bounds crash. So changing the qp table indexing by (qp->id % max_qp -1). Allocating one extra entry for QP1. Some adapters create one more than the max_qp requested to accommodate QP1. If the qp->id is 1, store the inforamtion in the last entry of the qp table. Fixes: f218d67ef004 ("RDMA/bnxt_re: Allow posting when QPs are in error") Link: https://lore.kernel.org/r/1598292876-26529-4-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Naresh Kumar PBS

commit sha d71b3a81c0acf91e2932bd2b2eaaf3dd770f2cb7

RDMA/bnxt_re: Static NQ depth allocation [ Upstream commit f86b31c6a28f06eed3f6d9dc958079853b0792f1 ] At first, driver allocates memory for NQ based on qplib_ctx->cq_count and qplib_ctx->srqc_count. Later when creating ring, it uses a static value of 128K -1. Fixing this with a static value for now. Fixes: b08fe048a69d ("RDMA/bnxt_re: Refactor net ring allocation function") Link: https://lore.kernel.org/r/1598292876-26529-5-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com> Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

push time in a month

pull request commentKiCad/kicad-symbols

Sensor_Audio: add Knowles SPH0641LU4H digital MEMS microphone

It was found during a review of the footprint. Which is merged now, btw.

On September 16, 2020 5:00:34 PM GMT+02:00, Joel notifications@github.com wrote:

Oops thanks for this fix, haven't notice before the datasheet was wrong. It's better now.

-- Sent from my mobile. Please excuse typos and brevity.

zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 8b3b1323540948841f8a88358a2ed8173f664f9e

Knowles_LGA-5_3.5x2.65mm: revert courtyard to 0.01mm grid

view details

push time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha f2d413f9a721f2ae45cfa158b60818ecafcfb17c

Knowles_LGA-5_3.5x2.65mm: revert courtyard to to 0.01mm grid

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

I moved it to the 0.1 mm grid now. Let's see.

Nope.

    Courtyard lines are not on 0.01mm grid
     - Line (-1.6,-2) -> (1.6,-2) on layer 'F.CrtYd'
     - Line (1.6,-2) -> (1.6,2) on layer 'F.CrtYd'
     - Line (1.6,2) -> (-1.6,2) on layer 'F.CrtYd'
     - Line (-1.6,2) -> (-1.6,-2) on layer 'F.CrtYd'
zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 6161a8a80955d1fe44c11116f225f7fb0a9e9db7

Knowles_LGA-5_3.5x2.65mm: address more review comments

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

Interesting. That might be a bug in the check script. I will investigate.

I moved it to the 0.1 mm grid now. Let's see.

zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 564c491630cb64f146bbc7d4367abe0a48b70c90

Knowles_LGA-5_3.5x2.65mm: address more review comments

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

   Courtyard lines are not on 0.01mm grid
     - Line (-1.58,-2) -> (1.58,-2) on layer 'F.CrtYd'
     - Line (1.58,-2) -> (1.58,2) on layer 'F.CrtYd'
     - Line (1.58,2) -> (-1.58,2) on layer 'F.CrtYd'
     - Line (-1.58,2) -> (-1.58,-2) on layer 'F.CrtYd'

:thinking:

zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 01534a7144b84a4a4735acf02de01e3943b1212f

Knowles_LGA-5_3.5x2.65mm: address more review comments

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

  • F9.3 add a 3D-Model filename. Even though no model exists yet. The idea is that the footprint does not need to change should the 3D-Model be added in the future.

  • F5.3 courtyard onto 0.01mm grid. Move them (away from the part) by 0.005mm to fix that.

Done and done.

zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 7f476078a831534e3e70ad54ccf7670d4df5b0f1

Knowles_LGA-5_3.5x2.65mm: address more review comments

view details

push time in a month

create barnchzonque/yartyfactory

branch : master

created branch time in a month

created repositoryzonque/yartyfactory

created time in a month

pull request commentsystemd/systemd

network: follow ups for bridge MDB support

@zonque Thanks. Now link_set_bridge_mdb() is called on both link_request_set_addresses() and link_carrier_gained(). As if an interface already has carrier, then link_carrier_gained() will not be called, and thus we also need to call it in link_request_set_addresses(). PTAL.

Yes, works fine now!

yuwata

comment created time in a month

PullRequestReviewEvent

Pull request review commentsystemd/systemd

network: follow ups for bridge MDB support

 static int link_carrier_gained(Link *link) {         if (r < 0)                 return r; -        r = link_set_bridge_mdb(link);-        if (r < 0)-                return r;-

I did put the logic here because MDB entries cannot be configured on interfaces without a carrier.

With the code as it stands, I see the following:

enp57s0u2u2: Gained IPv6LL
testbr: Gained IPv6LL
Enumeration completed
testbr: netdev exists, using existing without changing its parameters
testbr: IPv6 successfully enabled
testbr: Link DOWN
enp0s20f0u1u1: Could not add MDB entry: Invalid argument
enp0s20f0u1u1: Failed

Once enp0s20f0u1u1 gains a carrier, the MDB entries are in fact configured correctly, so one could argue it's a cosmetic issue. I would still keep the code in link_carrier_gained().

yuwata

comment created time in a month

PullRequestReviewEvent

push eventzonque/kicad-footprints

Daniel Mack

commit sha 6cf05b360786aaf11ac03fb53823b8b0c384e238

Knowles_LGA-5_3.5x2.65mm: make silk screen smaller

view details

push time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 65eb869095556b25d9ebffb625f23aa165c1236b

Knowles_LGA-5_3.5x2.65mm: more review comments

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

Okay, I think I got it now.

zonque

comment created time in a month

push eventholoplot/linux

Pavel Begunkov

commit sha f5fea75f4ea401df7870ef7bf510c62ac9268745

io_uring: fix cancel of deferred reqs with ->files [ Upstream commit b7ddce3cbf010edbfac6c6d8cc708560a7bcd7a4 ] While trying to cancel requests with ->files, it also should look for requests in ->defer_list, otherwise it might end up hanging a thread. Cancel all requests in ->defer_list up to the last request there with matching ->files, that's needed to follow drain ordering semantics. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Pavel Begunkov

commit sha 87d8175e9c3de7b12584ec80baa5d4cc436b66da

io_uring: fix linked deferred ->files cancellation [ Upstream commit c127a2a1b7baa5eb40a7e2de4b7f0c51ccbbb2ef ] While looking for ->files in ->defer_list, consider that requests there may actually be links. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jason Gunthorpe

commit sha 5a0c4cbd099b82576dfb5aea6aab3d27517c91a2

RDMA/cma: Simplify DEVICE_REMOVAL for internal_id [ Upstream commit d54f23c09ec62670901f1a2a4712a5218522ca2b ] cma_process_remove() triggers an unconditional rdma_destroy_id() for internal_id's and skips the event deliver and transition through RDMA_CM_DEVICE_REMOVAL. This is confusing and unnecessary. internal_id always has cma_listen_handler() as the handler, have it catch the RDMA_CM_DEVICE_REMOVAL event and directly consume it and signal removal. This way the FSM sequence never skips the DEVICE_REMOVAL case and the logic in this hard to test area is simplified. Link: https://lore.kernel.org/r/20200723070707.1771101-2-leon@kernel.org Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jason Gunthorpe

commit sha c2064ac303312f5bb077d5e944f621d5b206d85e

RDMA/cma: Using the standard locking pattern when delivering the removal event [ Upstream commit 3647a28de1ada8708efc78d956619b9df5004478 ] Whenever an event is delivered to the handler it should be done under the handler_mutex and upon any non-zero return from the handler it should trigger destruction of the cm_id. cma_process_remove() skips some steps here, it is not necessarily wrong since the state change should prevent any races, but it is confusing and unnecessary. Follow the standard pattern here, with the slight twist that the transition to RDMA_CM_DEVICE_REMOVAL includes a cma_cancel_operation(). Link: https://lore.kernel.org/r/20200723070707.1771101-3-leon@kernel.org Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jason Gunthorpe

commit sha d4794085738d7912ec1fc6ebc9fabb20e07242f3

RDMA/cma: Remove unneeded locking for req paths [ Upstream commit cc9c037343898eb7a775e6b81d092ee21eeff218 ] The REQ flows are concerned that once the handler is called on the new cm_id the ULP can choose to trigger a rdma_destroy_id() concurrently at any time. However, this is not true, while the ULP can call rdma_destroy_id(), it immediately blocks on the handler_mutex which prevents anything harmful from running concurrently. Remove the confusing extra locking and refcounts and make the handler_mutex protecting state during destroy more clear. Link: https://lore.kernel.org/r/20200723070707.1771101-4-leon@kernel.org Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jason Gunthorpe

commit sha bd15d2192261183fb4af1a26f9eef8aa5f2e3fba

RDMA/cma: Execute rdma_cm destruction from a handler properly [ Upstream commit f6a9d47ae6854980fc4b1676f1fe9f9fa45ea4e2 ] When a rdma_cm_id needs to be destroyed after a handler callback fails, part of the destruction pattern is open coded into each call site. Unfortunately the blind assignment to state discards important information needed to do cma_cancel_operation(). This results in active operations being left running after rdma_destroy_id() completes, and the use-after-free bugs from KASAN. Consolidate this entire pattern into destroy_id_handler_unlock() and manage the locking correctly. The state should be set to RDMA_CM_DESTROYING under the handler_lock to atomically ensure no futher handlers are called. Link: https://lore.kernel.org/r/20200723070707.1771101-5-leon@kernel.org Reported-by: syzbot+08092148130652a6faae@syzkaller.appspotmail.com Reported-by: syzbot+a929647172775e335941@syzkaller.appspotmail.com Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ido Schimmel

commit sha d68c3397de4868d70fca0bbe1aa5d0bc75116412

ipv4: Silence suspicious RCU usage warning [ Upstream commit 7f6f32bb7d3355cd78ebf1dece9a6ea7a0ca8158 ] fib_info_notify_update() is always called with RTNL held, but not from an RCU read-side critical section. This leads to the following warning [1] when the FIB table list is traversed with hlist_for_each_entry_rcu(), but without a proper lockdep expression. Since modification of the list is protected by RTNL, silence the warning by adding a lockdep expression which verifies RTNL is held. [1] ============================= WARNING: suspicious RCU usage 5.9.0-rc1-custom-14233-g2f26e122d62f #129 Not tainted ----------------------------- net/ipv4/fib_trie.c:2124 RCU-list traversed in non-reader section!! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by ip/834: #0: ffffffff85a3b6b0 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x49a/0xbd0 stack backtrace: CPU: 0 PID: 834 Comm: ip Not tainted 5.9.0-rc1-custom-14233-g2f26e122d62f #129 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-2.fc32 04/01/2014 Call Trace: dump_stack+0x100/0x184 lockdep_rcu_suspicious+0x143/0x14d fib_info_notify_update+0x8d1/0xa60 __nexthop_replace_notify+0xd2/0x290 rtm_new_nexthop+0x35e2/0x5946 rtnetlink_rcv_msg+0x4f7/0xbd0 netlink_rcv_skb+0x17a/0x480 rtnetlink_rcv+0x22/0x30 netlink_unicast+0x5ae/0x890 netlink_sendmsg+0x98a/0xf40 ____sys_sendmsg+0x879/0xa00 ___sys_sendmsg+0x122/0x190 __sys_sendmsg+0x103/0x1d0 __x64_sys_sendmsg+0x7d/0xb0 do_syscall_64+0x32/0x50 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x7fde28c3be57 Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 RSP: 002b:00007ffc09330028 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fde28c3be57 RDX: 0000000000000000 RSI: 00007ffc09330090 RDI: 0000000000000003 RBP: 000000005f45f911 R08: 0000000000000001 R09: 00007ffc0933012c R10: 0000000000000076 R11: 0000000000000246 R12: 0000000000000001 R13: 00007ffc09330290 R14: 00007ffc09330eee R15: 00005610e48ed020 Fixes: 1bff1a0c9bbd ("ipv4: Add function to send route updates") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Ido Schimmel

commit sha 089097476c4cf4fe2700ce00d0e55d8b0c3cefec

ipv6: Fix sysctl max for fib_multipath_hash_policy [ Upstream commit 05d4487197b2b71d5363623c28924fd58c71c0b6 ] Cited commit added the possible value of '2', but it cannot be set. Fix it by adjusting the maximum value to '2'. This is consistent with the corresponding IPv4 sysctl. Before: # sysctl -w net.ipv6.fib_multipath_hash_policy=2 sysctl: setting key "net.ipv6.fib_multipath_hash_policy": Invalid argument net.ipv6.fib_multipath_hash_policy = 2 # sysctl net.ipv6.fib_multipath_hash_policy net.ipv6.fib_multipath_hash_policy = 0 After: # sysctl -w net.ipv6.fib_multipath_hash_policy=2 net.ipv6.fib_multipath_hash_policy = 2 # sysctl net.ipv6.fib_multipath_hash_policy net.ipv6.fib_multipath_hash_policy = 2 Fixes: d8f74f0975d8 ("ipv6: Support multipath hashing on inner IP pkts") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Stephen Suryaputra <ssuryaextr@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Paul Moore

commit sha 6540bd18bf2fe2091ae61a5f6138080451b8e20f

netlabel: fix problems with mapping removal [ Upstream commit d3b990b7f327e2afa98006e7666fb8ada8ed8683 ] This patch fixes two main problems seen when removing NetLabel mappings: memory leaks and potentially extra audit noise. The memory leaks are caused by not properly free'ing the mapping's address selector struct when free'ing the entire entry as well as not properly cleaning up a temporary mapping entry when adding new address selectors to an existing entry. This patch fixes both these problems such that kmemleak reports no NetLabel associated leaks after running the SELinux test suite. The potentially extra audit noise was caused by the auditing code in netlbl_domhsh_remove_entry() being called regardless of the entry's validity. If another thread had already marked the entry as invalid, but not removed/free'd it from the list of mappings, then it was possible that an additional mapping removal audit record would be generated. This patch fixes this by returning early from the removal function when the entry was previously marked invalid. This change also had the side benefit of improving the code by decreasing the indentation level of large chunk of code by one (accounting for most of the diffstat). Fixes: 63c416887437 ("netlabel: Add network address selectors to the NetLabel/LSM domain mapping") Reported-by: Stephen Smalley <stephen.smalley.work@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Kamil Lorenc

commit sha 05a8237c08f0adf7f41be7565f85775171f39e05

net: usb: dm9601: Add USB ID of Keenetic Plus DSL [ Upstream commit a609d0259183a841621f252e067f40f8cc25d6f6 ] Keenetic Plus DSL is a xDSL modem that uses dm9620 as its USB interface. Signed-off-by: Kamil Lorenc <kamil@re-ws.pl> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Xin Long

commit sha db16256c95ac7d74ecd43bce68f85a88663f3d9c

sctp: not disable bh in the whole sctp_get_port_local() [ Upstream commit 3106ecb43a05dc3e009779764b9da245a5d082de ] With disabling bh in the whole sctp_get_port_local(), when snum == 0 and too many ports have been used, the do-while loop will take the cpu for a long time and cause cpu stuck: [ ] watchdog: BUG: soft lockup - CPU#11 stuck for 22s! [ ] RIP: 0010:native_queued_spin_lock_slowpath+0x4de/0x940 [ ] Call Trace: [ ] _raw_spin_lock+0xc1/0xd0 [ ] sctp_get_port_local+0x527/0x650 [sctp] [ ] sctp_do_bind+0x208/0x5e0 [sctp] [ ] sctp_autobind+0x165/0x1e0 [sctp] [ ] sctp_connect_new_asoc+0x355/0x480 [sctp] [ ] __sctp_connect+0x360/0xb10 [sctp] There's no need to disable bh in the whole function of sctp_get_port_local. So fix this cpu stuck by removing local_bh_disable() called at the beginning, and using spin_lock_bh() instead. The same thing was actually done for inet_csk_get_port() in Commit ea8add2b1903 ("tcp/dccp: better use of ephemeral ports in bind()"). Thanks to Marcelo for pointing the buggy code out. v1->v2: - use cond_resched() to yield cpu to other tasks if needed, as Eric noticed. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reported-by: Ying Xu <yinxu@redhat.com> Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Vinicius Costa Gomes

commit sha 44c3fca3de64b976c2260605ca61277e5951c864

taprio: Fix using wrong queues in gate mask [ Upstream commit 09e31cf0c528dac3358a081dc4e773d1b3de1bc9 ] Since commit 9c66d1564676 ("taprio: Add support for hardware offloading") there's a bit of inconsistency when offloading schedules to the hardware: In software mode, the gate masks are specified in terms of traffic classes, so if say "sched-entry S 03 20000", it means that the traffic classes 0 and 1 are open for 20us; when taprio is offloaded to hardware, the gate masks are specified in terms of hardware queues. The idea here is to fix hardware offloading, so schedules in hardware and software mode have the same behavior. What's needed to do is to map traffic classes to queues when applying the offload to the driver. Fixes: 9c66d1564676 ("taprio: Add support for hardware offloading") Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Tetsuo Handa

commit sha aae250a268933d6eb4a7454e96abeb9c9a85fc04

tipc: fix shutdown() of connectionless socket [ Upstream commit 2a63866c8b51a3f72cea388dfac259d0e14c4ba6 ] syzbot is reporting hung task at nbd_ioctl() [1], for there are two problems regarding TIPC's connectionless socket's shutdown() operation. ---------- #include <fcntl.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <linux/nbd.h> #include <unistd.h> int main(int argc, char *argv[]) { const int fd = open("/dev/nbd0", 3); alarm(5); ioctl(fd, NBD_SET_SOCK, socket(PF_TIPC, SOCK_DGRAM, 0)); ioctl(fd, NBD_DO_IT, 0); /* To be interrupted by SIGALRM. */ return 0; } ---------- One problem is that wait_for_completion() from flush_workqueue() from nbd_start_device_ioctl() from nbd_ioctl() cannot be completed when nbd_start_device_ioctl() received a signal at wait_event_interruptible(), for tipc_shutdown() from kernel_sock_shutdown(SHUT_RDWR) from nbd_mark_nsock_dead() from sock_shutdown() from nbd_start_device_ioctl() is failing to wake up a WQ thread sleeping at wait_woken() from tipc_wait_for_rcvmsg() from sock_recvmsg() from sock_xmit() from nbd_read_stat() from recv_work() scheduled by nbd_start_device() from nbd_start_device_ioctl(). Fix this problem by always invoking sk->sk_state_change() (like inet_shutdown() does) when tipc_shutdown() is called. The other problem is that tipc_wait_for_rcvmsg() cannot return when tipc_shutdown() is called, for tipc_shutdown() sets sk->sk_shutdown to SEND_SHUTDOWN (despite "how" is SHUT_RDWR) while tipc_wait_for_rcvmsg() needs sk->sk_shutdown set to RCV_SHUTDOWN or SHUTDOWN_MASK. Fix this problem by setting sk->sk_shutdown to SHUTDOWN_MASK (like inet_shutdown() does) when the socket is connectionless. [1] https://syzkaller.appspot.com/bug?id=3fe51d307c1f0a845485cf1798aa059d12bf18b2 Reported-by: syzbot <syzbot+e36f41d207137b5d12f7@syzkaller.appspotmail.com> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Tuong Lien

commit sha 6f0e276cda3e452d634b05070fd23a5ef7e6d0a4

tipc: fix using smp_processor_id() in preemptible [ Upstream commit bb8872a1e6bc911869a729240781076ed950764b ] The 'this_cpu_ptr()' is used to obtain the AEAD key' TFM on the current CPU for encryption, however the execution can be preemptible since it's actually user-space context, so the 'using smp_processor_id() in preemptible' has been observed. We fix the issue by using the 'get/put_cpu_ptr()' API which consists of a 'preempt_disable()' instead. Fixes: fc1b6d6de220 ("tipc: introduce TIPC encryption & authentication") Acked-by: Jon Maloy <jmaloy@redhat.com> Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Jakub Kicinski

commit sha 655e1af6aecdd960df1fc99020aec3cd4527117b

net: disable netpoll on fresh napis [ Upstream commit 96e97bc07e90f175a8980a22827faf702ca4cb30 ] napi_disable() makes sure to set the NAPI_STATE_NPSVC bit to prevent netpoll from accessing rings before init is complete. However, the same is not done for fresh napi instances in netif_napi_add(), even though we expect NAPI instances to be added as disabled. This causes crashes during driver reconfiguration (enabling XDP, changing the channel count) - if there is any printk() after netif_napi_add() but before napi_enable(). To ensure memory ordering is correct we need to use RCU accessors. Reported-by: Rob Sherwood <rsher@fb.com> Fixes: 2d8bff12699a ("netpoll: Close race condition between poll_one_napi and napi_disable") Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Florian Westphal

commit sha cdba995d2f19932db89a91cf0d9a99d6e7d4659e

mptcp: free acked data before waiting for more memory [ Upstream commit 1cec170d458b1d18f6f1654ca84c0804a701c5ef ] After subflow lock is dropped, more wmem might have been made available. This fixes a deadlock in mptcp_connect.sh 'mmap' mode: wmem is exhausted. But as the mptcp socket holds on to already-acked data (for retransmit) no wakeup will occur. Using 'goto restart' calls mptcp_clean_una(sk) which will free pages that have been acked completely in the mean time. Fixes: fb529e62d3f3 ("mptcp: break and restart in case mptcp sndbuf is full") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Greg Kroah-Hartman

commit sha f82f36b2fb1ddb42102bba34336d8038a946dd54

Linux 5.8.9 Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Shuah Khan <skhan@linuxfoundation.org> Tested-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Daniel Mack

commit sha 3a34a98be74aae10ce78e1bf3ecbd2a7ee710852

config

view details

Daniel Mack

commit sha 07679daa609aec9d88addf7857ccc4291cefb900

ALSA: core: add snd_pcm_format_by_name() Add a new function to look up PCM format codes by name. This can be used by ASoC drivers to look up formats through device-tree properties, for instance. Signed-off-by: Daniel Mack <daniel@zonque.org>

view details

Daniel Mack

commit sha 8856579d4246ca541044884dd0398ee2ec3baa70

Input: ads7846: Add short-hand for spi->dev in probe() function This will make the code a bit more terse. No functional change intended. Signed-off-by: Daniel Mack <daniel@zonque.org> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>

view details

push time in a month

push eventzonque/kicad-symbols

Daniel Mack

commit sha 8ad6cee8f1cc60c93bcb1f95da97196c73cc46ee

Sensor_Audio.dcm: SPH0641LU4H-1: link to vendor hosted datasheet

view details

push time in a month

pull request commentKiCad/kicad-footprints

Sensor_Audio: Add LGA footprint for Knowles SPH0641LU4H-1

Thanks for the review @cpresser!

I addressed all you comments except for the arcs on F.Paste. I would say they are close enough to what the datasheet describes, but if you think they need fixing I'd appreciate a pointer on how that could be done.

zonque

comment created time in a month

push eventzonque/kicad-footprints

Daniel Mack

commit sha 329a08224501ada020e182b3a69821d600095c8b

Knowles_LGA-5_3.5x2.65mm: address review comments

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha 87cdf26274ee7a66e38e7ce31f639c0cd8012cdc

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha 3db468ea874c0aad062b53c786451a2b4e2af405

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha a1717e9af1e45ef66272b240ba9ccd08c6ba33cb

man: document new Network.BridgeMDB config options

view details

Daniel Mack

commit sha 58695ed50afad46e397b3927e334c08749bc511d

test: add BridgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

PullRequestReviewEvent

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

+/* SPDX-License-Identifier: LGPL-2.1+ */+#pragma once++#include "conf-parser.h"+#include "list.h"+#include "macro.h"+#include "networkd-util.h"++typedef struct Network Network;+typedef struct MdbEntry MdbEntry;+typedef struct Link Link;+typedef struct NetworkConfigSection NetworkConfigSection;++struct MdbEntry {+        Network *network;

Yes, to reach the bridge's network interface for instance.

zonque

comment created time in a month

push eventzonque/systemd

Daniel Mack

commit sha 04aa140c6382a7edb93aa182c19eda90148d5c7f

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha cce9276875ee05f20c2da351f571e7fc4267b6f9

man: document new Network.BridgeMDB config options

view details

Daniel Mack

commit sha 9cd8086d0eba9fd064a02f2157a28a581f5c2f34

test: add BridgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

+/* SPDX-License-Identifier: LGPL-2.1+ */++#include <linux/if_bridge.h>+#include <net/ethernet.h>+#include <net/if.h>++#include "alloc-util.h"+#include "bridge.h"+#include "conf-parser.h"+#include "netlink-util.h"+#include "networkd-manager.h"+#include "networkd-mdb.h"+#include "parse-util.h"+#include "util.h"+#include "vlan-util.h"++#define STATIC_MDB_ENTRIES_PER_NETWORK_MAX 1024U++/* create a new MDB entry or get an existing one. */+static int mdb_entry_new_static(+                Network *network,+                const char *filename,+                unsigned section_line,+                MdbEntry **ret) {++        _cleanup_(network_config_section_freep) NetworkConfigSection *n = NULL;+        _cleanup_(mdb_entry_freep) MdbEntry *mdb_entry = NULL;+        int r;++        assert(network);+        assert(ret);+        assert(!!filename == (section_line > 0));++        /* search entry in hashmap first. */+        if (filename) {+                r = network_config_section_new(filename, section_line, &n);+                if (r < 0)+                        return r;++                mdb_entry = hashmap_get(network->mdb_entries_by_section, n);+                if (mdb_entry) {+                        *ret = TAKE_PTR(mdb_entry);+                        return 0;+                }+        }++        if (network->n_static_mdb_entries >= STATIC_MDB_ENTRIES_PER_NETWORK_MAX)+                return -E2BIG;++        /* allocate space for an MDB entry. */+        mdb_entry = new(MdbEntry, 1);+        if (!mdb_entry)+                return -ENOMEM;++        /* init MDB structure. */+        *mdb_entry = (MdbEntry) {+                .network = network,+        };++        LIST_PREPEND(static_mdb_entries, network->static_mdb_entries, mdb_entry);+        network->n_static_mdb_entries++;++        if (filename) {+                mdb_entry->section = TAKE_PTR(n);++                r = hashmap_ensure_allocated(&network->mdb_entries_by_section, &network_config_hash_ops);+                if (r < 0)+                        return r;++                r = hashmap_put(network->mdb_entries_by_section, mdb_entry->section, mdb_entry);+                if (r < 0)+                        return r;+        }++        /* return allocated MDB structure. */+        *ret = TAKE_PTR(mdb_entry);++        return 0;+}++/* parse the VLAN Id from config files. */+int config_parse_mdb_vlan_id(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = config_parse_vlanid(unit, filename, line, section,+                                section_line, lvalue, ltype,+                                rvalue, &mdb_entry->vlan_id, userdata);+        if (r < 0)+                return r;++        mdb_entry = NULL;++        return 0;+}++/* parse the multicast group from config files. */+int config_parse_mdb_group_address(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        union in_addr_union group_addr;+        int family;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = in_addr_from_string_auto(rvalue, &family, &group_addr);+        if (r < 0) {+                log_syntax(unit, LOG_WARNING, filename, line, r, "Cannot parse group address: %m");+                return 0;+        }++        if (!in_addr_is_multicast(family, &group_addr)) {+                log_syntax(unit, LOG_WARNING, filename, line, 0, "Address %s is not a multicast group", rvalue);+                return 0;+        }++        mdb_entry->family = family;+        mdb_entry->group_addr = group_addr;

Right!

zonque

comment created time in a month

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

 IPv6Token=prefixstable:2002:da8:1::</programlisting></para>         </varlistentry>       </variablelist>   </refsect1>+  <refsect1>+    <title>[BridgeMDB] Section Options</title>+      <para>The [BridgeMDB] section manages the multicast membership entries forwarding database table of a port and accepts the following+      keys. Specify several [BridgeMDB] sections to configure several permanent multicast membership entries.</para>++      <variablelist class='network-directives'>+        <varlistentry>+          <term><varname>MulticastGroupAddress=</varname></term>+          <listitem>+            <para>Specifies the IPv4 or IPv6 multicast group address to ad

Oops.

zonque

comment created time in a month

pull request commentsystemd/systemd

network: add support for setting MDB entries

Thanks for the review @yuwata! Addressed you comments now.

zonque

comment created time in a month

PullRequestReviewEvent

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

 IPv6Token=prefixstable:2002:da8:1::</programlisting></para>         </varlistentry>       </variablelist>   </refsect1>+  <refsect1>+    <title>[BridgeMDB] Section Options</title>+      <para>The [BridgeMDB] section manages the multicast membership entries forwarding database table of a port and accepts the following+      keys. Specify several [BridgeMDB] sections to configure several permanent multicast membership entries.</para>++      <variablelist class='network-directives'>+        <varlistentry>+          <term><varname>Group=</varname></term>

Yeah, I was uncertain. Changed now!

zonque

comment created time in a month

push eventzonque/systemd

Daniel Mack

commit sha ab5b142a5c2d7b323d558c12709025945ba6f954

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha 5c7d030eb2973fb4e240e2095eaa1f7c122ff233

man: document new Network.BridgeMDB config options

view details

Daniel Mack

commit sha 50f5a3505003b2c36366be8e382e4e95506021ec

test: add BridgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

+/* SPDX-License-Identifier: LGPL-2.1+ */++#include <linux/if_bridge.h>+#include <net/ethernet.h>+#include <net/if.h>++#include "alloc-util.h"+#include "bridge.h"+#include "conf-parser.h"+#include "netlink-util.h"+#include "networkd-mdb.h"+#include "networkd-manager.h"+#include "parse-util.h"+#include "util.h"+#include "vlan-util.h"++#define STATIC_MDB_ENTRIES_PER_NETWORK_MAX 1024U++/* create a new MDB entry or get an existing one. */+static int mdb_entry_new_static(+                Network *network,+                const char *filename,+                unsigned section_line,+                MdbEntry **ret) {++        _cleanup_(network_config_section_freep) NetworkConfigSection *n = NULL;+        _cleanup_(mdb_entry_freep) MdbEntry *mdb_entry = NULL;+        int r;++        assert(network);+        assert(ret);+        assert(!!filename == (section_line > 0));++        /* search entry in hashmap first. */+        if (filename) {+                r = network_config_section_new(filename, section_line, &n);+                if (r < 0)+                        return r;++                mdb_entry = hashmap_get(network->mdb_entries_by_section, n);+                if (mdb_entry) {+                        *ret = TAKE_PTR(mdb_entry);+                        return 0;+                }+        }++        if (network->n_static_mdb_entries >= STATIC_MDB_ENTRIES_PER_NETWORK_MAX)+                return -E2BIG;++        /* allocate space for an MDB entry. */+        mdb_entry = new(MdbEntry, 1);+        if (!mdb_entry)+                return -ENOMEM;++        /* init MDB structure. */+        *mdb_entry = (MdbEntry) {+                .network = network,+        };++        LIST_PREPEND(static_mdb_entries, network->static_mdb_entries, mdb_entry);+        network->n_static_mdb_entries++;++        if (filename) {+                mdb_entry->section = TAKE_PTR(n);++                r = hashmap_ensure_allocated(&network->mdb_entries_by_section, &network_config_hash_ops);+                if (r < 0)+                        return r;++                r = hashmap_put(network->mdb_entries_by_section, mdb_entry->section, mdb_entry);+                if (r < 0)+                        return r;+        }++        /* return allocated MDB structure. */+        *ret = TAKE_PTR(mdb_entry);++        return 0;+}++/* parse the VLAN Id from config files. */+int config_parse_mdb_vlan_id(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = config_parse_vlanid(unit, filename, line, section,+                                section_line, lvalue, ltype,+                                rvalue, &mdb_entry->vlan_id, userdata);+        if (r < 0)+                return r;++        mdb_entry = NULL;++        return 0;+}++/* parse the multicast group from config files. */+int config_parse_mdb_group(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = in_addr_from_string_auto(rvalue, &mdb_entry->family, &mdb_entry->group_addr);+        if (r < 0) {+                log_syntax(unit, LOG_WARNING, filename, line, r, "Cannot parse group address: %m");+                return 0;+        }++        if (!in_addr_is_multicast(mdb_entry->family, &mdb_entry->group_addr)) {+                log_syntax(unit, LOG_WARNING, filename, line, 0, "Address %s is not a multicast group", rvalue);+                return 0;+        }++        mdb_entry = NULL;++        return 0;+}++/* remove and MDB entry. */+MdbEntry *mdb_entry_free(MdbEntry *mdb_entry) {+        if (!mdb_entry)+                return NULL;++        if (mdb_entry->network) {+                LIST_REMOVE(static_mdb_entries, mdb_entry->network->static_mdb_entries, mdb_entry);+                assert(mdb_entry->network->n_static_mdb_entries > 0);+                mdb_entry->network->n_static_mdb_entries--;++                if (mdb_entry->section)+                        hashmap_remove(mdb_entry->network->mdb_entries_by_section, mdb_entry->section);+        }++        network_config_section_free(mdb_entry->section);++        return mfree(mdb_entry);+}++static int set_mdb_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {+        int r;++        assert(link);++        if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER))+                return 1;++        r = sd_netlink_message_get_errno(m);+        if (r < 0 && r != -EEXIST) {+                log_link_message_warning_errno(link, m, r, "Could not add MDB entry");+                link_enter_failed(link);+                return 1;+        }++        return 1;+}++/* send a request to the kernel to add an MDB entry */+int mdb_entry_configure(Link *link, MdbEntry *mdb_entry) {+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;+        struct br_mdb_entry entry = {};+        int r;++        assert(link);+        assert(link->network);+        assert(link->network->bridge);+        assert(link->manager);+        assert(mdb_entry);++        entry.state = MDB_PERMANENT;+        entry.ifindex = link->ifindex;+        entry.vid = mdb_entry->vlan_id;

Alright. Done :)

zonque

comment created time in a month

PullRequestReviewEvent

push eventzonque/systemd

Daniel Mack

commit sha 33765ececbef848791ed381d2aede0e455e324bd

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha b8c31466486d7ba1b3862d2474210d8a494109b4

man: document new Network.BridgeMDB config options

view details

Daniel Mack

commit sha fb4f1101bc6722ca13221ab2d759e8257e2f83ce

test: add BridgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha d7e5cf1c77fbcc08e3b595fa5d3982c649c3b365

test: add BridgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha bce6c8e3b468a8f72902c5772a4d7d2d7b6fefd8

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha 30d4f999fa639f81825dae070998f0785d7ff37c

man: document new Network.BridgeMDB config options

view details

Daniel Mack

commit sha 4cec6e2c9cbc500512f173d1de2b8f1a8ca76011

test: add BirdgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

+/* SPDX-License-Identifier: LGPL-2.1+ */++#include <linux/if_bridge.h>+#include <net/ethernet.h>+#include <net/if.h>++#include "alloc-util.h"+#include "bridge.h"+#include "conf-parser.h"+#include "netlink-util.h"+#include "networkd-mdb.h"+#include "networkd-manager.h"+#include "parse-util.h"+#include "util.h"+#include "vlan-util.h"++#define STATIC_MDB_ENTRIES_PER_NETWORK_MAX 1024U++/* create a new MDB entry or get an existing one. */+static int mdb_entry_new_static(+                Network *network,+                const char *filename,+                unsigned section_line,+                MdbEntry **ret) {++        _cleanup_(network_config_section_freep) NetworkConfigSection *n = NULL;+        _cleanup_(mdb_entry_freep) MdbEntry *mdb_entry = NULL;+        int r;++        assert(network);+        assert(ret);+        assert(!!filename == (section_line > 0));++        /* search entry in hashmap first. */+        if (filename) {+                r = network_config_section_new(filename, section_line, &n);+                if (r < 0)+                        return r;++                mdb_entry = hashmap_get(network->mdb_entries_by_section, n);+                if (mdb_entry) {+                        *ret = TAKE_PTR(mdb_entry);+                        return 0;+                }+        }++        if (network->n_static_mdb_entries >= STATIC_MDB_ENTRIES_PER_NETWORK_MAX)+                return -E2BIG;++        /* allocate space for an MDB entry. */+        mdb_entry = new(MdbEntry, 1);+        if (!mdb_entry)+                return -ENOMEM;++        /* init MDB structure. */+        *mdb_entry = (MdbEntry) {+                .network = network,+        };++        LIST_PREPEND(static_mdb_entries, network->static_mdb_entries, mdb_entry);+        network->n_static_mdb_entries++;++        if (filename) {+                mdb_entry->section = TAKE_PTR(n);++                r = hashmap_ensure_allocated(&network->mdb_entries_by_section, &network_config_hash_ops);+                if (r < 0)+                        return r;++                r = hashmap_put(network->mdb_entries_by_section, mdb_entry->section, mdb_entry);+                if (r < 0)+                        return r;+        }++        /* return allocated MDB structure. */+        *ret = TAKE_PTR(mdb_entry);++        return 0;+}++/* parse the VLAN Id from config files. */+int config_parse_mdb_vlan_id(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = config_parse_vlanid(unit, filename, line, section,+                                section_line, lvalue, ltype,+                                rvalue, &mdb_entry->vlan_id, userdata);+        if (r < 0)+                return r;++        mdb_entry = NULL;++        return 0;+}++/* parse the multicast group from config files. */+int config_parse_mdb_group(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = in_addr_from_string_auto(rvalue, &mdb_entry->family, &mdb_entry->group_addr);+        if (r < 0) {+                log_syntax(unit, LOG_WARNING, filename, line, r, "Cannot parse group address: %m");+                return 0;+        }++        if (!in_addr_is_multicast(mdb_entry->family, &mdb_entry->group_addr)) {+                log_syntax(unit, LOG_WARNING, filename, line, 0, "Address %s is not a multicast group", rvalue);+                return 0;+        }++        mdb_entry = NULL;++        return 0;+}++/* remove and MDB entry. */+MdbEntry *mdb_entry_free(MdbEntry *mdb_entry) {+        if (!mdb_entry)+                return NULL;++        if (mdb_entry->network) {+                LIST_REMOVE(static_mdb_entries, mdb_entry->network->static_mdb_entries, mdb_entry);+                assert(mdb_entry->network->n_static_mdb_entries > 0);+                mdb_entry->network->n_static_mdb_entries--;++                if (mdb_entry->section)+                        hashmap_remove(mdb_entry->network->mdb_entries_by_section, mdb_entry->section);+        }++        network_config_section_free(mdb_entry->section);+        free(mdb_entry);++        return NULL;+}++static int set_mdb_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {+        int r;++        assert(link);++        if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER))+                return 1;++        r = sd_netlink_message_get_errno(m);+        if (r < 0 && r != -EEXIST) {+                log_link_message_warning_errno(link, m, r, "Could not add MDB entry");+                link_enter_failed(link);+                return 1;+        }++        return 1;+}++/* send a request to the kernel to add an MDB entry */+int mdb_entry_configure(Link *link, MdbEntry *mdb_entry) {+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;+        struct br_mdb_entry entry = {};+        int r;++        assert(link);+        assert(link->network);+        assert(link->network->bridge);+        assert(link->manager);+        assert(mdb_entry);++        entry.state = MDB_PERMANENT;+        entry.ifindex = link->ifindex;+        entry.vid = mdb_entry->vlan_id;++        /* create new RTM message */+        r = sd_rtnl_message_new_mdb(link->manager->rtnl, &req, RTM_NEWMDB, link->network->bridge->ifindex);+        if (r < 0)+                return log_link_error_errno(link, r, "Could not create RTM_NEWMDB message: %m");++        switch (mdb_entry->family) {+        case AF_INET:+                entry = (struct br_mdb_entry) {+                        .addr.u.ip4 = mdb_entry->group_addr.in.s_addr,+                        .addr.proto = htobe16(ETH_P_IP),+                };

Yes, exactly, that makes no sense, and yes, the members above were also set in the initial version. I reverted to the original approach.

zonque

comment created time in a month

PullRequestReviewEvent

push eventzonque/systemd

Lennart Poettering

commit sha 36aaabc35e524184a896e1505997b6a3b526b889

resolve: DNSStubListenerExtra → DnsStubListenerExtra All our other struct types use the "Dns" spelling, rather than "DNS". Do the same for this struct.

view details

Lennart Poettering

commit sha ae8f0ec323f3cc1b75e2d25d4832fd9bc232261b

resolved: move dns stub definitions to resolved-dns-stub.[ch] Just some moving around, no logic changes.

view details

Lennart Poettering

commit sha 0354029bf572489bf968a39c537ec0cbdef828ce

resolved: don't store udp/tcp fd in DnsPacket object DnsPacket should better be a "dead" object, i.e. list facts, not track resources. By including an fd in its fields it started tracking resources however, without actually taking a ref to the fd (i.e. no dup() or so was called on it). Let's hence rework things so that we don#t have to keep track of the fd a packet came in from. Instead, pass around the DnsStubListenerExtra object wherever we need to. This should be useful as soon as we start caching whole DnsPacket objects to allow replying to DNSSEC/CO packets, i.e. where we have to keep a copy of the original DnsPacket around for a long time in cache, potentially much longer than the fds the packet was received on.

view details

Lennart Poettering

commit sha 4934ba2121d76229659939e19ab7d70a89446629

socket: fix copy/paste error Fixes: CID1432653

view details

Lennart Poettering

commit sha 7a7e97ad94afd718ac9ed4443055cf6de5b15178

sd-login: fix memory leak Fixes: CID1432652

view details

Mikael Szreder

commit sha 664ad0f6f54257643fa069d9e1e9cad0f6fd7cc3

cryptsetup: Fix null pointer dereference (#16987) cryptsetup: Fix null pointer dereference Fix null pointer dereference in the pkcs11 related code of systemd-cryptsetup

view details

Zbigniew Jędrzejewski-Szmek

commit sha 5887cd71308b090355501c4c910b4e28f5d833eb

Merge pull request #16997 from poettering/foreach-word-followup fix two coverity issues

view details

Zbigniew Jędrzejewski-Szmek

commit sha 2bb4d58eba2fb25f729ed35e7a5a564e6f2ad777

Merge pull request #16985 from poettering/resolve-dns-stub-extra-fixlets resolved: dns stub listener extra fixes

view details

Lennart Poettering

commit sha 8d29a1b9c52467f1b4c4c4c3c4b1be0dcd2bb5f5

man: document that sd_bus_message_close_container() may only be called at end of container Prompted-by: https://lists.freedesktop.org/archives/systemd-devel/2020-September/045264.html

view details

Lennart Poettering

commit sha 40eb1b0ae8bc63844be608814147f561c803d497

tree-wide: prefer AF_xyz over PF_xyz This really doesn't matter given that AF_xyz and PF_xyz are equivalent in all ways, but we almost always use AF_xyz, hence stick to it universally and convert the remaining PF_ to AF_

view details

Lennart Poettering

commit sha e5f1b999eb51681e895ad77281a6862478641845

network: don't fail on various config parse errors We typically don't fail on config parse errors (to maximize compat), let's not do this in these cases either.

view details

Lennart Poettering

commit sha d8ea7f838b1199d240d522ee3ce05d1c263b7ad4

ethtool-util: don't pass error value that isn't used to log_syntax

view details

Zbigniew Jędrzejewski-Szmek

commit sha 293772c27a73bf44957795ed0d14db60abf37a82

Merge pull request #17000 from poettering/network-fixlets network: a bunch of unimportant cleanups across the board

view details

Yu Watanabe

commit sha b6c7c4a87b28abadb84c1eaf05d68f7a8734fd57

network: update log message for rtnl messages

view details

Yu Watanabe

commit sha 755dbda35514556647290a3e19a0410b9886cc72

network: also logs priority of routing policy rules

view details

Yu Watanabe

commit sha d85b0d69f1aa6cf256f396454608f2df91ef387c

network: add debug log for removing routing policy rules

view details

Yu Watanabe

commit sha c2d6fcb1478129cbd2971298cc4b095c462242ac

network: do not assign return value if the parse_fwmark_fwmask() fails This also removes redundant logs, and makes input string not copied if it does not contain '/'.

view details

Yu Watanabe

commit sha bd1000b4a074a856026ddb3da5f77076803f64a5

network: fix the default mask for FirewallMark= And always send FRA_FWMASK if FirewallMark= is set. C.f. https://github.com/torvalds/linux/commit/b8964ed9fa727109c9084abc807652ebfb681c18 Partially fixes #16784.

view details

Yu Watanabe

commit sha 2102d33cfbb88e1867317185a63c4f3284478ea4

network: also process RTM_NEWRULE or RTM_DELRULE message which does not contain src and dst addresses Fixes #16784.

view details

Yu Watanabe

commit sha 17d2b2e4eff151e6e6bf20e97c70defd76218cc2

network: replace FRA_IFNAME -> FRA_IIFNAME No functional change, as FRA_IFNAME is an alias of FRA_IIFNAME.

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha 9cc40133cb5687b37db97c873de24a5cd37b43ac

test: add BirdgeMDB to fuzz-network-parser/directives.network

view details

push time in a month

push eventholoplot/linux

Grant Peltier

commit sha 7cd0d11c64089a0ea0caeb63f7e094ca435a9911

hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 [ Upstream commit 51fb91ed5a6fa855a74731610cd5435d83d6e17f ] Per the RAA228228 datasheet, READ_TEMPERATURE_1 is not a supported PMBus command. Signed-off-by: Grant Peltier <grantpeltier93@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Sebastian Parschauer

commit sha 8ca621939d7668a71ece480f417bcf3c8d7b93d0

HID: quirks: Always poll three more Lenovo PixArt mice [ Upstream commit 627a49975bdc3220f360a8237603a6344ee6a588 ] The PixArt OEM mice are known for disconnecting every minute in runlevel 1 or 3 if they are not always polled. One Lenovo PixArt mouse is already fixed. Got two references for 17ef:602e and three references for 17ef:6019 misbehaving like this. Got one direct bug report for 17ef:6093 from Wyatt Ward (wyatt8740). So add HID_QUIRK_ALWAYS_POLL for all of them. Link: https://github.com/sriemer/fix-linux-mouse issue 22 Signed-off-by: Sebastian Parschauer <s.parschauer@gmx.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kalyan Thota

commit sha 6ea918a6197d8dc96fdb6d1cf499b0675bf4b645

drm/msm/dpu: Fix reservation failures in modeset [ Upstream commit ccc862b957c6413b008fbe458034372847992d7f ] In TEST_ONLY commit, rm global_state will duplicate the object and request for new reservations, once they pass then the new state will be swapped with the old and will be available for the Atomic Commit. This patch fixes some of missing links in the resource reservation sequence mentioned above. 1) Creation of duplicate state in test_only commit (Rob) 2) Allocate and release the resources on every modeset. 3) Avoid allocation only when active is false. In a modeset operation, swap state happens well before disable. Hence clearing reservations in disable will cause failures in modeset enable. Allow reservations to be cleared/allocated before swap, such that only newly committed resources are pushed to HW. Changes in v1: - Move the rm release to atomic_check. - Ensure resource allocation and free happens when active is not changed i.e only when mode is changed.(Rob) Changes in v2: - Handle dpu_kms_get_global_state API failure as it may return EDEADLK (swboyd). Signed-off-by: Kalyan Thota <kalyan_t@codeaurora.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kalyan Thota

commit sha d33d9115be043e0eb3a5807e5504d25f61edbf47

drm/msm/dpu: Fix scale params in plane validation [ Upstream commit 4c978caf08aa155bdeadd9e2d4b026d4ce97ebd0 ] Plane validation uses an API drm_calc_scale which will return src/dst value as a scale ratio. when viewing the range on a scale the values should fall in as Upscale ratio < Unity scale < Downscale ratio for src/dst formula Fix the min and max scale ratios to suit the API accordingly. Signed-off-by: Kalyan Thota <kalyan_t@codeaurora.org> Tested-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Rob Clark

commit sha c92e690c5e23a48561c269c23d5c17ac6b5fec3d

drm/msm/dpu: fix unitialized variable error [ Upstream commit 35c719da95c0d28560bff7bafeaf07ebb212665e ] drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c:817 dpu_crtc_enable() error: uninitialized symbol 'request_bandwidth'. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

John Stultz

commit sha 87371d8581013aa6cf8987565a54c0ac3694774d

tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup [ Upstream commit 975efc66d4e654207c17f939eb737ac591ac38fe ] When booting with heavily modularized config, the serial console may not be able to load until after init when modules that satisfy needed dependencies have time to load. Unfortunately, as qcom_geni_console_setup is marked as __init, the function may have been freed before we get to run it, causing boot time crashes such as: [ 6.469057] Unable to handle kernel paging request at virtual address ffffffe645d4e6cc [ 6.481623] Mem abort info: [ 6.484466] ESR = 0x86000007 [ 6.487557] EC = 0x21: IABT (current EL), IL = 32 bits [ 6.492929] SET = 0, FnV = 0g [ 6.496016] EA = 0, S1PTW = 0 [ 6.499202] swapper pgtable: 4k pages, 39-bit VAs, pgdp=000000008151e000 [ 6.501286] ufshcd-qcom 1d84000.ufshc: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2 [ 6.505977] [ffffffe645d4e6cc] pgd=000000017df9f003, p4d=000000017df9f003, pud=000000017df9f003, pmd=000000017df9c003, pte=0000000000000000 [ 6.505990] Internal error: Oops: 86000007 [#1] PREEMPT SMP [ 6.505995] Modules linked in: zl10353 zl10039 zl10036 zd1301_demod xc5000 xc4000 ves1x93 ves1820 tuner_xc2028 tuner_simple tuner_types tua9001 tua6100 1 [ 6.506152] isl6405 [ 6.518104] ufshcd-qcom 1d84000.ufshc: ufshcd_find_max_sup_active_icc_level: Regulator capability was not set, actvIccLevel=0 [ 6.530549] horus3a helene fc2580 fc0013 fc0012 fc0011 ec100 e4000 dvb_pll ds3000 drxk drxd drx39xyj dib9000 dib8000 dib7000p dib7000m dib3000mc dibx003 [ 6.624271] CPU: 7 PID: 148 Comm: kworker/7:2 Tainted: G W 5.8.0-mainline-12021-g6defd37ba1cd #3455 [ 6.624273] Hardware name: Thundercomm Dragonboard 845c (DT) [ 6.624290] Workqueue: events deferred_probe_work_func [ 6.624296] pstate: 40c00005 (nZcv daif +PAN +UAO BTYPE=--) [ 6.624307] pc : qcom_geni_console_setup+0x0/0x110 [ 6.624316] lr : try_enable_new_console+0xa0/0x140 [ 6.624318] sp : ffffffc010843a30 [ 6.624320] x29: ffffffc010843a30 x28: ffffffe645c3e7d0 [ 6.624325] x27: ffffff80f8022180 x26: ffffffc010843b28 [ 6.637937] x25: 0000000000000000 x24: ffffffe6462a2000 [ 6.637941] x23: ffffffe646398000 x22: 0000000000000000 [ 6.637945] x21: 0000000000000000 x20: ffffffe6462a5ce8 [ 6.637952] x19: ffffffe646398e38 x18: ffffffffffffffff [ 6.680296] x17: 0000000000000000 x16: ffffffe64492b900 [ 6.680300] x15: ffffffe6461e9d08 x14: 69202930203d2064 [ 6.680305] x13: 7561625f65736162 x12: 202c363331203d20 [ 6.696434] x11: 0000000000000030 x10: 0101010101010101 [ 6.696438] x9 : 4d4d20746120304d x8 : 7f7f7f7f7f7f7f7f [ 6.707249] x7 : feff4c524c787373 x6 : 0000000000008080 [ 6.707253] x5 : 0000000000000000 x4 : 8080000000000000 [ 6.707257] x3 : 0000000000000000 x2 : ffffffe645d4e6cc [ 6.744223] qcom_geni_serial 898000.serial: dev_pm_opp_set_rate: failed to find OPP for freq 102400000 (-34) [ 6.744966] x1 : fffffffefe74e174 x0 : ffffffe6462a5ce8 [ 6.753580] qcom_geni_serial 898000.serial: dev_pm_opp_set_rate: failed to find OPP for freq 102400000 (-34) [ 6.761634] Call trace: [ 6.761639] qcom_geni_console_setup+0x0/0x110 [ 6.761645] register_console+0x29c/0x2f8 [ 6.767981] Bluetooth: hci0: Frame reassembly failed (-84) [ 6.775252] uart_add_one_port+0x438/0x500 [ 6.775258] qcom_geni_serial_probe+0x2c4/0x4a8 [ 6.775266] platform_drv_probe+0x58/0xa8 [ 6.855359] really_probe+0xec/0x398 [ 6.855362] driver_probe_device+0x5c/0xb8 [ 6.855367] __device_attach_driver+0x98/0xb8 [ 7.184945] bus_for_each_drv+0x74/0xd8 [ 7.188825] __device_attach+0xec/0x148 [ 7.192705] device_initial_probe+0x24/0x30 [ 7.196937] bus_probe_device+0x9c/0xa8 [ 7.200816] deferred_probe_work_func+0x7c/0xb8 [ 7.205398] process_one_work+0x20c/0x4b0 [ 7.209456] worker_thread+0x48/0x460 [ 7.213157] kthread+0x14c/0x158 [ 7.216432] ret_from_fork+0x10/0x18 [ 7.220049] Code: bad PC value [ 7.223139] ---[ end trace 73f3b21e251d5a70 ]--- Thus this patch removes the __init avoiding crash in such configs. Cc: Andy Gross <agross@kernel.org> Cc: Jiri Slaby <jirislaby@kernel.org> Cc: Saravana Kannan <saravanak@google.com> Cc: Todd Kjos <tkjos@google.com> Cc: Amit Pundir <amit.pundir@linaro.org> Cc: linux-arm-msm@vger.kernel.org Cc: linux-serial@vger.kernel.org Suggested-by: Saravana Kannan <saravanak@google.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200811025044.70626-1-john.stultz@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Krishna Manikandan

commit sha 56ed34ea6cd73c2fd5384d03a9034e6f229a390a

drm/msm: add shutdown support for display platform_driver [ Upstream commit 9d5cbf5fe46e350715389d89d0c350d83289a102 ] Define shutdown callback for display drm driver, so as to disable all the CRTCS when shutdown notification is received by the driver. This change will turn off the timing engine so that no display transactions are requested while mmu translations are getting disabled during reboot sequence. Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org> Changes in v2: - Remove NULL check from msm_pdev_shutdown (Stephen Boyd) - Change commit text to reflect when this issue was uncovered (Sai Prakash Ranjan) Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Tom Rix

commit sha 64c064ba11c6292aa88d11482a1b5b3a48ee7ced

hwmon: (applesmc) check status earlier. [ Upstream commit cecf7560f00a8419396a2ed0f6e5d245ccb4feac ] clang static analysis reports this representative problem applesmc.c:758:10: warning: 1st function call argument is an uninitialized value left = be16_to_cpu(*(__be16 *)(buffer + 6)) >> 2; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ buffer is filled by the earlier call ret = applesmc_read_key(LIGHT_SENSOR_LEFT_KEY, ... This problem is reported because a goto skips the status check. Other similar problems use data from applesmc_read_key before checking the status. So move the checks to before the use. Signed-off-by: Tom Rix <trix@redhat.com> Reviewed-by: Henrik Rydberg <rydberg@bitmath.org> Link: https://lore.kernel.org/r/20200820131932.10590-1-trix@redhat.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Amit Engel

commit sha 3fe50ada2a5603d8e6502b2d6f51dc04446f665c

nvmet: Disable keep-alive timer when kato is cleared to 0h [ Upstream commit 0d3b6a8d213a30387b5104b2fb25376d18636f23 ] Based on nvme spec, when keep alive timeout is set to zero the keep-alive timer should be disabled. Signed-off-by: Amit Engel <amit.engel@dell.com> Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Rob Clark

commit sha 4e2beff0b638f17ba9a8c6d15aff986f83213e06

drm/msm: enable vblank during atomic commits [ Upstream commit 43906812eaab06423f56af5cca9a9fcdbb4ac454 ] This has roughly the same effect as drm_atomic_helper_wait_for_vblanks(), basically just ensuring that vblank accounting is enabled so that we get valid timestamp/seqn on pageflip events. Signed-off-by: Rob Clark <robdclark@chromium.org> Tested-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha b18c6071868cef30e178bdae8f4479e162ec0747

habanalabs: unmap PCI bars upon iATU failure [ Upstream commit f1aae40e8dbd2655e3b10cae381a1e8292b19d57 ] In case the driver fails to configure the PCI controller iATU, it needs to unmap the PCI bars before exiting so if the driver is removed, the bars won't be left mapped. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha fb8b4592f9585a9f50683ad3423c74a21c9f0991

habanalabs: validate packet id during CB parse [ Upstream commit bc75be24fa88ef10eecaff2b2a9ada8189e5ab5d ] During command buffer parsing, driver extracts packet id from user buffer. Driver must validate this packet id, since it is being used in order to extract information from internal structures. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha a8d7e55996142aea8747d701d17d32560d86496a

habanalabs: set clock gating according to mask [ Upstream commit f44d23b9095abd91dad9f5f3add2a3149833ec83 ] Once clock gating is set we enable clock gating according to mask, we should also disable clock gating according to relevant bits. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha 3a24b9420ee0a0f146840c29883d671327e00f4c

habanalabs: proper handling of alloc size in coresight [ Upstream commit 36545279f076afeb77104f5ffeab850da3b6d107 ] Allocation size can go up to 64bit but truncated to 32bit, we should make sure it is not truncated and validate no address overflow. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Oded Gabbay

commit sha 9a3acad9ae0ea859d6408bacbb7ffaf8adc5dcf2

habanalabs: set max power according to card type [ Upstream commit 58361aae4b0eed388680a89ac153d27177f40510 ] In Gaudi, the default max power setting is different between PCI and PMC cards. Therefore, the driver need to set the default after knowing what is the card type. The current code has a bug where it limits the maximum power of the PMC card to 200W after a reset occurs. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha 72038388869bc808f219734d111a4121d2ff99d5

habanalabs: validate FW file size [ Upstream commit bce382a8bb080ed5f2f3a06754526dc58b91cca2 ] We must validate FW size in order not to corrupt memory in case a malicious FW file will be present in system. Signed-off-by: Ofir Bitton <obitton@habana.ai> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Ofir Bitton

commit sha 2ad613d97f9675d03b2aba68588b5d950cbf1507

habanalabs: check correct vmalloc return code [ Upstream commit 0839152f8c1efc1cc2d515d1ff1e253ca9402ad3 ] vmalloc can return different return code than NULL and a valid pointer. We must validate it in order to dereference a non valid pointer. Signed-off-by: Ofir Bitton <obitton@habana.ai> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Dmitry Baryshkov

commit sha 2ed484c404e02ae83fc8a4108c35900c1236e8e6

drm/msm/a6xx: fix gmu start on newer firmware [ Upstream commit f5749d6181fa7df5ae741788e5d96f593d3a60b6 ] New Qualcomm firmware has changed a way it reports back the 'started' event. Support new register values. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Bob Peterson

commit sha 4f3ffd5fcbf77a0bb497a89c1b28c2a4532a9101

gfs2: add some much needed cleanup for log flushes that fail [ Upstream commit 462582b99b6079a6fbcdfc65bac49f5c2a27cfff ] When a log flush fails due to io errors, it signals the failure but does not clean up after itself very well. This is because buffers are added to the transaction tr_buf and tr_databuf queue, but the io error causes gfs2_log_flush to bypass the "after_commit" functions responsible for dequeueing the bd elements. If the bd elements are added to the ail list before the error, function ail_drain takes care of dequeueing them. But if they haven't gotten that far, the elements are forgotten and make the transactions unable to be freed. This patch introduces new function trans_drain which drains the bd elements from the transaction so they can be freed properly. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Vineeth Pillai

commit sha 6a725c83a08d41f2bc1630835712a4edc2e6caad

hv_utils: return error if host timesysnc update is stale [ Upstream commit 90b125f4cd2697f949f5877df723a0b710693dd0 ] If for any reason, host timesync messages were not processed by the guest, hv_ptp_gettime() returns a stale value and the caller (clock_gettime, PTP ioctl etc) has no means to know this now. Return an error so that the caller knows about this. Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/20200821152523.99364-1-viremana@linux.microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha 91af011113041f07accd49cfbc94390723e94f32

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha dc802091e8fe8da7a6f9a57d353c216d3a01111e

man: document new Network.BridgeMDB config options

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha 138fb97fa774d30b31eb0f4d78a50aadc0549a76

man: document new Network.BridgeMDB config options

view details

push time in a month

pull request commentsystemd/systemd

network: add support for setting MDB entries

Thanks for the review! All addressed now.

zonque

comment created time in a month

Pull request review commentsystemd/systemd

network: add support for setting MDB entries

+/* SPDX-License-Identifier: LGPL-2.1+ */++#include <linux/if_bridge.h>+#include <net/ethernet.h>+#include <net/if.h>++#include "alloc-util.h"+#include "bridge.h"+#include "conf-parser.h"+#include "netlink-util.h"+#include "networkd-mdb.h"+#include "networkd-manager.h"+#include "parse-util.h"+#include "util.h"+#include "vlan-util.h"++#define STATIC_MDB_ENTRIES_PER_NETWORK_MAX 1024U++/* create a new MDB entry or get an existing one. */+static int mdb_entry_new_static(+                Network *network,+                const char *filename,+                unsigned section_line,+                MdbEntry **ret) {++        _cleanup_(network_config_section_freep) NetworkConfigSection *n = NULL;+        _cleanup_(mdb_entry_freep) MdbEntry *mdb_entry = NULL;+        int r;++        assert(network);+        assert(ret);+        assert(!!filename == (section_line > 0));++        /* search entry in hashmap first. */+        if (filename) {+                r = network_config_section_new(filename, section_line, &n);+                if (r < 0)+                        return r;++                mdb_entry = hashmap_get(network->mdb_entries_by_section, n);+                if (mdb_entry) {+                        *ret = TAKE_PTR(mdb_entry);++                        return 0;+                }+        }++        if (network->n_static_mdb_entries >= STATIC_MDB_ENTRIES_PER_NETWORK_MAX)+                return -E2BIG;++        /* allocate space for an MDB entry. */+        mdb_entry = new(MdbEntry, 1);+        if (!mdb_entry)+                return -ENOMEM;++        /* init MDB structure. */+        *mdb_entry = (MdbEntry) {+                .network = network,+        };++        LIST_PREPEND(static_mdb_entries, network->static_mdb_entries, mdb_entry);+        network->n_static_mdb_entries++;++        if (filename) {+                mdb_entry->section = TAKE_PTR(n);++                r = hashmap_ensure_allocated(&network->mdb_entries_by_section, &network_config_hash_ops);+                if (r < 0)+                        return r;++                r = hashmap_put(network->mdb_entries_by_section, mdb_entry->section, mdb_entry);+                if (r < 0)+                        return r;+        }++        /* return allocated MDB structure. */+        *ret = TAKE_PTR(mdb_entry);++        return 0;+}++/* parse the VLAN Id from config files. */+int config_parse_mdb_vlan_id(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = config_parse_vlanid(unit, filename, line, section,+                                section_line, lvalue, ltype,+                                rvalue, &mdb_entry->vlan_id, userdata);+        if (r < 0)+                return r;++        mdb_entry = NULL;++        return 0;+}++/* parse the multicast group from config files. */+int config_parse_mdb_group(+                const char *unit,+                const char *filename,+                unsigned line,+                const char *section,+                unsigned section_line,+                const char *lvalue,+                int ltype,+                const char *rvalue,+                void *data,+                void *userdata) {++        Network *network = userdata;+        _cleanup_(mdb_entry_free_or_set_invalidp) MdbEntry *mdb_entry = NULL;+        int r;++        assert(filename);+        assert(section);+        assert(lvalue);+        assert(rvalue);+        assert(data);++        r = mdb_entry_new_static(network, filename, section_line, &mdb_entry);+        if (r < 0)+                return log_oom();++        r = in_addr_from_string_auto(rvalue, &mdb_entry->family, &mdb_entry->group_addr);+        if (r < 0)+                return log_syntax(unit, LOG_WARNING, filename, line, r,+                                  "Cannot parse group address: %m");++        if (!in_addr_is_multicast(mdb_entry->family, &mdb_entry->group_addr))+                return log_syntax(unit, LOG_WARNING, filename, line, -EINVAL,+                                  "Address %s is not a multicast group", rvalue);++        mdb_entry = NULL;++        return 0;+}++/* remove and MDB entry. */+void mdb_entry_free(MdbEntry *mdb_entry) {+        if (!mdb_entry)+                return;++        if (mdb_entry->network) {+                LIST_REMOVE(static_mdb_entries, mdb_entry->network->static_mdb_entries, mdb_entry);+                assert(mdb_entry->network->n_static_mdb_entries > 0);+                mdb_entry->network->n_static_mdb_entries--;++                if (mdb_entry->section)+                        hashmap_remove(mdb_entry->network->mdb_entries_by_section, mdb_entry->section);+        }++        network_config_section_free(mdb_entry->section);+        free(mdb_entry);+}++static int set_mdb_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {+        int r;++        assert(link);++        if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER))+                return 1;++        r = sd_netlink_message_get_errno(m);+        if (r < 0 && r != -EEXIST) {+                log_link_message_warning_errno(link, m, r, "Could not add MDB entry");+                link_enter_failed(link);+                return 1;+        }++        return 1;+}++/* send a request to the kernel to add an MDB entry */+int mdb_entry_configure(Link *link, MdbEntry *mdb_entry) {+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;+        struct br_mdb_entry entry = {};+        int r;++        assert(link);+        assert(link->network);+        assert(link->network->bridge);+        assert(link->manager);+        assert(mdb_entry);++        entry.state = MDB_PERMANENT;+        entry.ifindex = link->ifindex;+        entry.vid = mdb_entry->vlan_id;++        /* create new RTM message */+        r = sd_rtnl_message_new_mdb(link->manager->rtnl, &req, RTM_NEWMDB, link->network->bridge->ifindex);+        if (r < 0)+                return log_link_error_errno(link, r, "Could not create RTM_NEWMDB message: %m");++        switch (mdb_entry->family) {+        case AF_INET:+                entry.addr.u.ip4 = mdb_entry->group_addr.in.s_addr;+                entry.addr.proto = htons(ETH_P_IP);

Even with the structured init, the memcpy needs to stay, so it's only a single member to initialize in the v6 case. Did that now, but I'm not sure if that's really better.

zonque

comment created time in a month

PullRequestReviewEvent

push eventzonque/systemd

Daniel Mack

commit sha 09e4fcd91d3f064aaa785a48b84dda8cd93e8217

sd-netlink: add MDB types These are used to configure multicast membership entries of bridge ports.

view details

Daniel Mack

commit sha e802f32d931d22471d67bfba4f9f3aa2fc40cfdd

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha 3b3747d95038b2989f101cdfbf7fd97d1b4023af

man: document new Network.BridgeMDB config options

view details

push time in a month

push eventzonque/systemd

Daniel Mack

commit sha b06bc31fc5da92b49d203ee64ec5b5c1627b2fad

network: add support for setting MDB entries Multicast snooping enabled bridges maintain a database for multicast port memberships to decide which mulicast packet is supposed to egress on which port. This patch teaches networkd to add entries to this database manually by adding `[BridgeMDB]` sections to `.network` configuration files.

view details

Daniel Mack

commit sha 1d7ab9a5261e569ab30208c54d76b5e6aa7c60be

man: document new Network.BridgeMDB config options

view details

push time in a month

PR opened systemd/systemd

network: add support for setting MDB entries

Multicast snooping enabled bridges maintain a database for port memberships to decide which mulicast packet is supposed to egress on which port.

This patch teaches networkd to add entries to this database manually by adding [BridgeMDB] sections to .network configuration files.

+378 -0

0 comment

12 changed files

pr created time in a month

push eventzonque/systemd

Zbigniew Jędrzejewski-Szmek

commit sha 0176728a732ab025211d99486e3863f7a39df0bf

test-string-util,test-extract-word: add log headers

view details

Zbigniew Jędrzejewski-Szmek

commit sha 53cd7f337489433734c0d134b2a569727dd61a38

basic: add string_contains_word() This wraps the common pattern of using extract_first_word() in a loop to look for a matching word.

view details

Zbigniew Jędrzejewski-Szmek

commit sha 81823e6c12771721e9a729f6280a9de26fd70bad

sd-login: use string_contains_word()

view details

Zbigniew Jędrzejewski-Szmek

commit sha 46bf625aca8aa6f1f8608611dccddce948ded4d6

Add string_contains_word_strv() I had to move STRV_MAKE to macro.h. There is a circular dependency between extract-word.h, strv.h, and string-util.h that makes it hard to define the inline function otherwise.

view details

Zbigniew Jędrzejewski-Szmek

commit sha 434fef6de399ea7b95077572258def799acf02ce

shared/sleep-config: more logging and port to extract_first_word()

view details

Zbigniew Jędrzejewski-Szmek

commit sha f90d2d7bf1b6fc7469fbdeaca17c33a1f5b73cc8

test-execute: simplify condition tests is always a static array, it cannot be NULL.

view details

Zbigniew Jędrzejewski-Szmek

commit sha 0b3861d2247fd96ca1ff018bbf35c8465c43323c

test-execute/exec-dynamicuser-statedir.service: fix quoting All backslashes that should be single in shell syntax need to be written as "\\" because our parser will remove one level of quoting. Also, single quotes were doubly nested, which cannot work. Should fix the following message: test-execute/exec-dynamicuser-statedir.service:16: Ignoring unknown escape sequences: "test $$(find / \( -path /var/tmp -o -path /tmp -o -path /proc -o -path /dev/mqueue -o -path /dev/shm -o -path /sys/fs/bpf -o -path /dev/.lxc \) -prune -o -type d -writable -print 2>/dev/null | sort -u | tr -d \\n) = /var/lib/private/quux/pief/var/lib/private/waldo"

view details

Zbigniew Jędrzejewski-Szmek

commit sha 5b10116e4946f5ff050a53bc9d0bccf6eac89337

core/{execute, manager}: reduce scope of iterator variables a bit

view details

Zbigniew Jędrzejewski-Szmek

commit sha 9978e631cdfac4d4ac9b38e9496b9df1bd042b60

core/manager: reindent table for readability

view details

Zbigniew Jędrzejewski-Szmek

commit sha cced2b98efcf60f9dce573451ff637bb8227d90b

test-execute: check if private directories have bad permissions before running test_exec_dynamicuser() If the directory (/var/lib/private is most likely) has borked permissions, the test will fail with a cryptic message and EXIT_STATE_DIRECTORY or similar. The message from the child with more details gets lost somewhere. Let's avoid running the test in that case and provide a simple error message instead. E.g. systemd-238-12.git07f8cd5.fc28.ppc64 (which I encountered on a test machine) has /var/lib/private with 0755.

view details

Zbigniew Jędrzejewski-Szmek

commit sha a9030b81c154c3ec92227d04cad6b13cc1125608

udev-test: do not rely on "mail" group being defined "audio" should be there, at least we declare it. "mail" nowadays is less likely to exist than in the past. Fixes one of the items in #16942.

view details

Zbigniew Jędrzejewski-Szmek

commit sha d11578f30e297e51d52f8784b907b6c2ae034240

test-sizeof: print pointer sizes This is useful information, I don't know why we forgot to add it there. gcc doesn't like arithemetic on a pointer to a function or void*, so don't print signedness info there. It doesn't matter anyway. C says function pointers can be different... Though I guess our code isn't prepared for that.

view details

Yu Watanabe

commit sha badd49288d54d33d1c89eec51a40dc3a774741c1

util: expose in6_addr_{hash,compare}_func()

view details

Yu Watanabe

commit sha 99a2878457b5e1a1b87ba2f638bf7aeacee98662

network: expose address_{hash,compare}_func()

view details

Yu Watanabe

commit sha 501b09dbf2ab75d90cd05ec4b44c92341e201e46

network: expose route_{hash,compare}_func()

view details

Yu Watanabe

commit sha 50550722e3ba8c33c58c9a2f3da827877bd659cc

network: fix NDisc handling for the case when multiple routers exist 69203fba700ea8d7b0c4f4e3d1e1f809ac4644a1 does not consider the case that multiple routers exist, and causes #16719. Fixes #16719.

view details

Yu Watanabe

commit sha b27caa34f644b935133fd7977af9f7066a657da6

network: make prefixstable mode of IPv6Token= can be applied to any received prefixes Closes #4625.

view details

Yu Watanabe

commit sha 68248f43fcfd5148b571630ecc47f30421b35948

test-network: add test for IPv6Token=prefixstable

view details

Michal Sekletár

commit sha 332d387f47b1ba94abefd3f060a452bc00ba611f

core: introduce support for setting NUMAMask= to special "all" value Fixes #14113

view details

Zbigniew Jędrzejewski-Szmek

commit sha 819528326571f3d5e7fccaf5bc72be6ca00ae78a

Merge pull request #16725 from yuwata/network-fix-ndisc-multiple-routers network: fix NDisc behavior when multiple routers exist

view details

push time in a month

create barnchzonque/systemd

branch : networkd/mdb-244

created branch time in 2 months

create barnchzonque/systemd

branch : networkd/mdb

created branch time in 2 months

delete branch zonque/systemd

delete branch : networkd

delete time in 2 months

startedvishvananda/netlink

started time in 2 months

startednwtime/linuxptp

started time in 2 months

create barnchzonque/kicad-symbols

branch : daniel/tlv9062

created branch time in 2 months

PR opened KiCad/kicad-symbols

Amplifier_Operational: Add TLV9062IDR as alias of NCS2325D

The datasheet is here: https://www.ti.com/lit/ds/symlink/tlv9062.pdf

The pin-out is identical to NCS2325D.

+7 -1

0 comment

2 changed files

pr created time in 2 months

push eventholoplot/linux

Daniel Mack

commit sha 0b652185053f7fa603c11a4d8b7dfc5d1de944e3

ASoC: Add codec component for AD242x nodes This driver makes AD242x nodes available as DAIs in ASoC topologies. The hardware allows multiple TDM channel modes and bitdepths, but as these modes have influence in the timing calculations at discovery time, the mode they will be used in needs to be configured statically in the devicetree. The configuration applied at runtime through hwparams() is then required to match the pre-configured settings. Signed-off-by: Daniel Mack <daniel@zonque.org>

view details

Srinivas Neeli

commit sha b5696e5526ba05c0f9057a35d26df4fa58f23b0c

gpio: xilinx: Add clock adaptation support Add support of clock adaptation for AXI GPIO driver. Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>

view details

Srinivas Neeli

commit sha e62ba29436d44751659a956dce4695f5851fba26

gpio: xilinx: Add irq support to the driver Allocate single chip for both channels. Add irq support to the driver. Supporting rising edge interrupts and in cascade mode supporting first channel for interrupts on 32bit machines. Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>

view details

Daniel Mack

commit sha a1174d090d9a5e031754dea8f830c36a1d416c82

xilinx-gpio IRQ fixups Fix up the out-of-tree patch to bring IRQ support to the Xilinx GPIO driver.

view details

Daniel Mack

commit sha 8df438719dc01af71b4a77709a567c72ace5326e

net: dsa: mv88e6xxx: don't force settings on CPU port On hardware with a speed-reduced link to the CPU port, forcing the MAC settings won't allow any packets to pass. The PHY will negotiate the maximum possible speed, so let's allow the MAC to work with whatever is available. Signed-off-by: Daniel Mack <daniel@zonque.org>

view details

Daniel Mack

commit sha 37446a46f8066c68192092e8478b7c60b323f70d

Revert "net: dsa: Down cpu/dsa ports phylink will control" This reverts commit 3be98b2d5fbca3da7c4df0477eed95bfb5b83d64.

view details

Daniel Mack

commit sha 189ee85659822b6324907bae641f929a022cf168

Revert "clocksource/drivers/cadence-ttc: Use ttc driver as platform driver" This reverts commit f5ac896b6a23eb46681cdbef440c1d991b04e519. The commit causes a 5 second boot delay. Revert it until we have a better solution.

view details

Daniel Mack

commit sha cfb336bdbc3d44444a85238b14c5025e9c19c8d7

DRM: add driver for newhaven,1.8-128160EF ...

view details

Daniel Mack

commit sha 4b3a46dfb7fbf62aee06189618d00034df52bcdf

ASoC: simple-card: add support for codec-to-codec links DAI links in ASoC can be turned into codec-to-codec links by populating the .params field. This patch adds support for this to the simple-card driver and exposes the feature via three new device-tree properties that configure the pcm format, the sampling rate and the channel count. Signed-off-by: Daniel Mack <daniel@zonque.org>

view details

Daniel Mack

commit sha a1e30d0c1259b440049dc4001ecae27bc596f710

sc16is7xx: Set iobase to device index Some derivates of sc16is7xx devices expose more than one tty device to userspace. If multiple such devices exist in a system, userspace currently has no clean way to infer which tty maps to which physical line. Set the .iobase value to the relative index within the device to allow infering the order through sysfs. Signed-off-by: Daniel Mack <daniel@zonque.org>

view details

push time in 2 months

push eventholoplot/linux

Hugh Dickins

commit sha bd331906c61bd364f56ba9336a7ff85c6858b1da

khugepaged: khugepaged_test_exit() check mmget_still_valid() [ Upstream commit bbe98f9cadff58cdd6a4acaeba0efa8565dabe65 ] Move collapse_huge_page()'s mmget_still_valid() check into khugepaged_test_exit() itself. collapse_huge_page() is used for anon THP only, and earned its mmget_still_valid() check because it inserts a huge pmd entry in place of the page table's pmd entry; whereas collapse_file()'s retract_page_tables() or collapse_pte_mapped_thp() merely clears the page table's pmd entry. But core dumping without mmap lock must have been as open to mistaking a racily cleared pmd entry for a page table at physical page 0, as exit_mmap() was. And we certainly have no interest in mapping as a THP once dumping core. Fixes: 59ea6d06cfa9 ("coredump: fix race condition between collapse_huge_page() and core dumping") Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Song Liu <songliubraving@fb.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: <stable@vger.kernel.org> [4.8+] Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2008021217020.27773@eggly.anvils Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kai Vehmanen

commit sha d4dadf0c5a074e322ac16785c3cc98e77ca079e8

ASoC: intel/skl/hda - fix probe regression on systems without i915 [ Upstream commit ffc6d45d96f07a32700cb6b7be2d3459e63c255a ] Starting in commit cbc7a6b5a87a ("ASoC: soc-card: add snd_soc_card_add_dai_link()"), error value from ASoc add_dai_link() is no longer ignored. The generic HDA machine driver relied on the old semantics to disable i915 HDMI/DP audio codec at runtime. If no display codec was present, add_dai_link() returned an error, but this was ignored and rest of the card was successfully probed. Fix the problem by changing the machine driver add_dai_link() to not return an error in this case. Fixes: cbc7a6b5a87a ("ASoC: soc-card: add snd_soc_card_add_dai_link()") Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> BugLink: https://github.com/thesofproject/linux/issues/2261 Link: https://lore.kernel.org/r/20200714132804.3638221-1-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kai-Heng Feng

commit sha ed2cdce0991225e80a6de3e440fcb329335ce4d0

ALSA: hda/hdmi: Add quirk to force connectivity [ Upstream commit cd72c317a0a11f64225b9a3f1fe503bb8c7327b5 ] HDMI on some platforms doesn't enable audio support because its Port Connectivity [31:30] is set to AC_JACK_PORT_NONE: Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0b000094: OUT Detect HBR HDMI DP Pin Default 0x58560010: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Power states: D0 D3 EPSS Power: setting=D0, actual=D0 Devices: 0 Connection: 3 0x02 0x03* 0x04 For now, use a quirk to force connectivity based on SSID. If there are more platforms affected by the same issue, we can eye for a more generic solution. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Link: https://lore.kernel.org/r/20200804155836.16252-1-kai.heng.feng@canonical.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Randy Dunlap

commit sha 9a87d126b6624023457bdd43c2c5a9823e549bcd

ALSA: pci: delete repeated words in comments [ Upstream commit c7fabbc51352f50cc58242a6dc3b9c1a3599849b ] Drop duplicated words in sound/pci/. {and, the, at} Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.kernel.org/r/20200806021926.32418-1-rdunlap@infradead.org Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kai-Heng Feng

commit sha 3d41fe81e6469b5b77f3fd4e24d61e6fe82232a0

ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged [ Upstream commit e2d2fded6bdf3f7bb40718a208140dba8b4ec574 ] The jack on Intel NUC 8 Rugged rear panel doesn't work. The spec [1] states that the jack supports both headphone and microphone, so override a Pin Complex which has both Amp-In and Amp-Out to make the jack work. Node 0x1b fits the requirement, and user confirmed the jack now works with new pin config. [1] https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/NUC8CCH_TechProdSpec.pdf BugLink: https://bugs.launchpad.net/bugs/1875199 Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Link: https://lore.kernel.org/r/20200807080514.15293-1-kai.heng.feng@canonical.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Kai-Heng Feng

commit sha 9cc4449aae8cdcf80618dc74d387dd56f565d75a

ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop [ Upstream commit d96f27c80b65437a7b572647ecb4717ec9a50c98 ] There's another HP desktop has buggy BIOS which flags the Port Connectivity bit as no connection. Apply force connectivity quirk to enable DP/HDMI audio. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Link: https://lore.kernel.org/r/20200811095336.32396-1-kai.heng.feng@canonical.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Guchun Chen

commit sha ec24c53a4d0cc41d8d1cd25866ad1d0fa9aa4a7d

drm/amdgpu: fix RAS memory leak in error case [ Upstream commit 5e91160ac0b5cfbbaeb62cbff8b069262095f744 ] RAS context memory needs to freed in failure case. Signed-off-by: Guchun Chen <guchun.chen@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Zhenzhong Duan

commit sha 7d60c776063193296c4ef33ddc03ce224d405645

EDAC/mc: Call edac_inc_ue_error() before panic [ Upstream commit e9ff6636d3f97a764487999754c0bfee9d2c231e ] By calling edac_inc_ue_error() before panic, we get a correct UE error count for core dump analysis. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Link: https://lore.kernel.org/r/20200610065846.3626-2-zhenzhong.duan@gmail.com Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Qiushi Wu

commit sha c340a3b9da14cb1632ca86365cf904c4b6320e5a

ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt [ Upstream commit c4c59b95b7f7d4cef5071b151be2dadb33f3287b ] pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code, causing incorrect ref count if pm_runtime_put_noidle() is not called in error handling paths. Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails. Signed-off-by: Qiushi Wu <wu000273@umn.edu> Link: https://lore.kernel.org/r/20200614033749.2975-1-wu000273@umn.edu Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Qiushi Wu

commit sha d5581a8e323cb3daef929d5d4ffa380f1f395c77

ASoC: img-parallel-out: Fix a reference count leak [ Upstream commit 6b9fbb073636906eee9fe4d4c05a4f445b9e2a23 ] pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code, causing incorrect ref count if pm_runtime_put_noidle() is not called in error handling paths. Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails. Signed-off-by: Qiushi Wu <wu000273@umn.edu> Link: https://lore.kernel.org/r/20200614033344.1814-1-wu000273@umn.edu Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Qiushi Wu

commit sha dd80a7201ed7c62a6f4fae8806f2c5f570f5afa6

ASoC: tegra: Fix reference count leaks. [ Upstream commit deca195383a6085be62cb453079e03e04d618d6e ] Calling pm_runtime_get_sync increments the counter even in case of failure, causing incorrect ref count if pm_runtime_put is not called in error handling paths. Call pm_runtime_put if pm_runtime_get_sync fails. Signed-off-by: Qiushi Wu <wu000273@umn.edu> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Link: https://lore.kernel.org/r/20200613204422.24484-1-wu000273@umn.edu Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Andy Shevchenko

commit sha 6a5bd8b333b8f96ce9a6bfa185d72b9b9141abf8

mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs [ Upstream commit 3ea2e4eab64cefa06055bb0541fcdedad4b48565 ] Intel Emmitsburg PCH has the same LPSS than Intel Ice Lake. Add the new IDs to the list of supported devices. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Stephan Gerhold

commit sha 970f32a284295522c8531eec9948f19dc7c31103

arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep [ Upstream commit e2ee9edc282961783d519c760bbaa20fed4dec38 ] The original qcom kernel changed the PDM GPIOs to be pull-down during sleep at some point. Reportedly this was done because there was some "leakage at PDM outputs during sleep": https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=0f87e08c1cd3e6484a6f7fb3e74e37340bdcdee0 I cannot say how effective this is, but everything seems to work fine with this change so let's apply the same to mainline just to be sure. Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20200605185916.318494-3-stephan@gerhold.net Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Alexey Kardashevskiy

commit sha d75f8e2c9d6a622ff36f2a27e8f29530493f072a

powerpc/xive: Ignore kmemleak false positives [ Upstream commit f0993c839e95dd6c7f054a1015e693c87e33e4fb ] xive_native_provision_pages() allocates memory and passes the pointer to OPAL so kmemleak cannot find the pointer usage in the kernel memory and produces a false positive report (below) (even if the kernel did scan OPAL memory, it is unable to deal with __pa() addresses anyway). This silences the warning. unreferenced object 0xc000200350c40000 (size 65536): comm "qemu-system-ppc", pid 2725, jiffies 4294946414 (age 70776.530s) hex dump (first 32 bytes): 02 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 ....P........... 01 00 08 07 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<0000000081ff046c>] xive_native_alloc_vp_block+0x120/0x250 [<00000000d555d524>] kvmppc_xive_compute_vp_id+0x248/0x350 [kvm] [<00000000d69b9c9f>] kvmppc_xive_connect_vcpu+0xc0/0x520 [kvm] [<000000006acbc81c>] kvm_arch_vcpu_ioctl+0x308/0x580 [kvm] [<0000000089c69580>] kvm_vcpu_ioctl+0x19c/0xae0 [kvm] [<00000000902ae91e>] ksys_ioctl+0x184/0x1b0 [<00000000f3e68bd7>] sys_ioctl+0x48/0xb0 [<0000000001b2c127>] system_call_exception+0x124/0x1f0 [<00000000d2b2ee40>] system_call_common+0xe8/0x214 Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200612043303.84894-1-aik@ozlabs.ru Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Jia-Ju Bai

commit sha 27a22e3c16450c3018da8254c544de4cd69c4bd9

media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq() [ Upstream commit 6499a0db9b0f1e903d52f8244eacc1d4be00eea2 ] The value av7110->debi_virt is stored in DMA memory, and it is assigned to data, and thus data[0] can be modified at any time by malicious hardware. In this case, "if (data[0] < 2)" can be passed, but then data[0] can be changed into a large number, which may cause buffer overflow when the code "av7110->ci_slot[data[0]]" is used. To fix this possible bug, data[0] is assigned to a local variable, which replaces the use of data[0]. Signed-off-by: Jia-Ju Bai <baijiaju@tsinghua.edu.cn> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Alexander Popov

commit sha 2145297ac316df0211f0509d6e3cc913f30332bf

gcc-plugins/stackleak: Don't instrument itself [ Upstream commit 005e696df65d0ff90468ecf38a50aa584dc82421 ] There is no need to try instrumenting functions in kernel/stackleak.c. Otherwise that can cause issues if the cleanup pass of stackleak gcc plugin is disabled. Signed-off-by: Alexander Popov <alex.popov@linux.com> Link: https://lore.kernel.org/r/20200624123330.83226-2-alex.popov@linux.com Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Luis Chamberlain

commit sha 46381f4d0c1a7d9bf97b2235b3a2a5e7e6393ce9

blktrace: ensure our debugfs dir exists [ Upstream commit b431ef837e3374da0db8ff6683170359aaa0859c ] We make an assumption that a debugfs directory exists, but since this can fail ensure it exists before allowing blktrace setup to complete. Otherwise we end up stuffing blktrace files on the debugfs root directory. In the worst case scenario this *in theory* can create an eventual panic *iff* in the future a similarly named file is created prior on the debugfs root directory. This theoretical crash can happen due to a recursive removal followed by a specific dentry removal. This doesn't fix any known crash, however I have seen the files go into the main debugfs root directory in cases where the debugfs directory was not created due to other internal bugs with blktrace now fixed. blktrace is also completely useless without this directory, so this ensures to userspace we only setup blktrace if the kernel can stuff files where they are supposed to go into. debugfs directory creations typically aren't checked for, and we have maintainers doing sweep removals of these checks, but since we need this check to ensure proper userspace blktrace functionality we make sure to annotate the justification for the check. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Evgeny Novikov

commit sha 4b0badbe3c9166f9f5eb815f9934c7affc9a3c73

staging: rts5208: fix memleaks on error handling paths in probe [ Upstream commit 11507bf9a8832741db69efd32bf09a2ab26426bf ] rtsx_probe() allocates host, but does not free it on error handling paths. The patch adds missed scsi_host_put(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Evgeny Novikov <novikov@ispras.ru> Link: https://lore.kernel.org/r/20200623141230.7258-1-novikov@ispras.ru Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Bodo Stroesser

commit sha d7570375e9f2265c5b792bc9b8cd90ca0fb56d8a

scsi: target: tcmu: Fix crash on ARM during cmd completion [ Upstream commit 5a0c256d96f020e4771f6fd5524b80f89a2d3132 ] If tcmu_handle_completions() has to process a padding shorter than sizeof(struct tcmu_cmd_entry), the current call to tcmu_flush_dcache_range() with sizeof(struct tcmu_cmd_entry) as length param is wrong and causes crashes on e.g. ARM, because tcmu_flush_dcache_range() in this case calls flush_dcache_page(vmalloc_to_page(start)); with start being an invalid address above the end of the vmalloc'ed area. The fix is to use the minimum of remaining ring space and sizeof(struct tcmu_cmd_entry) as the length param. The patch was tested on kernel 4.19.118. See https://bugzilla.kernel.org/show_bug.cgi?id=208045#c10 Link: https://lore.kernel.org/r/20200629093756.8947-1-bstroesser@ts.fujitsu.com Tested-by: JiangYu <lnsyyj@hotmail.com> Acked-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Bodo Stroesser <bstroesser@ts.fujitsu.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

Andy Shevchenko

commit sha 8bcd6545f0b409e86b7b9b51ae1a51e037816a7d

mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs [ Upstream commit bb7fcad48d3804d814b97c785514e2d1657e157f ] Intel Tiger Lake PCH-H has the same LPSS than Intel Broxton. Add the new IDs to the list of supported devices. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>

view details

push time in 2 months

pull request commentKiCad/kicad-symbols

Sensor_Audio: add Knowles SPH0641LU4H digital MEMS microphone

A few comments I have during my review:

All fixed now, thanks!

zonque

comment created time in 2 months

push eventzonque/kicad-symbols

Daniel Mack

commit sha fff78001aa68a9c10f3d24097fb2fc08e86b425a

Sensor_Audio: SPH0641LU4H-1: address review comments * Descriptions should ends with package name: , LGA-5 * Fp filter: Knowles*LGA*3.5x2.65mm* * Position offset: 20mil (see travis warning)

view details

push time in 2 months

pull request commentKiCad/kicad-symbols

Amplifier_Operational: Add TLV9064 quad CMOS OpAmp

Changed the following things now:

* Swapped + and - pins
* Added SHDN12 and SHDC34 pins to units A and C, respectively
* Changed symbol name
* Fixed footprint filter
zonque

comment created time in 2 months

push eventzonque/kicad-symbols

Daniel Mack

commit sha 459eb0df369fc612eeb90f5b557ae6b4cab484ec

Amplifier_Operational: TLV9064: adopt review changes * Swapped + and - pins * Added SHDN12 and SHDC34 pins to units A and C, respectively * Changed symbol name * Fixed footprint filter

view details

push time in 2 months

pull request commentKiCad/kicad-symbols

Amplifier_Operational: Add TLV9064 quad CMOS OpAmp

Footprint is now in a PR here: https://github.com/KiCad/kicad-footprints/pull/2450

zonque

comment created time in 2 months

pull request commentKiCad/kicad-footprints

Add TI PWQFN N16 with 1.7x1.7mm EP

Generated with https://github.com/pointhi/kicad-footprint-generator/pull/590

zonque

comment created time in 2 months

PR opened KiCad/kicad-footprints

Add TI PWQFN N16 with 1.7x1.7mm EP

Used by this OpAmp: https://www.ti.com/lit/ds/symlink/tlv9064.pdf

+117 -0

0 comment

2 changed files

pr created time in 2 months

create barnchzonque/kicad-footprints

branch : pwqfn-n16

created branch time in 2 months

startedStephanWidor/Glubschauge

started time in 2 months

push eventholoplot/linux

Daniel Mack

commit sha 5494d912d49b97e0339d3b17b0526fcaaa793cc5

config

view details

push time in 2 months

create barnchholoplot/linux

branch : holoplot/5.8

created branch time in 2 months

PR closed zonque/linux-bloom-filter

Update: add docstring and testing code

Hello, zonque!

This is Yu Mi, and I am also writing code to implement the bloom filter in Linux kernel. Thanks to your repository I can complete the task efficiently. Here are my modifications and please note my use case does not allow locking in filters, thus I deleted all the mutexes in it. You may also comment out the Marcos in .c file to check the unit test.

Hope my modifications could help improve your repository!

Sincerely, Yu Mi.

+463 -151

1 comment

3 changed files

Frank-MI

pr closed time in 2 months

pull request commentzonque/linux-bloom-filter

Update: add docstring and testing code

You may use the code as long as your case adheres to the terms of the GPLv2. I do not maintain this repo and have no intention to do anything useful with it. Hence I'm closing this PR now.

Frank-MI

comment created time in 2 months

pull request commentsystemd/systemd

clock-util: read timestamp from /usr/lib/clock-epoch

Couldn't we just use /etc/machine-id?

On stateless systems with a r/o rootfs, /etc/machine-id is auto-generated on early boot, so it has the timestamp pid1 had at the time of creation. It's a chicken-egg problem, hence I opted for the idea of a new file that only exists for the purpose of setting the clock to something static if all other methods fail.

zonque

comment created time in 2 months

pull request commentsystemd/systemd

clock-util: read timestamp from /usr/lib/clock-epoch

This really needs to be documented somewhere...

I agree. What would be a good place for that, @poettering ?

zonque

comment created time in 2 months

push eventzonque/kicad-symbols

Daniel Mack

commit sha 3fddf8b7b2e2ed5d83347d05398b449655a2273a

Amplifier_Operational: Add TLV9064 quad CMOS OpAmp

view details

push time in 2 months

push eventzonque/kicad-symbols

Daniel Mack

commit sha 79388e910ad7b18ccf14de7099a57e3575d3b4b6

Amplifier_Operational: Add TLV9064 quad CMOS OpAmp

view details

push time in 2 months

more