提交 6e9a4738 编写于 作者: P Peter Zijlstra 提交者: Linus Torvalds

[PATCH] completions: lockdep annotate on stack completions

All on stack DECLARE_COMPLETIONs should be replaced by:
DECLARE_COMPLETION_ONSTACK
Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: NIngo Molnar <mingo@elte.hu>
Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 397d6140
...@@ -295,7 +295,7 @@ ecard_task(void * unused) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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 * ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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 @@ ahd_linux_queue_abort_cmd(struct scsi_cmnd *cmd) ...@@ -2251,7 +2251,7 @@ ahd_linux_queue_abort_cmd(struct scsi_cmnd *cmd)
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 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag) ...@@ -2335,7 +2335,7 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag)
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, ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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 @@ get_ready_ep (unsigned f_flags, struct ep_data *epdata) ...@@ -342,7 +342,7 @@ get_ready_ep (unsigned f_flags, struct ep_data *epdata)
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 @@ static int __init omap_udc_probe(struct platform_device *pdev) ...@@ -2869,7 +2869,7 @@ static int __init omap_udc_probe(struct platform_device *pdev)
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) ...@@ -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) ||
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册