lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201511060850.q0jo7l98%fengguang.wu@intel.com>
Date:	Fri, 6 Nov 2015 08:11:09 +0800
From:	kbuild test robot <lkp@...el.com>
To:	LABBE Corentin <clabbe.montjoie@...il.com>
Cc:	kbuild-all@...org, minyard@....org,
	openipmi-developer@...ts.sourceforge.net,
	LABBE Corentin <clabbe.montjoie@...il.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ipmi: constify some struct and char arrays

Hi LABBE,

[auto build test WARNING on: char-misc/char-misc-next]
[also build test WARNING on: v4.3 next-20151105]

url:    https://github.com/0day-ci/linux/commits/LABBE-Corentin/ipmi-constify-some-struct-and-char-arrays/20151105-173339
config: parisc-generic-64bit_defconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All warnings (new ones prefixed by >>):

   drivers/char/ipmi/ipmi_si_intf.c: In function 'init_ipmi_si':
>> drivers/char/ipmi/ipmi_si_intf.c:3809:2: warning: passing argument 1 of 'register_parisc_driver' discards 'const' qualifier from pointer target type
     register_parisc_driver(&ipmi_parisc_driver);
     ^
   In file included from arch/parisc/include/asm/processor.h:15:0,
                    from arch/parisc/include/asm/spinlock.h:6,
                    from arch/parisc/include/asm/atomic.h:21,
                    from include/linux/atomic.h:4,
                    from arch/parisc/include/asm/bitops.h:12,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/module.h:9,
                    from drivers/char/ipmi/ipmi_si_intf.c:42:
   arch/parisc/include/asm/hardware.h:110:12: note: expected 'struct parisc_driver *' but argument is of type 'const struct parisc_driver *'
    extern int register_parisc_driver(struct parisc_driver *driver);
               ^
   drivers/char/ipmi/ipmi_si_intf.c: In function 'cleanup_ipmi_si':
>> drivers/char/ipmi/ipmi_si_intf.c:3951:3: warning: passing argument 1 of 'unregister_parisc_driver' discards 'const' qualifier from pointer target type
      unregister_parisc_driver(&ipmi_parisc_driver);
      ^
   In file included from arch/parisc/include/asm/processor.h:15:0,
                    from arch/parisc/include/asm/spinlock.h:6,
                    from arch/parisc/include/asm/atomic.h:21,
                    from include/linux/atomic.h:4,
                    from arch/parisc/include/asm/bitops.h:12,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/module.h:9,
                    from drivers/char/ipmi/ipmi_si_intf.c:42:
   arch/parisc/include/asm/hardware.h:112:12: note: expected 'struct parisc_driver *' but argument is of type 'const struct parisc_driver *'
    extern int unregister_parisc_driver(struct parisc_driver *driver);
               ^

vim +3809 drivers/char/ipmi/ipmi_si_intf.c

