diff options
Diffstat (limited to 'fs/sysfs/bin.c')
| -rw-r--r-- | fs/sysfs/bin.c | 50 | 
1 files changed, 25 insertions, 25 deletions
| diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c index a0a500af24a1..e9d293593e52 100644 --- a/fs/sysfs/bin.c +++ b/fs/sysfs/bin.c | |||
| @@ -54,14 +54,14 @@ fill_read(struct dentry *dentry, char *buffer, loff_t off, size_t count) | |||
| 54 | int rc; | 54 | int rc; | 
| 55 | 55 | ||
| 56 | /* need attr_sd for attr, its parent for kobj */ | 56 | /* need attr_sd for attr, its parent for kobj */ | 
| 57 | if (!sysfs_get_active_two(attr_sd)) | 57 | if (!sysfs_get_active(attr_sd)) | 
| 58 | return -ENODEV; | 58 | return -ENODEV; | 
| 59 | 59 | ||
| 60 | rc = -EIO; | 60 | rc = -EIO; | 
| 61 | if (attr->read) | 61 | if (attr->read) | 
| 62 | rc = attr->read(kobj, attr, buffer, off, count); | 62 | rc = attr->read(kobj, attr, buffer, off, count); | 
| 63 | 63 | ||
| 64 | sysfs_put_active_two(attr_sd); | 64 | sysfs_put_active(attr_sd); | 
| 65 | 65 | ||
| 66 | return rc; | 66 | return rc; | 
| 67 | } | 67 | } | 
| @@ -125,14 +125,14 @@ flush_write(struct dentry *dentry, char *buffer, loff_t offset, size_t count) | |||
| 125 | int rc; | 125 | int rc; | 
| 126 | 126 | ||
| 127 | /* need attr_sd for attr, its parent for kobj */ | 127 | /* need attr_sd for attr, its parent for kobj */ | 
| 128 | if (!sysfs_get_active_two(attr_sd)) | 128 | if (!sysfs_get_active(attr_sd)) | 
| 129 | return -ENODEV; | 129 | return -ENODEV; | 
| 130 | 130 | ||
| 131 | rc = -EIO; | 131 | rc = -EIO; | 
| 132 | if (attr->write) | 132 | if (attr->write) | 
| 133 | rc = attr->write(kobj, attr, buffer, offset, count); | 133 | rc = attr->write(kobj, attr, buffer, offset, count); | 
| 134 | 134 | ||
| 135 | sysfs_put_active_two(attr_sd); | 135 | sysfs_put_active(attr_sd); | 
| 136 | 136 | ||
| 137 | return rc; | 137 | return rc; | 
| 138 | } | 138 | } | 
| @@ -184,12 +184,12 @@ static void bin_vma_open(struct vm_area_struct *vma) | |||
| 184 | if (!bb->vm_ops || !bb->vm_ops->open) | 184 | if (!bb->vm_ops || !bb->vm_ops->open) | 
| 185 | return; | 185 | return; | 
| 186 | 186 | ||
| 187 | if (!sysfs_get_active_two(attr_sd)) | 187 | if (!sysfs_get_active(attr_sd)) | 
| 188 | return; | 188 | return; | 
| 189 | 189 | ||
| 190 | bb->vm_ops->open(vma); | 190 | bb->vm_ops->open(vma); | 
| 191 | 191 | ||
| 192 | sysfs_put_active_two(attr_sd); | 192 | sysfs_put_active(attr_sd); | 
| 193 | } | 193 | } | 
| 194 | 194 | ||
| 195 | static void bin_vma_close(struct vm_area_struct *vma) | 195 | static void bin_vma_close(struct vm_area_struct *vma) | 
| @@ -201,12 +201,12 @@ static void bin_vma_close(struct vm_area_struct *vma) | |||
| 201 | if (!bb->vm_ops || !bb->vm_ops->close) | 201 | if (!bb->vm_ops || !bb->vm_ops->close) | 
| 202 | return; | 202 | return; | 
| 203 | 203 | ||
| 204 | if (!sysfs_get_active_two(attr_sd)) | 204 | if (!sysfs_get_active(attr_sd)) | 
| 205 | return; | 205 | return; | 
| 206 | 206 | ||
| 207 | bb->vm_ops->close(vma); | 207 | bb->vm_ops->close(vma); | 
| 208 | 208 | ||
| 209 | sysfs_put_active_two(attr_sd); | 209 | sysfs_put_active(attr_sd); | 
| 210 | } | 210 | } | 
| 211 | 211 | ||
| 212 | static int bin_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | 212 | static int bin_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | 
| @@ -219,12 +219,12 @@ static int bin_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
| 219 | if (!bb->vm_ops || !bb->vm_ops->fault) | 219 | if (!bb->vm_ops || !bb->vm_ops->fault) | 
| 220 | return VM_FAULT_SIGBUS; | 220 | return VM_FAULT_SIGBUS; | 
| 221 | 221 | ||
| 222 | if (!sysfs_get_active_two(attr_sd)) | 222 | if (!sysfs_get_active(attr_sd)) | 
| 223 | return VM_FAULT_SIGBUS; | 223 | return VM_FAULT_SIGBUS; | 
| 224 | 224 | ||
| 225 | ret = bb->vm_ops->fault(vma, vmf); | 225 | ret = bb->vm_ops->fault(vma, vmf); | 
| 226 | 226 | ||
| 227 | sysfs_put_active_two(attr_sd); | 227 | sysfs_put_active(attr_sd); | 
| 228 | return ret; | 228 | return ret; | 
| 229 | } | 229 | } | 
| 230 | 230 | ||
| @@ -241,12 +241,12 @@ static int bin_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
| 241 | if (!bb->vm_ops->page_mkwrite) | 241 | if (!bb->vm_ops->page_mkwrite) | 
| 242 | return 0; | 242 | return 0; | 
| 243 | 243 | ||
| 244 | if (!sysfs_get_active_two(attr_sd)) | 244 | if (!sysfs_get_active(attr_sd)) | 
| 245 | return VM_FAULT_SIGBUS; | 245 | return VM_FAULT_SIGBUS; | 
| 246 | 246 | ||
| 247 | ret = bb->vm_ops->page_mkwrite(vma, vmf); | 247 | ret = bb->vm_ops->page_mkwrite(vma, vmf); | 
| 248 | 248 | ||
| 249 | sysfs_put_active_two(attr_sd); | 249 | sysfs_put_active(attr_sd); | 
| 250 | return ret; | 250 | return ret; | 
| 251 | } | 251 | } | 
| 252 | 252 | ||
| @@ -261,12 +261,12 @@ static int bin_access(struct vm_area_struct *vma, unsigned long addr, | |||
| 261 | if (!bb->vm_ops || !bb->vm_ops->access) | 261 | if (!bb->vm_ops || !bb->vm_ops->access) | 
| 262 | return -EINVAL; | 262 | return -EINVAL; | 
| 263 | 263 | ||
| 264 | if (!sysfs_get_active_two(attr_sd)) | 264 | if (!sysfs_get_active(attr_sd)) | 
| 265 | return -EINVAL; | 265 | return -EINVAL; | 
| 266 | 266 | ||
| 267 | ret = bb->vm_ops->access(vma, addr, buf, len, write); | 267 | ret = bb->vm_ops->access(vma, addr, buf, len, write); | 
| 268 | 268 | ||
| 269 | sysfs_put_active_two(attr_sd); | 269 | sysfs_put_active(attr_sd); | 
| 270 | return ret; | 270 | return ret; | 
| 271 | } | 271 | } | 
| 272 | 272 | ||
| @@ -281,12 +281,12 @@ static int bin_set_policy(struct vm_area_struct *vma, struct mempolicy *new) | |||
| 281 | if (!bb->vm_ops || !bb->vm_ops->set_policy) | 281 | if (!bb->vm_ops || !bb->vm_ops->set_policy) | 
| 282 | return 0; | 282 | return 0; | 
| 283 | 283 | ||
| 284 | if (!sysfs_get_active_two(attr_sd)) | 284 | if (!sysfs_get_active(attr_sd)) | 
| 285 | return -EINVAL; | 285 | return -EINVAL; | 
| 286 | 286 | ||
| 287 | ret = bb->vm_ops->set_policy(vma, new); | 287 | ret = bb->vm_ops->set_policy(vma, new); | 
| 288 | 288 | ||
| 289 | sysfs_put_active_two(attr_sd); | 289 | sysfs_put_active(attr_sd); | 
| 290 | return ret; | 290 | return ret; | 
| 291 | } | 291 | } | 
| 292 | 292 | ||
| @@ -301,12 +301,12 @@ static struct mempolicy *bin_get_policy(struct vm_area_struct *vma, | |||
| 301 | if (!bb->vm_ops || !bb->vm_ops->get_policy) | 301 | if (!bb->vm_ops || !bb->vm_ops->get_policy) | 
| 302 | return vma->vm_policy; | 302 | return vma->vm_policy; | 
| 303 | 303 | ||
| 304 | if (!sysfs_get_active_two(attr_sd)) | 304 | if (!sysfs_get_active(attr_sd)) | 
| 305 | return vma->vm_policy; | 305 | return vma->vm_policy; | 
| 306 | 306 | ||
| 307 | pol = bb->vm_ops->get_policy(vma, addr); | 307 | pol = bb->vm_ops->get_policy(vma, addr); | 
| 308 | 308 | ||
| 309 | sysfs_put_active_two(attr_sd); | 309 | sysfs_put_active(attr_sd); | 
| 310 | return pol; | 310 | return pol; | 
| 311 | } | 311 | } | 
| 312 | 312 | ||
| @@ -321,12 +321,12 @@ static int bin_migrate(struct vm_area_struct *vma, const nodemask_t *from, | |||
| 321 | if (!bb->vm_ops || !bb->vm_ops->migrate) | 321 | if (!bb->vm_ops || !bb->vm_ops->migrate) | 
| 322 | return 0; | 322 | return 0; | 
| 323 | 323 | ||
| 324 | if (!sysfs_get_active_two(attr_sd)) | 324 | if (!sysfs_get_active(attr_sd)) | 
| 325 | return 0; | 325 | return 0; | 
| 326 | 326 | ||
| 327 | ret = bb->vm_ops->migrate(vma, from, to, flags); | 327 | ret = bb->vm_ops->migrate(vma, from, to, flags); | 
| 328 | 328 | ||
| 329 | sysfs_put_active_two(attr_sd); | 329 | sysfs_put_active(attr_sd); | 
| 330 | return ret; | 330 | return ret; | 
| 331 | } | 331 | } | 
| 332 | #endif | 332 | #endif | 
| @@ -356,7 +356,7 @@ static int mmap(struct file *file, struct vm_area_struct *vma) | |||
| 356 | 356 | ||
| 357 | /* need attr_sd for attr, its parent for kobj */ | 357 | /* need attr_sd for attr, its parent for kobj */ | 
| 358 | rc = -ENODEV; | 358 | rc = -ENODEV; | 
| 359 | if (!sysfs_get_active_two(attr_sd)) | 359 | if (!sysfs_get_active(attr_sd)) | 
| 360 | goto out_unlock; | 360 | goto out_unlock; | 
| 361 | 361 | ||
| 362 | rc = -EINVAL; | 362 | rc = -EINVAL; | 
| @@ -384,7 +384,7 @@ static int mmap(struct file *file, struct vm_area_struct *vma) | |||
| 384 | bb->vm_ops = vma->vm_ops; | 384 | bb->vm_ops = vma->vm_ops; | 
| 385 | vma->vm_ops = &bin_vm_ops; | 385 | vma->vm_ops = &bin_vm_ops; | 
| 386 | out_put: | 386 | out_put: | 
| 387 | sysfs_put_active_two(attr_sd); | 387 | sysfs_put_active(attr_sd); | 
| 388 | out_unlock: | 388 | out_unlock: | 
| 389 | mutex_unlock(&bb->mutex); | 389 | mutex_unlock(&bb->mutex); | 
| 390 | 390 | ||
| @@ -399,7 +399,7 @@ static int open(struct inode * inode, struct file * file) | |||
| 399 | int error; | 399 | int error; | 
| 400 | 400 | ||
| 401 | /* binary file operations requires both @sd and its parent */ | 401 | /* binary file operations requires both @sd and its parent */ | 
| 402 | if (!sysfs_get_active_two(attr_sd)) | 402 | if (!sysfs_get_active(attr_sd)) | 
| 403 | return -ENODEV; | 403 | return -ENODEV; | 
| 404 | 404 | ||
| 405 | error = -EACCES; | 405 | error = -EACCES; | 
| @@ -426,11 +426,11 @@ static int open(struct inode * inode, struct file * file) | |||
| 426 | mutex_unlock(&sysfs_bin_lock); | 426 | mutex_unlock(&sysfs_bin_lock); | 
| 427 | 427 | ||
| 428 | /* open succeeded, put active references */ | 428 | /* open succeeded, put active references */ | 
| 429 | sysfs_put_active_two(attr_sd); | 429 | sysfs_put_active(attr_sd); | 
| 430 | return 0; | 430 | return 0; | 
| 431 | 431 | ||
| 432 | err_out: | 432 | err_out: | 
| 433 | sysfs_put_active_two(attr_sd); | 433 | sysfs_put_active(attr_sd); | 
| 434 | kfree(bb); | 434 | kfree(bb); | 
| 435 | return error; | 435 | return error; | 
| 436 | } | 436 | } | 
