diff mbox series

sound: Remove redundant steps

Message ID 20210310063426.524-1-zuoqilin1@163.com (mailing list archive)
State New, archived
Headers show
Series sound: Remove redundant steps | expand

Commit Message

zuoqilin1@163.com March 10, 2021, 6:34 a.m. UTC
From: zuoqilin <zuoqilin@yulong.com>

If kzalloc fail,not need free it,so just return
-ENOMEM when kzalloc fail.

Signed-off-by: zuoqilin <zuoqilin@yulong.com>
---
 sound/core/oss/mixer_oss.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

kernel test robot March 10, 2021, 1:19 p.m. UTC | #1
Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on sound/for-next]
[also build test WARNING on v5.12-rc2 next-20210310]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/zuoqilin1-163-com/sound-Remove-redundant-steps/20210310-183451
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: x86_64-randconfig-a016-20210308 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project cd9a69289c7825d54450cb6829fef2c8e0f1963a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/7477aca62fd7115a8e7034e78fd7b5d427deb74b
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review zuoqilin1-163-com/sound-Remove-redundant-steps/20210310-183451
        git checkout 7477aca62fd7115a8e7034e78fd7b5d427deb74b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> sound/core/oss/mixer_oss.c:832:7: warning: unused label '__free_only' [-Wunused-label]
         __free_only:
         ^~~~~~~~~~~~
   sound/core/oss/mixer_oss.c:886:7: warning: unused label '__free_only' [-Wunused-label]
         __free_only:
         ^~~~~~~~~~~~
   2 warnings generated.


vim +/__free_only +832 sound/core/oss/mixer_oss.c

^1da177e4c3f41 Linus Torvalds  2005-04-16  788  
f956b4a3ae790e Takashi Iwai    2005-11-17  789  static int snd_mixer_oss_get_recsrc2(struct snd_mixer_oss_file *fmixer, unsigned int *active_index)
^1da177e4c3f41 Linus Torvalds  2005-04-16  790  {
f956b4a3ae790e Takashi Iwai    2005-11-17  791  	struct snd_card *card = fmixer->card;
f956b4a3ae790e Takashi Iwai    2005-11-17  792  	struct snd_mixer_oss *mixer = fmixer->mixer;
f956b4a3ae790e Takashi Iwai    2005-11-17  793  	struct snd_kcontrol *kctl;
f956b4a3ae790e Takashi Iwai    2005-11-17  794  	struct snd_mixer_oss_slot *pslot;
^1da177e4c3f41 Linus Torvalds  2005-04-16  795  	struct slot *slot;
f956b4a3ae790e Takashi Iwai    2005-11-17  796  	struct snd_ctl_elem_info *uinfo;
f956b4a3ae790e Takashi Iwai    2005-11-17  797  	struct snd_ctl_elem_value *uctl;
^1da177e4c3f41 Linus Torvalds  2005-04-16  798  	int err, idx;
^1da177e4c3f41 Linus Torvalds  2005-04-16  799  	
ca2c0966562cfb Takashi Iwai    2005-09-09  800  	uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
ca2c0966562cfb Takashi Iwai    2005-09-09  801  	uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds  2005-04-16  802  	if (uinfo == NULL || uctl == NULL) {
7477aca62fd711 zuoqilin        2021-03-10  803  		return -ENOMEM;
^1da177e4c3f41 Linus Torvalds  2005-04-16  804  	}
^1da177e4c3f41 Linus Torvalds  2005-04-16  805  	down_read(&card->controls_rwsem);
^1da177e4c3f41 Linus Torvalds  2005-04-16  806  	kctl = snd_mixer_oss_test_id(mixer, "Capture Source", 0);
7c22f1aaa23370 Takashi Iwai    2005-10-10  807  	if (! kctl) {
7c22f1aaa23370 Takashi Iwai    2005-10-10  808  		err = -ENOENT;
7c22f1aaa23370 Takashi Iwai    2005-10-10  809  		goto __unlock;
7c22f1aaa23370 Takashi Iwai    2005-10-10  810  	}
7c22f1aaa23370 Takashi Iwai    2005-10-10  811  	if ((err = kctl->info(kctl, uinfo)) < 0)
7c22f1aaa23370 Takashi Iwai    2005-10-10  812  		goto __unlock;
7c22f1aaa23370 Takashi Iwai    2005-10-10  813  	if ((err = kctl->get(kctl, uctl)) < 0)
7c22f1aaa23370 Takashi Iwai    2005-10-10  814  		goto __unlock;
^1da177e4c3f41 Linus Torvalds  2005-04-16  815  	for (idx = 0; idx < 32; idx++) {
^1da177e4c3f41 Linus Torvalds  2005-04-16  816  		if (!(mixer->mask_recsrc & (1 << idx)))
^1da177e4c3f41 Linus Torvalds  2005-04-16  817  			continue;
^1da177e4c3f41 Linus Torvalds  2005-04-16  818  		pslot = &mixer->slots[idx];
9fe856e47e1751 Joe Perches     2010-09-04  819  		slot = pslot->private_data;
^1da177e4c3f41 Linus Torvalds  2005-04-16  820  		if (slot->signature != SNDRV_MIXER_OSS_SIGNATURE)
^1da177e4c3f41 Linus Torvalds  2005-04-16  821  			continue;
^1da177e4c3f41 Linus Torvalds  2005-04-16  822  		if (!(slot->present & SNDRV_MIXER_OSS_PRESENT_CAPTURE))
^1da177e4c3f41 Linus Torvalds  2005-04-16  823  			continue;
^1da177e4c3f41 Linus Torvalds  2005-04-16  824  		if (slot->capture_item == uctl->value.enumerated.item[0]) {
^1da177e4c3f41 Linus Torvalds  2005-04-16  825  			*active_index = idx;
^1da177e4c3f41 Linus Torvalds  2005-04-16  826  			break;
^1da177e4c3f41 Linus Torvalds  2005-04-16  827  		}
^1da177e4c3f41 Linus Torvalds  2005-04-16  828  	}
^1da177e4c3f41 Linus Torvalds  2005-04-16  829  	err = 0;
^1da177e4c3f41 Linus Torvalds  2005-04-16  830        __unlock:
^1da177e4c3f41 Linus Torvalds  2005-04-16  831       	up_read(&card->controls_rwsem);
838c364ff05c14 Jaroslav Kysela 2010-10-08 @832        __free_only:
^1da177e4c3f41 Linus Torvalds  2005-04-16  833        	kfree(uctl);
^1da177e4c3f41 Linus Torvalds  2005-04-16  834        	kfree(uinfo);
^1da177e4c3f41 Linus Torvalds  2005-04-16  835        	return err;
^1da177e4c3f41 Linus Torvalds  2005-04-16  836  }
^1da177e4c3f41 Linus Torvalds  2005-04-16  837  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Dan Carpenter March 10, 2021, 6:33 p.m. UTC | #2
Hi,

