Re: [PATCH] kobject: fix suppressing modalias in uevents delivered over netlink

From: Casey Leedom
Date: Mon Dec 18 2017 - 14:45:12 EST


/ From: Casey Leedom <leedom@xxxxxxxxxxx>
| Date: Friday, December 15, 2017 11:17 PST
|
| | From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
| | Sent: Friday, December 15, 2017 10:53 AM
| |
| | Hmm, can she collect output of 'udevadm monitor -p' at the time you
| | assign the adapter to the VM?
|
| Sure. I'll have Komali report on that.

See appended.

| | Also, we only suppress the modalias string on driver unbind, could it
| | be that for you module loading is happening when driver is bound to
| | the device?
|
| What Komali is saying is that when she first instantiates the SR-IOV
| Virtual Functions, cxgb4vf gets automatically loaded as the VFs come
| into existence. This has been happening forever and the only way to
| prevent this from happening is to blacklist the cxgb4vf module. That's
| fine and normal behavior and she manually does a "rmmod cxgb4vf" to get
| rid of it.
|
| But now, after doing the "rmmod cxgb4vf", when she assigns a VF to a
| Virtual Machine and brings the VM up, cxgb4vf gets reloaded again.
| This is the new behavior which got introduced with kernel.org commit
\ 1455cf8dbfd06aa7651dcfccbadb7a093944ca65 ...


/ From: Tariq Toukan <tariqt@xxxxxxxxxxxx>
| Sent: Sunday, December 17, 2017 7:29 AM
|
| On 14/12/2017 10:32 PM, Dmitry Torokhov wrote:
| >
| > On Thu, Dec 14, 2017 at 12:15 PM, Casey Leedom <leedom@xxxxxxxxxxx> wrote:
| >>
| >> Thanks Dmitry! I've asked Komali to test it against the problem
| >> that she reported internally. She or I will get back to you on that
| >> testing ASAP.
| >>
| >> I see that we've now moved on to 4.15 and the problem first showed
| >> up in 4.14. Once the fix is verified, should we see if it can get
| >> pushed back into the 4.14 stream?
| >
| > As far as I can see Eric's patch is landed in 4.15-rc1 so I do not
| > think we need this patch in .14.
|
| Exactly. The issue I reported does not exist in 4.14.
\ I am going to verify the fix now.

Hhmmm. Okay, I'll ask Komali to test this with the most complete bits
available for 4.14.7. But it was my impression from talking to Komali that
this got broken back in July with kernel.org:1455cf8 and has been broken
ever since. I suppose the bisect she did could have missed a brief point
where it wasn't broken.

Casey

-----

Komali's "udevadm monitor -p" output:

[root@t5nic ~]# udevadm monitor -p
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1326.743631] add /devices/virtual/vfio/46 (vfio)
ACTION=add
DEVNAME=/dev/vfio/46
DEVPATH=/devices/virtual/vfio/46
MAJOR=241
MINOR=0
SEQNUM=8199
SUBSYSTEM=vfio

KERNEL[1326.743698] bind /devices/pci0000:00/0000:00:03.0/0000:07:01.0 (pci)
ACTION=bind
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.0
DRIVER=vfio-pci
MODALIAS=pci:v00001425d00006801sv00001425sd00000000bc02sc00i00
PCI_CLASS=20000
PCI_ID=1425:6801
PCI_SLOT_NAME=0000:07:01.0
PCI_SUBSYS_ID=1425:0000
SEQNUM=8200
SUBSYSTEM=pci

UDEV [1326.744244] add /devices/virtual/vfio/46 (vfio)
ACTION=add
DEVNAME=/dev/vfio/46
DEVPATH=/devices/virtual/vfio/46
MAJOR=241
MINOR=0
SEQNUM=8199
SUBSYSTEM=vfio
USEC_INITIALIZED=26743678

KERNEL[1326.744570] add /devices/virtual/net/macvtap0 (net)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0
IFINDEX=182
INTERFACE=macvtap0
SEQNUM=8201
SUBSYSTEM=net

KERNEL[1326.744584] add /devices/virtual/net/macvtap0/queues/rx-0 (queues)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0/queues/rx-0
SEQNUM=8202
SUBSYSTEM=queues

KERNEL[1326.744592] add /devices/virtual/net/macvtap0/queues/tx-0 (queues)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0/queues/tx-0
SEQNUM=8203
SUBSYSTEM=queues

