mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
[PATCH] completions: lockdep annotate on stack completions
All on stack DECLARE_COMPLETIONs should be replaced by: DECLARE_COMPLETION_ONSTACK Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
397d6140e9
commit
6e9a4738c9
@ -295,7 +295,7 @@ ecard_task(void * unused)
|
|||||||
*/
|
*/
|
||||||
static void ecard_call(struct ecard_request *req)
|
static void ecard_call(struct ecard_request *req)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(completion);
|
DECLARE_COMPLETION_ONSTACK(completion);
|
||||||
|
|
||||||
req->complete = &completion;
|
req->complete = &completion;
|
||||||
|
|
||||||
|
@ -1061,7 +1061,7 @@ static void __cpuinit do_warm_boot_cpu(void *p)
|
|||||||
|
|
||||||
static int __cpuinit __smp_prepare_cpu(int cpu)
|
static int __cpuinit __smp_prepare_cpu(int cpu)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(done);
|
DECLARE_COMPLETION_ONSTACK(done);
|
||||||
struct warm_boot_cpu_info info;
|
struct warm_boot_cpu_info info;
|
||||||
struct work_struct task;
|
struct work_struct task;
|
||||||
int apicid, ret;
|
int apicid, ret;
|
||||||
|
@ -104,7 +104,7 @@ static void g5_smu_switch_volt(int speed_mode)
|
|||||||
{
|
{
|
||||||
struct smu_simple_cmd cmd;
|
struct smu_simple_cmd cmd;
|
||||||
|
|
||||||
DECLARE_COMPLETION(comp);
|
DECLARE_COMPLETION_ONSTACK(comp);
|
||||||
smu_queue_simple(&cmd, SMU_CMD_POWER_COMMAND, 8, smu_done_complete,
|
smu_queue_simple(&cmd, SMU_CMD_POWER_COMMAND, 8, smu_done_complete,
|
||||||
&comp, 'V', 'S', 'L', 'E', 'W',
|
&comp, 'V', 'S', 'L', 'E', 'W',
|
||||||
0xff, g5_fvt_cur+1, speed_mode);
|
0xff, g5_fvt_cur+1, speed_mode);
|
||||||
|
@ -195,7 +195,7 @@ static void pmu_nvram_complete(struct adb_request *req)
|
|||||||
static unsigned char pmu_nvram_read_byte(int addr)
|
static unsigned char pmu_nvram_read_byte(int addr)
|
||||||
{
|
{
|
||||||
struct adb_request req;
|
struct adb_request req;
|
||||||
DECLARE_COMPLETION(req_complete);
|
DECLARE_COMPLETION_ONSTACK(req_complete);
|
||||||
|
|
||||||
req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL;
|
req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL;
|
||||||
if (pmu_request(&req, pmu_nvram_complete, 3, PMU_READ_NVRAM,
|
if (pmu_request(&req, pmu_nvram_complete, 3, PMU_READ_NVRAM,
|
||||||
@ -211,7 +211,7 @@ static unsigned char pmu_nvram_read_byte(int addr)
|
|||||||
static void pmu_nvram_write_byte(int addr, unsigned char val)
|
static void pmu_nvram_write_byte(int addr, unsigned char val)
|
||||||
{
|
{
|
||||||
struct adb_request req;
|
struct adb_request req;
|
||||||
DECLARE_COMPLETION(req_complete);
|
DECLARE_COMPLETION_ONSTACK(req_complete);
|
||||||
|
|
||||||
req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL;
|
req.arg = system_state == SYSTEM_RUNNING ? &req_complete : NULL;
|
||||||
if (pmu_request(&req, pmu_nvram_complete, 4, PMU_WRITE_NVRAM,
|
if (pmu_request(&req, pmu_nvram_complete, 4, PMU_WRITE_NVRAM,
|
||||||
|
@ -1479,7 +1479,7 @@ static int __init as_init(void)
|
|||||||
|
|
||||||
static void __exit as_exit(void)
|
static void __exit as_exit(void)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(all_gone);
|
DECLARE_COMPLETION_ONSTACK(all_gone);
|
||||||
elv_unregister(&iosched_as);
|
elv_unregister(&iosched_as);
|
||||||
ioc_gone = &all_gone;
|
ioc_gone = &all_gone;
|
||||||
/* ioc_gone's update must be visible before reading ioc_count */
|
/* ioc_gone's update must be visible before reading ioc_count */
|
||||||
|
@ -2160,7 +2160,7 @@ static int __init cfq_init(void)
|
|||||||
|
|
||||||
static void __exit cfq_exit(void)
|
static void __exit cfq_exit(void)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(all_gone);
|
DECLARE_COMPLETION_ONSTACK(all_gone);
|
||||||
elv_unregister(&iosched_cfq);
|
elv_unregister(&iosched_cfq);
|
||||||
ioc_gone = &all_gone;
|
ioc_gone = &all_gone;
|
||||||
/* ioc_gone's update must be visible before reading ioc_count */
|
/* ioc_gone's update must be visible before reading ioc_count */
|
||||||
|
@ -770,7 +770,7 @@ static void DAC960_P_QueueCommand(DAC960_Command_T *Command)
|
|||||||
static void DAC960_ExecuteCommand(DAC960_Command_T *Command)
|
static void DAC960_ExecuteCommand(DAC960_Command_T *Command)
|
||||||
{
|
{
|
||||||
DAC960_Controller_T *Controller = Command->Controller;
|
DAC960_Controller_T *Controller = Command->Controller;
|
||||||
DECLARE_COMPLETION(Completion);
|
DECLARE_COMPLETION_ONSTACK(Completion);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
Command->Completion = &Completion;
|
Command->Completion = &Completion;
|
||||||
|
|
||||||
|
@ -879,7 +879,7 @@ static int cciss_ioctl(struct inode *inode, struct file *filep,
|
|||||||
char *buff = NULL;
|
char *buff = NULL;
|
||||||
u64bit temp64;
|
u64bit temp64;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
|
|
||||||
if (!arg)
|
if (!arg)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -997,7 +997,7 @@ static int cciss_ioctl(struct inode *inode, struct file *filep,
|
|||||||
BYTE sg_used = 0;
|
BYTE sg_used = 0;
|
||||||
int status = 0;
|
int status = 0;
|
||||||
int i;
|
int i;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
__u32 left;
|
__u32 left;
|
||||||
__u32 sz;
|
__u32 sz;
|
||||||
BYTE __user *data_ptr;
|
BYTE __user *data_ptr;
|
||||||
@ -1816,7 +1816,7 @@ static int sendcmd_withirq(__u8 cmd,
|
|||||||
u64bit buff_dma_handle;
|
u64bit buff_dma_handle;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int return_status;
|
int return_status;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
|
|
||||||
if ((c = cmd_alloc(h, 0)) == NULL)
|
if ((c = cmd_alloc(h, 0)) == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -766,7 +766,7 @@ cciss_scsi_do_simple_cmd(ctlr_info_t *c,
|
|||||||
int direction)
|
int direction)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
|
|
||||||
cp->cmd_type = CMD_IOCTL_PEND; // treat this like an ioctl
|
cp->cmd_type = CMD_IOCTL_PEND; // treat this like an ioctl
|
||||||
cp->scsi_cmd = NULL;
|
cp->scsi_cmd = NULL;
|
||||||
|
@ -713,7 +713,7 @@ static void do_pd_request(request_queue_t * q)
|
|||||||
static int pd_special_command(struct pd_unit *disk,
|
static int pd_special_command(struct pd_unit *disk,
|
||||||
enum action (*func)(struct pd_unit *disk))
|
enum action (*func)(struct pd_unit *disk))
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
struct request rq;
|
struct request rq;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@ static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *
|
|||||||
char sense[SCSI_SENSE_BUFFERSIZE];
|
char sense[SCSI_SENSE_BUFFERSIZE];
|
||||||
request_queue_t *q;
|
request_queue_t *q;
|
||||||
struct request *rq;
|
struct request *rq;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
q = bdev_get_queue(pd->bdev);
|
q = bdev_get_queue(pd->bdev);
|
||||||
|
@ -2764,7 +2764,7 @@ static void idetape_add_stage_tail (ide_drive_t *drive,idetape_stage_t *stage)
|
|||||||
*/
|
*/
|
||||||
static void idetape_wait_for_request (ide_drive_t *drive, struct request *rq)
|
static void idetape_wait_for_request (ide_drive_t *drive, struct request *rq)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
idetape_tape_t *tape = drive->driver_data;
|
idetape_tape_t *tape = drive->driver_data;
|
||||||
|
|
||||||
#if IDETAPE_DEBUG_BUGS
|
#if IDETAPE_DEBUG_BUGS
|
||||||
|
@ -870,7 +870,7 @@ int smu_queue_i2c(struct smu_i2c_cmd *cmd)
|
|||||||
|
|
||||||
static int smu_read_datablock(u8 *dest, unsigned int addr, unsigned int len)
|
static int smu_read_datablock(u8 *dest, unsigned int addr, unsigned int len)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(comp);
|
DECLARE_COMPLETION_ONSTACK(comp);
|
||||||
unsigned int chunk;
|
unsigned int chunk;
|
||||||
struct smu_cmd cmd;
|
struct smu_cmd cmd;
|
||||||
int rc;
|
int rc;
|
||||||
@ -917,7 +917,7 @@ static int smu_read_datablock(u8 *dest, unsigned int addr, unsigned int len)
|
|||||||
|
|
||||||
static struct smu_sdbp_header *smu_create_sdb_partition(int id)
|
static struct smu_sdbp_header *smu_create_sdb_partition(int id)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(comp);
|
DECLARE_COMPLETION_ONSTACK(comp);
|
||||||
struct smu_simple_cmd cmd;
|
struct smu_simple_cmd cmd;
|
||||||
unsigned int addr, len, tlen;
|
unsigned int addr, len, tlen;
|
||||||
struct smu_sdbp_header *hdr;
|
struct smu_sdbp_header *hdr;
|
||||||
|
@ -56,7 +56,7 @@ static int smu_set_fan(int pwm, u8 id, u16 value)
|
|||||||
{
|
{
|
||||||
struct smu_cmd cmd;
|
struct smu_cmd cmd;
|
||||||
u8 buffer[16];
|
u8 buffer[16];
|
||||||
DECLARE_COMPLETION(comp);
|
DECLARE_COMPLETION_ONSTACK(comp);
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Fill SMU command structure */
|
/* Fill SMU command structure */
|
||||||
|
@ -67,7 +67,7 @@ static void smu_ads_release(struct wf_sensor *sr)
|
|||||||
static int smu_read_adc(u8 id, s32 *value)
|
static int smu_read_adc(u8 id, s32 *value)
|
||||||
{
|
{
|
||||||
struct smu_simple_cmd cmd;
|
struct smu_simple_cmd cmd;
|
||||||
DECLARE_COMPLETION(comp);
|
DECLARE_COMPLETION_ONSTACK(comp);
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
rc = smu_queue_simple(&cmd, SMU_CMD_READ_ADC, 1,
|
rc = smu_queue_simple(&cmd, SMU_CMD_READ_ADC, 1,
|
||||||
|
@ -301,7 +301,7 @@ zfcp_scsi_command_sync(struct zfcp_unit *unit, struct scsi_cmnd *scpnt,
|
|||||||
int use_timer)
|
int use_timer)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
|
|
||||||
scpnt->SCp.ptr = (void *) &wait; /* silent re-use */
|
scpnt->SCp.ptr = (void *) &wait; /* silent re-use */
|
||||||
scpnt->scsi_done = zfcp_scsi_command_sync_handler;
|
scpnt->scsi_done = zfcp_scsi_command_sync_handler;
|
||||||
|
@ -1939,7 +1939,7 @@ NCR_700_abort(struct scsi_cmnd * SCp)
|
|||||||
STATIC int
|
STATIC int
|
||||||
NCR_700_bus_reset(struct scsi_cmnd * SCp)
|
NCR_700_bus_reset(struct scsi_cmnd * SCp)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(complete);
|
DECLARE_COMPLETION_ONSTACK(complete);
|
||||||
struct NCR_700_Host_Parameters *hostdata =
|
struct NCR_700_Host_Parameters *hostdata =
|
||||||
(struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0];
|
(struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0];
|
||||||
|
|
||||||
|
@ -646,7 +646,7 @@ ahd_linux_dev_reset(struct scsi_cmnd *cmd)
|
|||||||
struct ahd_initiator_tinfo *tinfo;
|
struct ahd_initiator_tinfo *tinfo;
|
||||||
struct ahd_tmode_tstate *tstate;
|
struct ahd_tmode_tstate *tstate;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
DECLARE_COMPLETION(done);
|
DECLARE_COMPLETION_ONSTACK(done);
|
||||||
|
|
||||||
reset_scb = NULL;
|
reset_scb = NULL;
|
||||||
paused = FALSE;
|
paused = FALSE;
|
||||||
@ -2251,7 +2251,7 @@ done:
|
|||||||
if (paused)
|
if (paused)
|
||||||
ahd_unpause(ahd);
|
ahd_unpause(ahd);
|
||||||
if (wait) {
|
if (wait) {
|
||||||
DECLARE_COMPLETION(done);
|
DECLARE_COMPLETION_ONSTACK(done);
|
||||||
|
|
||||||
ahd->platform_data->eh_done = &done;
|
ahd->platform_data->eh_done = &done;
|
||||||
ahd_unlock(ahd, &flags);
|
ahd_unlock(ahd, &flags);
|
||||||
|
@ -2335,7 +2335,7 @@ done:
|
|||||||
if (paused)
|
if (paused)
|
||||||
ahc_unpause(ahc);
|
ahc_unpause(ahc);
|
||||||
if (wait) {
|
if (wait) {
|
||||||
DECLARE_COMPLETION(done);
|
DECLARE_COMPLETION_ONSTACK(done);
|
||||||
|
|
||||||
ahc->platform_data->eh_done = &done;
|
ahc->platform_data->eh_done = &done;
|
||||||
ahc_unlock(ahc, &flags);
|
ahc_unlock(ahc, &flags);
|
||||||
|
@ -724,7 +724,7 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
|
|||||||
int timeout, u32 *info)
|
int timeout, u32 *info)
|
||||||
{
|
{
|
||||||
Scsi_Cmnd *scp;
|
Scsi_Cmnd *scp;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
int rval;
|
int rval;
|
||||||
|
|
||||||
scp = kmalloc(sizeof(*scp), GFP_KERNEL);
|
scp = kmalloc(sizeof(*scp), GFP_KERNEL);
|
||||||
@ -764,7 +764,7 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
|
|||||||
{
|
{
|
||||||
Scsi_Cmnd *scp = scsi_allocate_device(sdev, 1, FALSE);
|
Scsi_Cmnd *scp = scsi_allocate_device(sdev, 1, FALSE);
|
||||||
unsigned bufflen = gdtcmd ? sizeof(gdth_cmd_str) : 0;
|
unsigned bufflen = gdtcmd ? sizeof(gdth_cmd_str) : 0;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
int rval;
|
int rval;
|
||||||
|
|
||||||
if (!scp)
|
if (!scp)
|
||||||
|
@ -813,7 +813,7 @@ qla1280_error_action(struct scsi_cmnd *cmd, enum action action)
|
|||||||
uint16_t data;
|
uint16_t data;
|
||||||
unsigned char *handle;
|
unsigned char *handle;
|
||||||
int result, i;
|
int result, i;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
struct timer_list timer;
|
struct timer_list timer;
|
||||||
|
|
||||||
ha = (struct scsi_qla_host *)(CMD_HOST(cmd)->hostdata);
|
ha = (struct scsi_qla_host *)(CMD_HOST(cmd)->hostdata);
|
||||||
@ -2406,7 +2406,7 @@ qla1280_mailbox_command(struct scsi_qla_host *ha, uint8_t mr, uint16_t *mb)
|
|||||||
uint16_t *optr, *iptr;
|
uint16_t *optr, *iptr;
|
||||||
uint16_t __iomem *mptr;
|
uint16_t __iomem *mptr;
|
||||||
uint16_t data;
|
uint16_t data;
|
||||||
DECLARE_COMPLETION(wait);
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
struct timer_list timer;
|
struct timer_list timer;
|
||||||
|
|
||||||
ENTER("qla1280_mailbox_command");
|
ENTER("qla1280_mailbox_command");
|
||||||
|
@ -342,7 +342,7 @@ fail:
|
|||||||
static ssize_t
|
static ssize_t
|
||||||
ep_io (struct ep_data *epdata, void *buf, unsigned len)
|
ep_io (struct ep_data *epdata, void *buf, unsigned len)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION (done);
|
DECLARE_COMPLETION_ONSTACK (done);
|
||||||
int value;
|
int value;
|
||||||
|
|
||||||
spin_lock_irq (&epdata->dev->lock);
|
spin_lock_irq (&epdata->dev->lock);
|
||||||
|
@ -2869,7 +2869,7 @@ cleanup0:
|
|||||||
|
|
||||||
static int __exit omap_udc_remove(struct platform_device *pdev)
|
static int __exit omap_udc_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(done);
|
DECLARE_COMPLETION_ONSTACK(done);
|
||||||
|
|
||||||
if (!udc)
|
if (!udc)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
@ -836,7 +836,7 @@ static int fork_sync_thread(void *startup)
|
|||||||
|
|
||||||
int start_sync_thread(int state, char *mcast_ifn, __u8 syncid)
|
int start_sync_thread(int state, char *mcast_ifn, __u8 syncid)
|
||||||
{
|
{
|
||||||
DECLARE_COMPLETION(startup);
|
DECLARE_COMPLETION_ONSTACK(startup);
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
if ((state == IP_VS_STATE_MASTER && sync_master_pid) ||
|
if ((state == IP_VS_STATE_MASTER && sync_master_pid) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user