url:    https://github.com/0day-ci/linux/commits/zuoqilin1-163-com/sound-Remove-redundant-steps/20210310-183451 
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git  for-next
config: x86_64-randconfig-s022-20210309 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-262-g5e674421-dirty
        # https://github.com/0day-ci/linux/commit/7477aca62fd7115a8e7034e78fd7b5d427deb74b 
        git remote add linux-review https://github.com/0day-ci/linux 
        git fetch --no-tags linux-review zuoqilin1-163-com/sound-Remove-redundant-steps/20210310-183451
        git checkout 7477aca62fd7115a8e7034e78fd7b5d427deb74b
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

"sparse warnings: (new ones prefixed by >>)"
>> sound/core/oss/mixer_oss.c:832:7: sparse: sparse: unused label '__free_only'
   sound/core/oss/mixer_oss.c:886:7: sparse: sparse: unused label '__free_only'

vim +/__free_only +832 sound/core/oss/mixer_oss.c

f956b4a3ae790e1 Takashi Iwai    2005-11-17  789  static int snd_mixer_oss_get_recsrc2(struct snd_mixer_oss_file *fmixer, unsigned int *active_index)
^1da177e4c3f415 Linus Torvalds  2005-04-16  790  {
f956b4a3ae790e1 Takashi Iwai    2005-11-17  791  	struct snd_card *card = fmixer->card;
f956b4a3ae790e1 Takashi Iwai    2005-11-17  792  	struct snd_mixer_oss *mixer = fmixer->mixer;
f956b4a3ae790e1 Takashi Iwai    2005-11-17  793  	struct snd_kcontrol *kctl;
f956b4a3ae790e1 Takashi Iwai    2005-11-17  794  	struct snd_mixer_oss_slot *pslot;
^1da177e4c3f415 Linus Torvalds  2005-04-16  795  	struct slot *slot;
f956b4a3ae790e1 Takashi Iwai    2005-11-17  796  	struct snd_ctl_elem_info *uinfo;
f956b4a3ae790e1 Takashi Iwai    2005-11-17  797  	struct snd_ctl_elem_value *uctl;
^1da177e4c3f415 Linus Torvalds  2005-04-16  798  	int err, idx;
^1da177e4c3f415 Linus Torvalds  2005-04-16  799  	
ca2c0966562cfbf Takashi Iwai    2005-09-09  800  	uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
ca2c0966562cfbf Takashi Iwai    2005-09-09  801  	uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
^1da177e4c3f415 Linus Torvalds  2005-04-16  802  	if (uinfo == NULL || uctl == NULL) {
7477aca62fd7115 zuoqilin        2021-03-10  803  		return -ENOMEM;
^1da177e4c3f415 Linus Torvalds  2005-04-16  804  	}
^1da177e4c3f415 Linus Torvalds  2005-04-16  805  	down_read(&card->controls_rwsem);
^1da177e4c3f415 Linus Torvalds  2005-04-16  806  	kctl = snd_mixer_oss_test_id(mixer, "Capture Source", 0);
7c22f1aaa23370b Takashi Iwai    2005-10-10  807  	if (! kctl) {
7c22f1aaa23370b Takashi Iwai    2005-10-10  808  		err = -ENOENT;
7c22f1aaa23370b Takashi Iwai    2005-10-10  809  		goto __unlock;
7c22f1aaa23370b Takashi Iwai    2005-10-10  810  	}
7c22f1aaa23370b Takashi Iwai    2005-10-10  811  	if ((err = kctl->info(kctl, uinfo)) < 0)
7c22f1aaa23370b Takashi Iwai    2005-10-10  812  		goto __unlock;
7c22f1aaa23370b Takashi Iwai    2005-10-10  813  	if ((err = kctl->get(kctl, uctl)) < 0)
7c22f1aaa23370b Takashi Iwai    2005-10-10  814  		goto __unlock;
^1da177e4c3f415 Linus Torvalds  2005-04-16  815  	for (idx = 0; idx < 32; idx++) {
^1da177e4c3f415 Linus Torvalds  2005-04-16  816  		if (!(mixer->mask_recsrc & (1 << idx)))
^1da177e4c3f415 Linus Torvalds  2005-04-16  817  			continue;
^1da177e4c3f415 Linus Torvalds  2005-04-16  818  		pslot = &mixer->slots[idx];
9fe856e47e17512 Joe Perches     2010-09-04  819  		slot = pslot->private_data;
^1da177e4c3f415 Linus Torvalds  2005-04-16  820  		if (slot->signature != SNDRV_MIXER_OSS_SIGNATURE)
^1da177e4c3f415 Linus Torvalds  2005-04-16  821  			continue;
^1da177e4c3f415 Linus Torvalds  2005-04-16  822  		if (!(slot->present & SNDRV_MIXER_OSS_PRESENT_CAPTURE))
^1da177e4c3f415 Linus Torvalds  2005-04-16  823  			continue;
^1da177e4c3f415 Linus Torvalds  2005-04-16  824  		if (slot->capture_item == uctl->value.enumerated.item[0]) {
^1da177e4c3f415 Linus Torvalds  2005-04-16  825  			*active_index = idx;
^1da177e4c3f415 Linus Torvalds  2005-04-16  826  			break;
^1da177e4c3f415 Linus Torvalds  2005-04-16  827  		}
^1da177e4c3f415 Linus Torvalds  2005-04-16  828  	}
^1da177e4c3f415 Linus Torvalds  2005-04-16  829  	err = 0;
^1da177e4c3f415 Linus Torvalds  2005-04-16  830        __unlock:
^1da177e4c3f415 Linus Torvalds  2005-04-16  831       	up_read(&card->controls_rwsem);
838c364ff05c143 Jaroslav Kysela 2010-10-08 @832        __free_only:
                                                       ^^^^^^^^^^^
Unused

^1da177e4c3f415 Linus Torvalds  2005-04-16  833        	kfree(uctl);
^1da177e4c3f415 Linus Torvalds  2005-04-16  834        	kfree(uinfo);
^1da177e4c3f415 Linus Torvalds  2005-04-16  835        	return err;
^1da177e4c3f415 Linus Torvalds  2005-04-16  836  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff mbox series

Patch

diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index bec9283..eec61dc 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -800,8 +800,7 @@  static int snd_mixer_oss_get_recsrc2(struct snd_mixer_oss_file *fmixer, unsigned
 	uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
 	uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
 	if (uinfo == NULL || uctl == NULL) {
-		err = -ENOMEM;
-		goto __free_only;
+		return -ENOMEM;
 	}
 	down_read(&card->controls_rwsem);
 	kctl = snd_mixer_oss_test_id(mixer, "Capture Source", 0);
@@ -851,8 +850,7 @@  static int snd_mixer_oss_put_recsrc2(struct snd_mixer_oss_file *fmixer, unsigned
 	uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
 	uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
 	if (uinfo == NULL || uctl == NULL) {
-		err = -ENOMEM;
-		goto __free_only;
+		return -ENOMEM;
 	}
 	down_read(&card->controls_rwsem);
 	kctl = snd_mixer_oss_test_id(mixer, "Capture Source", 0);