754d45318 Matthew Garrett     2010-05-26  3803  #ifdef CONFIG_ACPI
d941aeae4 Corey Minyard       2013-02-27  3804  	if (si_tryacpi)
754d45318 Matthew Garrett     2010-05-26  3805  		spmi_find_bmc();
754d45318 Matthew Garrett     2010-05-26  3806  #endif
754d45318 Matthew Garrett     2010-05-26  3807  
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3808  #ifdef CONFIG_PARISC
fdbeb7de7 Thomas Bogendoerfer 2013-09-05 @3809  	register_parisc_driver(&ipmi_parisc_driver);
7aefac26f Corey Minyard       2014-04-14  3810  	parisc_registered = true;
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3811  	/* poking PC IO addresses will crash machine, don't do it */
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3812  	si_trydefaults = 0;
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3813  #endif
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3814  
06ee45940 Matthew Garrett     2010-05-26  3815  	/* We prefer devices with interrupts, but in the case of a machine
06ee45940 Matthew Garrett     2010-05-26  3816  	   with multiple BMCs we assume that there will be several instances
06ee45940 Matthew Garrett     2010-05-26  3817  	   of a given type so if we succeed in registering a type then also
06ee45940 Matthew Garrett     2010-05-26  3818  	   try to register everything else of the same type */
d8cc5267b Matthew Garrett     2010-05-26  3819  
2407d77a1 Matthew Garrett     2010-05-26  3820  	mutex_lock(&smi_infos_lock);
2407d77a1 Matthew Garrett     2010-05-26  3821  	list_for_each_entry(e, &smi_infos, link) {
06ee45940 Matthew Garrett     2010-05-26  3822  		/* Try to register a device if it has an IRQ and we either
06ee45940 Matthew Garrett     2010-05-26  3823  		   haven't successfully registered a device yet or this
06ee45940 Matthew Garrett     2010-05-26  3824  		   device has the same type as one we successfully registered */
06ee45940 Matthew Garrett     2010-05-26  3825  		if (e->irq && (!type || e->addr_source == type)) {
d8cc5267b Matthew Garrett     2010-05-26  3826  			if (!try_smi_init(e)) {
06ee45940 Matthew Garrett     2010-05-26  3827  				type = e->addr_source;
06ee45940 Matthew Garrett     2010-05-26  3828  			}
d8cc5267b Matthew Garrett     2010-05-26  3829  		}
d8cc5267b Matthew Garrett     2010-05-26  3830  	}
06ee45940 Matthew Garrett     2010-05-26  3831  
06ee45940 Matthew Garrett     2010-05-26  3832  	/* type will only have been set if we successfully registered an si */
06ee45940 Matthew Garrett     2010-05-26  3833  	if (type) {
06ee45940 Matthew Garrett     2010-05-26  3834  		mutex_unlock(&smi_infos_lock);
06ee45940 Matthew Garrett     2010-05-26  3835  		return 0;
d8cc5267b Matthew Garrett     2010-05-26  3836  	}
d8cc5267b Matthew Garrett     2010-05-26  3837  
d8cc5267b Matthew Garrett     2010-05-26  3838  	/* Fall back to the preferred device */
d8cc5267b Matthew Garrett     2010-05-26  3839  
d8cc5267b Matthew Garrett     2010-05-26  3840  	list_for_each_entry(e, &smi_infos, link) {
06ee45940 Matthew Garrett     2010-05-26  3841  		if (!e->irq && (!type || e->addr_source == type)) {
d8cc5267b Matthew Garrett     2010-05-26  3842  			if (!try_smi_init(e)) {
06ee45940 Matthew Garrett     2010-05-26  3843  				type = e->addr_source;
d8cc5267b Matthew Garrett     2010-05-26  3844  			}
d8cc5267b Matthew Garrett     2010-05-26  3845  		}
2407d77a1 Matthew Garrett     2010-05-26  3846  	}
2407d77a1 Matthew Garrett     2010-05-26  3847  	mutex_unlock(&smi_infos_lock);
2407d77a1 Matthew Garrett     2010-05-26  3848  
06ee45940 Matthew Garrett     2010-05-26  3849  	if (type)
06ee45940 Matthew Garrett     2010-05-26  3850  		return 0;
06ee45940 Matthew Garrett     2010-05-26  3851  
b0defcdbd Corey Minyard       2006-03-26  3852  	if (si_trydefaults) {
d6dfd1310 Corey Minyard       2006-03-31  3853  		mutex_lock(&smi_infos_lock);
b0defcdbd Corey Minyard       2006-03-26  3854  		if (list_empty(&smi_infos)) {
b0defcdbd Corey Minyard       2006-03-26  3855  			/* No BMC was found, try defaults. */
d6dfd1310 Corey Minyard       2006-03-31  3856  			mutex_unlock(&smi_infos_lock);
b0defcdbd Corey Minyard       2006-03-26  3857  			default_find_bmc();
2407d77a1 Matthew Garrett     2010-05-26  3858  		} else
d6dfd1310 Corey Minyard       2006-03-31  3859  			mutex_unlock(&smi_infos_lock);
b0defcdbd Corey Minyard       2006-03-26  3860  	}
^1da177e4 Linus Torvalds      2005-04-16  3861  
d6dfd1310 Corey Minyard       2006-03-31  3862  	mutex_lock(&smi_infos_lock);
b361e27bb Corey Minyard       2006-12-06  3863  	if (unload_when_empty && list_empty(&smi_infos)) {
d6dfd1310 Corey Minyard       2006-03-31  3864  		mutex_unlock(&smi_infos_lock);
d2478521a Corey Minyard       2011-02-10  3865  		cleanup_ipmi_si();
279fbd0c5 Myron Stowe         2010-05-26  3866  		printk(KERN_WARNING PFX
279fbd0c5 Myron Stowe         2010-05-26  3867  		       "Unable to find any System Interface(s)\n");
^1da177e4 Linus Torvalds      2005-04-16  3868  		return -ENODEV;
b0defcdbd Corey Minyard       2006-03-26  3869  	} else {
d6dfd1310 Corey Minyard       2006-03-31  3870  		mutex_unlock(&smi_infos_lock);
^1da177e4 Linus Torvalds      2005-04-16  3871  		return 0;
^1da177e4 Linus Torvalds      2005-04-16  3872  	}
b0defcdbd Corey Minyard       2006-03-26  3873  }
^1da177e4 Linus Torvalds      2005-04-16  3874  module_init(init_ipmi_si);
^1da177e4 Linus Torvalds      2005-04-16  3875  
b361e27bb Corey Minyard       2006-12-06  3876  static void cleanup_one_si(struct smi_info *to_clean)
^1da177e4 Linus Torvalds      2005-04-16  3877  {
2407d77a1 Matthew Garrett     2010-05-26  3878  	int           rv = 0;
^1da177e4 Linus Torvalds      2005-04-16  3879  
^1da177e4 Linus Torvalds      2005-04-16  3880  	if (!to_clean)
^1da177e4 Linus Torvalds      2005-04-16  3881  		return;
^1da177e4 Linus Torvalds      2005-04-16  3882  
b874b985c Corey Minyard       2014-11-06  3883  	if (to_clean->intf) {
b874b985c Corey Minyard       2014-11-06  3884  		ipmi_smi_t intf = to_clean->intf;
b874b985c Corey Minyard       2014-11-06  3885  
b874b985c Corey Minyard       2014-11-06  3886  		to_clean->intf = NULL;
b874b985c Corey Minyard       2014-11-06  3887  		rv = ipmi_unregister_smi(intf);
b874b985c Corey Minyard       2014-11-06  3888  		if (rv) {
b874b985c Corey Minyard       2014-11-06  3889  			pr_err(PFX "Unable to unregister device: errno=%d\n",
b874b985c Corey Minyard       2014-11-06  3890  			       rv);
b874b985c Corey Minyard       2014-11-06  3891  		}
b874b985c Corey Minyard       2014-11-06  3892  	}
b874b985c Corey Minyard       2014-11-06  3893  
567eded96 Takao Indoh         2014-10-06  3894  	if (to_clean->dev)
567eded96 Takao Indoh         2014-10-06  3895  		dev_set_drvdata(to_clean->dev, NULL);
567eded96 Takao Indoh         2014-10-06  3896  
b0defcdbd Corey Minyard       2006-03-26  3897  	list_del(&to_clean->link);
b0defcdbd Corey Minyard       2006-03-26  3898  
c305e3d38 Corey Minyard       2008-04-29  3899  	/*
b874b985c Corey Minyard       2014-11-06  3900  	 * Make sure that interrupts, the timer and the thread are
b874b985c Corey Minyard       2014-11-06  3901  	 * stopped and will not run again.
c305e3d38 Corey Minyard       2008-04-29  3902  	 */
b874b985c Corey Minyard       2014-11-06  3903  	if (to_clean->irq_cleanup)
b874b985c Corey Minyard       2014-11-06  3904  		to_clean->irq_cleanup(to_clean);
a9a2c44ff Corey Minyard       2005-11-07  3905  	wait_for_timer_and_thread(to_clean);
^1da177e4 Linus Torvalds      2005-04-16  3906  
c305e3d38 Corey Minyard       2008-04-29  3907  	/*
c305e3d38 Corey Minyard       2008-04-29  3908  	 * Timeouts are stopped, now make sure the interrupts are off
b874b985c Corey Minyard       2014-11-06  3909  	 * in the BMC.  Note that timers and CPU interrupts are off,
b874b985c Corey Minyard       2014-11-06  3910  	 * so no need for locks.
c305e3d38 Corey Minyard       2008-04-29  3911  	 */
ee6cd5f8f Corey Minyard       2007-05-08  3912  	while (to_clean->curr_msg || (to_clean->si_state != SI_NORMAL)) {
ee6cd5f8f Corey Minyard       2007-05-08  3913  		poll(to_clean);
ee6cd5f8f Corey Minyard       2007-05-08  3914  		schedule_timeout_uninterruptible(1);
ee6cd5f8f Corey Minyard       2007-05-08  3915  	}
ee6cd5f8f Corey Minyard       2007-05-08  3916  	disable_si_irq(to_clean);
e8b336173 Corey Minyard       2005-09-06  3917  	while (to_clean->curr_msg || (to_clean->si_state != SI_NORMAL)) {
^1da177e4 Linus Torvalds      2005-04-16  3918  		poll(to_clean);
da4cd8dfe Nishanth Aravamudan 2005-09-10  3919  		schedule_timeout_uninterruptible(1);
^1da177e4 Linus Torvalds      2005-04-16  3920  	}
^1da177e4 Linus Torvalds      2005-04-16  3921  
2407d77a1 Matthew Garrett     2010-05-26  3922  	if (to_clean->handlers)
^1da177e4 Linus Torvalds      2005-04-16  3923  		to_clean->handlers->cleanup(to_clean->si_sm);
^1da177e4 Linus Torvalds      2005-04-16  3924  
^1da177e4 Linus Torvalds      2005-04-16  3925  	kfree(to_clean->si_sm);
^1da177e4 Linus Torvalds      2005-04-16  3926  
b0defcdbd Corey Minyard       2006-03-26  3927  	if (to_clean->addr_source_cleanup)
b0defcdbd Corey Minyard       2006-03-26  3928  		to_clean->addr_source_cleanup(to_clean);
7767e126c Paolo Galtieri      2005-12-15  3929  	if (to_clean->io_cleanup)
^1da177e4 Linus Torvalds      2005-04-16  3930  		to_clean->io_cleanup(to_clean);
50c812b2b Corey Minyard       2006-03-26  3931  
50c812b2b Corey Minyard       2006-03-26  3932  	if (to_clean->dev_registered)
50c812b2b Corey Minyard       2006-03-26  3933  		platform_device_unregister(to_clean->pdev);
50c812b2b Corey Minyard       2006-03-26  3934  
50c812b2b Corey Minyard       2006-03-26  3935  	kfree(to_clean);
^1da177e4 Linus Torvalds      2005-04-16  3936  }
^1da177e4 Linus Torvalds      2005-04-16  3937  
0dcf334c4 Sergey Senozhatsky  2011-03-23  3938  static void cleanup_ipmi_si(void)
^1da177e4 Linus Torvalds      2005-04-16  3939  {
b0defcdbd Corey Minyard       2006-03-26  3940  	struct smi_info *e, *tmp_e;
^1da177e4 Linus Torvalds      2005-04-16  3941  
^1da177e4 Linus Torvalds      2005-04-16  3942  	if (!initialized)
^1da177e4 Linus Torvalds      2005-04-16  3943  		return;
^1da177e4 Linus Torvalds      2005-04-16  3944  
b0defcdbd Corey Minyard       2006-03-26  3945  #ifdef CONFIG_PCI
56480287f Matthew Garrett     2010-06-29  3946  	if (pci_registered)
b0defcdbd Corey Minyard       2006-03-26  3947  		pci_unregister_driver(&ipmi_pci_driver);
b0defcdbd Corey Minyard       2006-03-26  3948  #endif
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3949  #ifdef CONFIG_PARISC
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3950  	if (parisc_registered)
fdbeb7de7 Thomas Bogendoerfer 2013-09-05 @3951  		unregister_parisc_driver(&ipmi_parisc_driver);
fdbeb7de7 Thomas Bogendoerfer 2013-09-05  3952  #endif
b0defcdbd Corey Minyard       2006-03-26  3953  
a1e9c9dd3 Rob Herring         2011-02-23  3954  	platform_driver_unregister(&ipmi_driver);

:::::: The code at line 3809 was first introduced by commit
:::::: fdbeb7de700a3c8fc85d7e595a6bf1c92a27c0a1 BMC support for PARISC machines

:::::: TO: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
:::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/octet-stream" (17328 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