net: fix sock_timestamping_bind_phc() to release device
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 11 Jan 2022 15:10:53 +0000 (16:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:05:39 +0000 (11:05 +0100)
commit 2a4d75bfe41232608f5596a6d1369f92ccb20817 upstream.

Don't forget to release the device in sock_timestamping_bind_phc() after
it was used to get the vclock indices.

Fixes: d463126e23f1 ("net: sock: extend SO_TIMESTAMPING for PHC binding")
Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/core/sock.c

index 1b31e101816294a7bb587b2f7a011281026b4b30..6ea317f84edd27dd448a53957bc1e04a24cda6da 100644 (file)
@@ -830,6 +830,8 @@ static int sock_timestamping_bind_phc(struct sock *sk, int phc_index)
        }
 
        num = ethtool_get_phc_vclocks(dev, &vclock_index);
+       dev_put(dev);
+
        for (i = 0; i < num; i++) {
                if (*(vclock_index + i) == phc_index) {
                        match = true;