Skip to contentSkip to conversation

net: phy: Fix lack of reference count on PHY driver

bug report Dan Carpenter 2 participants 7 messages Feb 7, 2017 – Feb 8, 2017 Kernel janitors

lore
Share & tools
lore
#0 lore raw

Hello Mao Wenan,

This is a semi-automatic email about new static checker warnings.

The patch cafe8df8b9bc: "net: phy: Fix lack of reference count on PHY driver" from Jan 31, 2017, leads to the following Smatch complaint:

drivers/net/phy/phy_device.c:933 phy_attach_direct()

	 warn: variable dereferenced before check 'd->driver' (see line 923)

drivers/net/phy/phy_device.c
922

   923		if (!try_module_get(d->driver->owner)) {
                                    ^^^^^^^^^^^

Patch introduces a new dereference.

924 dev_err(&dev->dev, "failed to get the device driver module\n");
925 return -EIO;
926 }
927
928 get_device(d);
929
930 /* Assume that if there is no driver, that it doesn't
931 * exist, and we should use the genphy driver.
932 */

   933		if (!d->driver) {
                     ^^^^^^^^^

Existing code assumed d->driver could be NULL.

934 if (phydev->is_c45)
935 d->driver
regards,
dan carpenter

#1 lore raw

Thank you very much , there should be pointer checked before dereference.

Quoted 41 lines

-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Tuesday, February 07, 2017 6:50 PM
To: maowenan
Cc: [email protected]
Subject: [bug report] net: phy: Fix lack of reference count on PHY driver

Hello Mao Wenan,

This is a semi-automatic email about new static checker warnings.

The patch cafe8df8b9bc: "net: phy: Fix lack of reference count on PHY driver" from Jan 31, 2017, leads to the following Smatch complaint:

drivers/net/phy/phy_device.c:933 phy_attach_direct()

	 warn: variable dereferenced before check 'd->driver' (see line 923)

drivers/net/phy/phy_device.c
922

   923		if (!try_module_get(d->driver->owner)) {
                                    ^^^^^^^^^^^ Patch introduces a

new dereference.

924 dev_err(&dev->dev, "failed to get the device driver

module\n");
   925			return -EIO;
   926		}
   927
   928		get_device(d);
   929
   930		/* Assume that if there is no driver, that it doesn't
   931		 * exist, and we should use the genphy driver.
   932		 */
   933		if (!d->driver) {
                     ^^^^^^^^^

Existing code assumed d->driver could be NULL.

   934			if (phydev->is_c45)
   935				d->driver > 

regards,
dan carpenter

#2 lore raw
In reply to Dan Carpenter

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbWFvd2VuYW4NCj4gU2Vu dDogV2VkbmVzZGF5LCBGZWJydWFyeSAwOCwgMjAxNyA5OjI4IEFNDQo+IFRvOiAnRGFuIENhcnBl bnRlcicNCj4gQ2M6IGtlcm5lbC1qYW5pdG9yc0B2Z2VyLmtlcm5lbC5vcmcNCj4gU3ViamVjdDog UkU6IFtidWcgcmVwb3J0XSBuZXQ6IHBoeTogRml4IGxhY2sgb2YgcmVmZXJlbmNlIGNvdW50IG9u IFBIWSBkcml2ZXINCj4gDQo+IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggLCB0aGVyZSBzaG91bGQgYmUg cG9pbnRlciBjaGVja2VkIGJlZm9yZSBkZXJlZmVyZW5jZS4NCj4gDQo+IA0KPiA+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogRGFuIENhcnBlbnRlciBbbWFpbHRvOmRhbi5j YXJwZW50ZXJAb3JhY2xlLmNvbV0NCj4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAwNywgMjAx NyA2OjUwIFBNDQo+ID4gVG86IG1hb3dlbmFuDQo+ID4gQ2M6IGtlcm5lbC1qYW5pdG9yc0B2Z2Vy Lmtlcm5lbC5vcmcNCj4gPiBTdWJqZWN0OiBbYnVnIHJlcG9ydF0gbmV0OiBwaHk6IEZpeCBsYWNr IG9mIHJlZmVyZW5jZSBjb3VudCBvbiBQSFkNCj4gPiBkcml2ZXINCj4gPg0KPiA+IEhlbGxvIE1h byBXZW5hbiwNCj4gPg0KPiA+IFRoaXMgaXMgYSBzZW1pLWF1dG9tYXRpYyBlbWFpbCBhYm91dCBu ZXcgc3RhdGljIGNoZWNrZXIgd2FybmluZ3MuDQo+ID4NCj4gPiBUaGUgcGF0Y2ggY2FmZThkZjhi OWJjOiAibmV0OiBwaHk6IEZpeCBsYWNrIG9mIHJlZmVyZW5jZSBjb3VudCBvbiBQSFkgZHJpdmVy Ig0KPiA+IGZyb20gSmFuIDMxLCAyMDE3LCBsZWFkcyB0byB0aGUgZm9sbG93aW5nIFNtYXRjaCBj b21wbGFpbnQ6DQo+ID4NCj4gPiBkcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jOjkzMyBwaHlf YXR0YWNoX2RpcmVjdCgpDQo+ID4gCSB3YXJuOiB2YXJpYWJsZSBkZXJlZmVyZW5jZWQgYmVmb3Jl IGNoZWNrICdkLT5kcml2ZXInIChzZWUgbGluZSA5MjMpDQo+ID4NCj4gPiBkcml2ZXJzL25ldC9w aHkvcGh5X2RldmljZS5jDQo+ID4gICAgOTIyDQo+ID4gICAgOTIzCQlpZiAoIXRyeV9tb2R1bGVf Z2V0KGQtPmRyaXZlci0+b3duZXIpKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXl5eXl5eXl5eXl4gUGF0Y2ggaW50cm9kdWNlcw0KPiBhIG5ldw0KPiA+IGRlcmVm ZXJlbmNlLg0KPiA+DQo+ID4gICAgOTI0CQkJZGV2X2VycigmZGV2LT5kZXYsICJmYWlsZWQgdG8g Z2V0IHRoZSBkZXZpY2UgZHJpdmVyDQo+ID4gbW9kdWxlXG4iKTsNCj4gPiAgICA5MjUJCQlyZXR1 cm4gLUVJTzsNCj4gPiAgICA5MjYJCX0NCj4gPiAgICA5MjcNCj4gPiAgICA5MjgJCWdldF9kZXZp Y2UoZCk7DQo+ID4gICAgOTI5DQo+ID4gICAgOTMwCQkvKiBBc3N1bWUgdGhhdCBpZiB0aGVyZSBp cyBubyBkcml2ZXIsIHRoYXQgaXQgZG9lc24ndA0KPiA+ICAgIDkzMQkJICogZXhpc3QsIGFuZCB3 ZSBzaG91bGQgdXNlIHRoZSBnZW5waHkgZHJpdmVyLg0KPiA+ICAgIDkzMgkJICovDQo+ID4gICAg OTMzCQlpZiAoIWQtPmRyaXZlcikgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5e Xg0KPiA+IEV4aXN0aW5nIGNvZGUgYXNzdW1lZCBkLT5kcml2ZXIgY291bGQgYmUgTlVMTC4NCj4g Pg0KPiA+ICAgIDkzNAkJCWlmIChwaHlkZXYtPmlzX2M0NSkNCj4gPiAgICA5MzUJCQkJZC0+ZHJp dmVyID0NCj4gPg0KPiA+IHJlZ2FyZHMsDQo+ID4gZGFuIGNhcnBlbnRlcg0KDQpIaSBkYW4sDQoN CklzIGl0IE9LIGlmIEkgcHV0IGJlbG93IGp1ZGdtZW50IGFmdGVyIGlmICghZC0+ZHJpdmVyKSB7 Li4uLi4ufSAgPw0KDQoJaWYgKCF0cnlfbW9kdWxlX2dldChkLT5kcml2ZXItPm93bmVyKSkgew0K CQlkZXZfZXJyKCZkZXYtPmRldiwgImZhaWxlZCB0byBnZXQgdGhlIGRldmljZSBkcml2ZXIgbW9k dWxlXG4iKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQogICAgaWYgKG5kZXZfb3duZXIgIT0gYnVzLT5vd25lciAm JiAhdHJ5X21vZHVsZV9nZXQoYnVzLT5vd25lcikpIHsNCgkJZGV2X2VycigmZGV2LT5kZXYsICJm YWlsZWQgdG8gZ2V0IHRoZSBidXMgbW9kdWxlXG4iKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KDQoJ aWYgKCF0cnlfbW9kdWxlX2dldChkLT5kcml2ZXItPm93bmVyKSkgew0KCQlkZXZfZXJyKCZkZXYt PmRldiwgImZhaWxlZCB0byBnZXQgdGhlIGRldmljZSBkcml2ZXIgbW9kdWxlXG4iKTsNCgkJcmV0 dXJuIC1FSU87DQoJfQ0KDQoJZ2V0X2RldmljZShkKTsNCg0KCS8qIEFzc3VtZSB0aGF0IGlmIHRo ZXJlIGlzIG5vIGRyaXZlciwgdGhhdCBpdCBkb2Vzbid0DQoJICogZXhpc3QsIGFuZCB3ZSBzaG91 bGQgdXNlIHRoZSBnZW5waHkgZHJpdmVyLg0KCSAqLw0KCWlmICghZC0+ZHJpdmVyKSB7DQoJCWlm IChwaHlkZXYtPmlzX2M0NSkNCgkJCWQtPmRyaXZlciA9DQoJCQkJJmdlbnBoeV9kcml2ZXJbR0VO UEhZX0RSVl8xMEddLm1kaW9kcnYuZHJpdmVyOw0KCQllbHNlDQoJCQlkLT5kcml2ZXIgPQ0KCQkJ CSZnZW5waHlfZHJpdmVyW0dFTlBIWV9EUlZfMUddLm1kaW9kcnYuZHJpdmVyOw0KDQoJCWVyciA9 IGQtPmRyaXZlci0+cHJvYmUoZCk7DQoJCWlmIChlcnIgPj0gMCkNCgkJCWVyciA9IGRldmljZV9i aW5kX2RyaXZlcihkKTsNCg0KCQlpZiAoZXJyKQ0KCQkJZ290byBlcnJvcjsNCgl9DQoNCj09PT09 PT09PT09PT09PT09PT09PT2ht6G3obeht6G3obeht6G3obeht6G3obeht6G3obeht6G3obeht6G3 obeht6G3obeht6G3obeht6G3obeht6G3obehtw0KCWlmIChuZGV2X293bmVyICE9IGJ1cy0+b3du ZXIgJiYgIXRyeV9tb2R1bGVfZ2V0KGJ1cy0+b3duZXIpKSB7DQoJCWRldl9lcnIoJmRldi0+ZGV2 LCAiZmFpbGVkIHRvIGdldCB0aGUgYnVzIG1vZHVsZVxuIik7DQoJCXJldHVybiAtRUlPOw0KCX0N Cg0KCWdldF9kZXZpY2UoZCk7DQoNCgkvKiBBc3N1bWUgdGhhdCBpZiB0aGVyZSBpcyBubyBkcml2 ZXIsIHRoYXQgaXQgZG9lc24ndA0KCSAqIGV4aXN0LCBhbmQgd2Ugc2hvdWxkIHVzZSB0aGUgZ2Vu cGh5IGRyaXZlci4NCgkgKi8NCglpZiAoIWQtPmRyaXZlcikgew0KCQlpZiAocGh5ZGV2LT5pc19j NDUpDQoJCQlkLT5kcml2ZXIgPQ0KCQkJCSZnZW5waHlfZHJpdmVyW0dFTlBIWV9EUlZfMTBHXS5t ZGlvZHJ2LmRyaXZlcjsNCgkJZWxzZQ0KCQkJZC0+ZHJpdmVyID0NCgkJCQkmZ2VucGh5X2RyaXZl cltHRU5QSFlfRFJWXzFHXS5tZGlvZHJ2LmRyaXZlcjsNCg0KCQllcnIgPSBkLT5kcml2ZXItPnBy b2JlKGQpOw0KCQlpZiAoZXJyID49IDApDQoJCQllcnIgPSBkZXZpY2VfYmluZF9kcml2ZXIoZCk7 DQoNCgkJaWYgKGVycikNCgkJCWdvdG8gZXJyb3I7DQoJfQ0KDQoJaWYgKCF0cnlfbW9kdWxlX2dl dChkLT5kcml2ZXItPm93bmVyKSkgew0KCQlkZXZfZXJyKCZkZXYtPmRldiwgImZhaWxlZCB0byBn ZXQgdGhlIGRldmljZSBkcml2ZXIgbW9kdWxlXG4iKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KDQo

#3 lore raw
In reply to Dan Carpenter

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbWFvd2VuYW4NCj4gU2Vu dDogV2VkbmVzZGF5LCBGZWJydWFyeSAwOCwgMjAxNyA5OjU2IEFNDQo+IFRvOiAnRGFuIENhcnBl bnRlcicNCj4gQ2M6ICdrZXJuZWwtamFuaXRvcnNAdmdlci5rZXJuZWwub3JnJw0KPiBTdWJqZWN0 OiBSRTogW2J1ZyByZXBvcnRdIG5ldDogcGh5OiBGaXggbGFjayBvZiByZWZlcmVuY2UgY291bnQg b24gUEhZIGRyaXZlcg0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gRnJvbTogbWFvd2VuYW4NCj4gPiBTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDA4LCAy MDE3IDk6MjggQU0NCj4gPiBUbzogJ0RhbiBDYXJwZW50ZXInDQo+ID4gQ2M6IGtlcm5lbC1qYW5p dG9yc0B2Z2VyLmtlcm5lbC5vcmcNCj4gPiBTdWJqZWN0OiBSRTogW2J1ZyByZXBvcnRdIG5ldDog cGh5OiBGaXggbGFjayBvZiByZWZlcmVuY2UgY291bnQgb24gUEhZDQo+ID4gZHJpdmVyDQo+ID4N Cj4gPiBUaGFuayB5b3UgdmVyeSBtdWNoICwgdGhlcmUgc2hvdWxkIGJlIHBvaW50ZXIgY2hlY2tl ZCBiZWZvcmUgZGVyZWZlcmVuY2UuDQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPiA+IEZyb206IERhbiBDYXJwZW50ZXIgW21haWx0bzpkYW4uY2FycGVudGVy QG9yYWNsZS5jb21dDQo+ID4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAwNywgMjAxNyA2OjUw IFBNDQo+ID4gPiBUbzogbWFvd2VuYW4NCj4gPiA+IENjOiBrZXJuZWwtamFuaXRvcnNAdmdlci5r ZXJuZWwub3JnDQo+ID4gPiBTdWJqZWN0OiBbYnVnIHJlcG9ydF0gbmV0OiBwaHk6IEZpeCBsYWNr IG9mIHJlZmVyZW5jZSBjb3VudCBvbiBQSFkNCj4gPiA+IGRyaXZlcg0KPiA+ID4NCj4gPiA+IEhl bGxvIE1hbyBXZW5hbiwNCj4gPiA+DQo+ID4gPiBUaGlzIGlzIGEgc2VtaS1hdXRvbWF0aWMgZW1h aWwgYWJvdXQgbmV3IHN0YXRpYyBjaGVja2VyIHdhcm5pbmdzLg0KPiA+ID4NCj4gPiA+IFRoZSBw YXRjaCBjYWZlOGRmOGI5YmM6ICJuZXQ6IHBoeTogRml4IGxhY2sgb2YgcmVmZXJlbmNlIGNvdW50 IG9uIFBIWQ0KPiBkcml2ZXIiDQo+ID4gPiBmcm9tIEphbiAzMSwgMjAxNywgbGVhZHMgdG8gdGhl IGZvbGxvd2luZyBTbWF0Y2ggY29tcGxhaW50Og0KPiA+ID4NCj4gPiA+IGRyaXZlcnMvbmV0L3Bo eS9waHlfZGV2aWNlLmM6OTMzIHBoeV9hdHRhY2hfZGlyZWN0KCkNCj4gPiA+IAkgd2FybjogdmFy aWFibGUgZGVyZWZlcmVuY2VkIGJlZm9yZSBjaGVjayAnZC0+ZHJpdmVyJyAoc2VlIGxpbmUNCj4g PiA+IDkyMykNCj4gPiA+DQo+ID4gPiBkcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4g PiAgICA5MjINCj4gPiA+ICAgIDkyMwkJaWYgKCF0cnlfbW9kdWxlX2dldChkLT5kcml2ZXItPm93 bmVyKSkgew0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5e Xl5eXl4gUGF0Y2gNCj4gaW50cm9kdWNlcw0KPiA+IGEgbmV3DQo+ID4gPiBkZXJlZmVyZW5jZS4N Cj4gPiA+DQo+ID4gPiAgICA5MjQJCQlkZXZfZXJyKCZkZXYtPmRldiwgImZhaWxlZCB0byBnZXQg dGhlIGRldmljZSBkcml2ZXINCj4gPiA+IG1vZHVsZVxuIik7DQo+ID4gPiAgICA5MjUJCQlyZXR1 cm4gLUVJTzsNCj4gPiA+ICAgIDkyNgkJfQ0KPiA+ID4gICAgOTI3DQo+ID4gPiAgICA5MjgJCWdl dF9kZXZpY2UoZCk7DQo+ID4gPiAgICA5MjkNCj4gPiA+ICAgIDkzMAkJLyogQXNzdW1lIHRoYXQg aWYgdGhlcmUgaXMgbm8gZHJpdmVyLCB0aGF0IGl0IGRvZXNuJ3QNCj4gPiA+ICAgIDkzMQkJICog ZXhpc3QsIGFuZCB3ZSBzaG91bGQgdXNlIHRoZSBnZW5waHkgZHJpdmVyLg0KPiA+ID4gICAgOTMy CQkgKi8NCj4gPiA+ICAgIDkzMwkJaWYgKCFkLT5kcml2ZXIpIHsNCj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgIF5eXl5eXl5eXg0KPiA+ID4gRXhpc3RpbmcgY29kZSBhc3N1bWVkIGQtPmRyaXZl ciBjb3VsZCBiZSBOVUxMLg0KPiA+ID4NCj4gPiA+ICAgIDkzNAkJCWlmIChwaHlkZXYtPmlzX2M0 NSkNCj4gPiA+ICAgIDkzNQkJCQlkLT5kcml2ZXIgPQ0KPiA+ID4NCj4gPiA+IHJlZ2FyZHMsDQo+ ID4gPiBkYW4gY2FycGVudGVyDQo+IA0KPiBIaSBkYW4sDQo+IA0KPiBJcyBpdCBPSyBpZiBJIHB1 dCBiZWxvdyBqdWRnbWVudCBhZnRlciBpZiAoIWQtPmRyaXZlcikgey4uLi4uLn0gID8NCj4gDQo+ IAlpZiAoIXRyeV9tb2R1bGVfZ2V0KGQtPmRyaXZlci0+b3duZXIpKSB7DQo+IAkJZGV2X2Vycigm ZGV2LT5kZXYsICJmYWlsZWQgdG8gZ2V0IHRoZSBkZXZpY2UgZHJpdmVyIG1vZHVsZVxuIik7DQo+ IAkJcmV0dXJuIC1FSU87DQo+IAl9DQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KPiAgICAgaWYgKG5kZXZfb3duZXIgIT0gYnVzLT5vd25lciAmJiAh dHJ5X21vZHVsZV9nZXQoYnVzLT5vd25lcikpIHsNCj4gCQlkZXZfZXJyKCZkZXYtPmRldiwgImZh aWxlZCB0byBnZXQgdGhlIGJ1cyBtb2R1bGVcbiIpOw0KPiAJCXJldHVybiAtRUlPOw0KPiAJfQ0K PiANCj4gCWlmICghdHJ5X21vZHVsZV9nZXQoZC0+ZHJpdmVyLT5vd25lcikpIHsNCj4gCQlkZXZf ZXJyKCZkZXYtPmRldiwgImZhaWxlZCB0byBnZXQgdGhlIGRldmljZSBkcml2ZXIgbW9kdWxlXG4i KTsNCj4gCQlyZXR1cm4gLUVJTzsNCj4gCX0NCj4gDQo+IAlnZXRfZGV2aWNlKGQpOw0KPiANCj4g CS8qIEFzc3VtZSB0aGF0IGlmIHRoZXJlIGlzIG5vIGRyaXZlciwgdGhhdCBpdCBkb2Vzbid0DQo+ IAkgKiBleGlzdCwgYW5kIHdlIHNob3VsZCB1c2UgdGhlIGdlbnBoeSBkcml2ZXIuDQo+IAkgKi8N Cj4gCWlmICghZC0+ZHJpdmVyKSB7DQo+IAkJaWYgKHBoeWRldi0+aXNfYzQ1KQ0KPiAJCQlkLT5k cml2ZXIgPQ0KPiAJCQkJJmdlbnBoeV9kcml2ZXJbR0VOUEhZX0RSVl8xMEddLm1kaW9kcnYuZHJp dmVyOw0KPiAJCWVsc2UNCj4gCQkJZC0+ZHJpdmVyID0NCj4gCQkJCSZnZW5waHlfZHJpdmVyW0dF TlBIWV9EUlZfMUddLm1kaW9kcnYuZHJpdmVyOw0KPiANCj4gCQllcnIgPSBkLT5kcml2ZXItPnBy b2JlKGQpOw0KPiAJCWlmIChlcnIgPj0gMCkNCj4gCQkJZXJyID0gZGV2aWNlX2JpbmRfZHJpdmVy KGQpOw0KPiANCj4gCQlpZiAoZXJyKQ0KPiAJCQlnb3RvIGVycm9yOw0KPiAJfQ0KPiANCj4gPT09 PT09PT09PT09PT09PT09PT09PaG3obeht6G3obeht6G3obeht6G3obeht6G3obeht6G3obeht6G3 obeht6G3obeht6G3obeht6G3obeht6G3obeht6G3DQo+IAlpZiAobmRldl9vd25lciAhPSBidXMt Pm93bmVyICYmICF0cnlfbW9kdWxlX2dldChidXMtPm93bmVyKSkgew0KPiAJCWRldl9lcnIoJmRl di0+ZGV2LCAiZmFpbGVkIHRvIGdldCB0aGUgYnVzIG1vZHVsZVxuIik7DQo+IAkJcmV0dXJuIC1F SU87DQo+IAl9DQo+IA0KPiAJZ2V0X2RldmljZShkKTsNCj4gDQo+IAkvKiBBc3N1bWUgdGhhdCBp ZiB0aGVyZSBpcyBubyBkcml2ZXIsIHRoYXQgaXQgZG9lc24ndA0KPiAJICogZXhpc3QsIGFuZCB3 ZSBzaG91bGQgdXNlIHRoZSBnZW5waHkgZHJpdmVyLg0KPiAJICovDQo+IAlpZiAoIWQtPmRyaXZl cikgew0KPiAJCWlmIChwaHlkZXYtPmlzX2M0NSkNCj4gCQkJZC0+ZHJpdmVyID0NCj4gCQkJCSZn ZW5waHlfZHJpdmVyW0dFTlBIWV9EUlZfMTBHXS5tZGlvZHJ2LmRyaXZlcjsNCj4gCQllbHNlDQo+ IAkJCWQtPmRyaXZlciA9DQo+IAkJCQkmZ2VucGh5X2RyaXZlcltHRU5QSFlfRFJWXzFHXS5tZGlv ZHJ2LmRyaXZlcjsNCj4gDQo+IAkJZXJyID0gZC0+ZHJpdmVyLT5wcm9iZShkKTsNCj4gCQlpZiAo ZXJyID49IDApDQo+IAkJCWVyciA9IGRldmljZV9iaW5kX2RyaXZlcihkKTsNCj4gDQo+IAkJaWYg KGVycikNCj4gCQkJZ290byBlcnJvcjsNCj4gCX0NCj4gDQo+IAlpZiAoIXRyeV9tb2R1bGVfZ2V0 KGQtPmRyaXZlci0+b3duZXIpKSB7DQo+IAkJZGV2X2VycigmZGV2LT5kZXYsICJmYWlsZWQgdG8g Z2V0IHRoZSBkZXZpY2UgZHJpdmVyIG1vZHVsZVxuIik7DQo+IAkJcmV0dXJuIC1FSU87DQo+IAl9 DQoNCkhpIGRhbiwNCiAgU29ycnkgZm9yIHRyb3VibGUsIEkgZmluZCBhbm90aGVyIGlzc3VlIGFi b3V0IHRoaXMgcGF0Y2gsIGlmIHRyeV9tb2R1bGVfZ2V0KGQtPmRyaXZlci0+b3duZXIpIGZhaWx1 cmUsIGl0IGNhbid0IHJldHVybiAtRUlPLCBpdCBtdXN0IGZpcnN0bHkgY2FsbCBtb2R1bGVfcHV0 KGJ1cy0+b3duZXIpIHRvIHJlbGVhc2UgYnVzIG93bmVyIHJlZmVyZW5jZS4NCkkgd2lsbCByZWZp bmUgdGhlIGNvZGVzIGFuZCByZXBvc3QgcGF0Y2gsIHRoYW5rcyBhZ2Fpbi4NCg0K

#4 lore raw
In reply to Dan Carpenter
Quoted 2 lines · maowenan

Thank you very much , there should be pointer checked before dereference.

Can you send the patch for this?

regards,
dan carpenter

#5 lore raw
In reply to Dan Carpenter

Oh, hm... I don't know the code very well. I was just running static analysis and I'm going to be mostly offline for the next month.

regards,
dan carpenter

#6 lore raw
In reply to Dan Carpenter
Quoted 9 lines

-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Wednesday, February 08, 2017 2:10 PM
To: maowenan
Cc: [email protected]
Subject: Re: [bug report] net: phy: Fix lack of reference count on PHY driver

Quoted 8 lines
Quoted 2 lines · maowenan

Thank you very much , there should be pointer checked before dereference.

Can you send the patch for this?

regards,
dan carpenter

I will send later.