KERNEL[1326.744773] add /devices/virtual/net/macvtap0/macvtap/tap182 (macvtap)
ACTION=add
DEVNAME=/dev/tap182
DEVPATH=/devices/virtual/net/macvtap0/macvtap/tap182
MAJOR=240
MINOR=1
SEQNUM=8204
SUBSYSTEM=macvtap

UDEV [1326.745942] add /devices/virtual/net/macvtap0 (net)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0
ID_NET_DRIVER=macvlan
IFINDEX=182
INTERFACE=macvtap0
SEQNUM=8201
SUBSYSTEM=net
SYSTEMD_ALIAS=/sys/subsystem/net/devices/macvtap0
TAGS=:systemd:
USEC_INITIALIZED=744577

UDEV [1326.746156] add /devices/virtual/net/macvtap0/queues/rx-0 (queues)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0/queues/rx-0
SEQNUM=8202
SUBSYSTEM=queues
USEC_INITIALIZED=744631

UDEV [1326.746497] add /devices/virtual/net/macvtap0/queues/tx-0 (queues)
ACTION=add
DEVPATH=/devices/virtual/net/macvtap0/queues/tx-0
SEQNUM=8203
SUBSYSTEM=queues
USEC_INITIALIZED=26744640

UDEV [1326.746664] add /devices/virtual/net/macvtap0/macvtap/tap182 (macvtap)
ACTION=add
DEVNAME=/dev/tap182
DEVPATH=/devices/virtual/net/macvtap0/macvtap/tap182
MAJOR=240
MINOR=1
SEQNUM=8204
SUBSYSTEM=macvtap
USEC_INITIALIZED=26744774

KERNEL[1326.752714] add /module/cxgb4vf (module)
ACTION=add
DEVPATH=/module/cxgb4vf
SEQNUM=8205
SUBSYSTEM=module

UDEV [1326.752868] add /module/cxgb4vf (module)
ACTION=add
DEVPATH=/module/cxgb4vf
SEQNUM=8205
SUBSYSTEM=module
SYSTEMD_WANTS=rdma.service
TAGS=:systemd:
USEC_INITIALIZED=752719

KERNEL[1326.813213] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0
IFINDEX=183
INTERFACE=eth0
SEQNUM=8209
SUBSYSTEM=net

KERNEL[1326.813236] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-0 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-0
SEQNUM=8210
SUBSYSTEM=queues

KERNEL[1326.813258] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-1 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-1
SEQNUM=8211
SUBSYSTEM=queues

KERNEL[1326.813271] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-2 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-2
SEQNUM=8212
SUBSYSTEM=queues

KERNEL[1326.813284] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-3 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-3
SEQNUM=8213
SUBSYSTEM=queues

KERNEL[1326.813298] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-0 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-0
SEQNUM=8214
SUBSYSTEM=queues

KERNEL[1326.813311] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-1 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-1
SEQNUM=8215
SUBSYSTEM=queues

KERNEL[1326.813323] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-2 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-2
SEQNUM=8216
SUBSYSTEM=queues

KERNEL[1326.813335] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-3 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-3
SEQNUM=8217
SUBSYSTEM=queues

KERNEL[1326.816577] move /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4 (net)
ACTION=move
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4
DEVPATH_OLD=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0
IFINDEX=183
INTERFACE=enp7s1f4
SEQNUM=8218
SUBSYSTEM=net

KERNEL[1326.829318] bind /devices/pci0000:00/0000:00:03.0/0000:07:01.4 (pci)
ACTION=bind
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4
DRIVER=cxgb4vf
MODALIAS=pci:v00001425d00006801sv00001425sd00000000bc02sc00i00
PCI_CLASS=20000
PCI_ID=1425:6801
PCI_SLOT_NAME=0000:07:01.4
PCI_SUBSYS_ID=1425:0000
SEQNUM=8219
SUBSYSTEM=pci

KERNEL[1326.829408] add /bus/pci/drivers/cxgb4vf (drivers)
ACTION=add
DEVPATH=/bus/pci/drivers/cxgb4vf
SEQNUM=8220
SUBSYSTEM=drivers

UDEV [1326.829723] bind /devices/pci0000:00/0000:00:03.0/0000:07:01.0 (pci)
ACTION=bind
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.0
DRIVER=vfio-pci
ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller [VF]
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
MODALIAS=pci:v00001425d00006801sv00001425sd00000000bc02sc00i00
PCI_CLASS=20000
PCI_ID=1425:6801
PCI_SLOT_NAME=0000:07:01.0
PCI_SUBSYS_ID=1425:0000
SEQNUM=8200
SUBSYSTEM=pci
USEC_INITIALIZED=26743862

UDEV [1326.829758] add /bus/pci/drivers/cxgb4vf (drivers)
ACTION=add
DEVPATH=/bus/pci/drivers/cxgb4vf
SEQNUM=8220
SUBSYSTEM=drivers
USEC_INITIALIZED=829342

UDEV [1326.843155] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4
ID_BUS=pci
ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller [VF]
ID_MODEL_ID=0x6801
ID_NET_DRIVER=cxgb4vf
ID_NET_NAME_MAC=enx06443ca84001
ID_NET_NAME_PATH=enp7s1f4
ID_PATH=pci-0000:07:01.4
ID_PATH_TAG=pci-0000_07_01_4
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
ID_VENDOR_ID=0x1425
IFINDEX=183
INTERFACE=enp7s1f4
INTERFACE_OLD=eth0
SEQNUM=8209
SUBSYSTEM=net
SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp7s1f4
TAGS=:systemd:
USEC_INITIALIZED=813259

UDEV [1326.843528] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-0 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-0
SEQNUM=8210
SUBSYSTEM=queues
USEC_INITIALIZED=813325

UDEV [1326.843556] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-1 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-1
SEQNUM=8211
SUBSYSTEM=queues
USEC_INITIALIZED=813334

UDEV [1326.843580] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-2 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-2
SEQNUM=8212
SUBSYSTEM=queues
USEC_INITIALIZED=813342

UDEV [1326.843592] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-3 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/rx-3
SEQNUM=8213
SUBSYSTEM=queues
USEC_INITIALIZED=813349

UDEV [1326.843729] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-0 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-0
SEQNUM=8214
SUBSYSTEM=queues
USEC_INITIALIZED=26813356

UDEV [1326.843930] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-1 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-1
SEQNUM=8215
SUBSYSTEM=queues
USEC_INITIALIZED=26813364

UDEV [1326.843966] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-2 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-2
SEQNUM=8216
SUBSYSTEM=queues
USEC_INITIALIZED=26813374

UDEV [1326.844106] add /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-3 (queues)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0/queues/tx-3
SEQNUM=8217
SUBSYSTEM=queues
USEC_INITIALIZED=26813381

UDEV [1326.844576] move /devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4 (net)
ACTION=move
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/enp7s1f4
DEVPATH_OLD=/devices/pci0000:00/0000:00:03.0/0000:07:01.4/net/eth0
ID_BUS=pci
ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller [VF]
ID_MODEL_ID=0x6801
ID_NET_DRIVER=cxgb4vf
ID_NET_NAME_MAC=enx06443ca84001
ID_NET_NAME_PATH=enp7s1f4
ID_PATH=pci-0000:07:01.4
ID_PATH_TAG=pci-0000_07_01_4
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
ID_VENDOR_ID=0x1425
IFINDEX=183
INTERFACE=enp7s1f4
SEQNUM=8218
SUBSYSTEM=net
SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp7s1f4 /sys/subsystem/net/devices/enp7s1f4
TAGS=:systemd:
USEC_INITIALIZED=813259

UDEV [1326.844939] bind /devices/pci0000:00/0000:00:03.0/0000:07:01.4 (pci)
ACTION=bind
DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:07:01.4
DRIVER=cxgb4vf
ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller [VF]
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Chelsio Communications Inc
MODALIAS=pci:v00001425d00006801sv00001425sd00000000bc02sc00i00
PCI_CLASS=20000
PCI_ID=1425:6801
PCI_SLOT_NAME=0000:07:01.4
PCI_SUBSYS_ID=1425:0000
SEQNUM=8219
SUBSYSTEM=pci
USEC_INITIALIZED=829316

KERNEL[1326.876520] change /devices/virtual/misc/kvm (misc)
ACTION=change
COUNT=1
CREATED=3
DEVNAME=/dev/kvm
DEVPATH=/devices/virtual/misc/kvm
EVENT=create
MAJOR=10
MINOR=232
PID=3873
SEQNUM=8221
STATS_PATH=/kvm/3873-11
SUBSYSTEM=misc

UDEV [1326.877678] change /devices/virtual/misc/kvm (misc)
ACTION=change
COUNT=1
CREATED=3
DEVNAME=/dev/kvm
DEVPATH=/devices/virtual/misc/kvm
EVENT=create
MAJOR=10
MINOR=232
PID=3873
SEQNUM=8221
STATS_PATH=/kvm/3873-11
SUBSYSTEM=misc
TAGS=:seat:uaccess:
USEC_INITIALIZED=648